SAS Institute Cary HQ , NC 27710
Posted 4 weeks ago
Nice to meet you!
We're a leader in data and AI. Through our software and services, we inspire customers around the world to transform data into intelligence - and questions into answers.We're also a debt-free multi-billion-dollar organization on our path to IPO-readiness. If you're looking for a dynamic, fulfilling career coupled with flexibility and world-class employee experience, you'll find it here.
About the job
We are looking for passionate, driven, and team-oriented senior software developer to help push existing and emerging SAS analytics to new heights and frontiers in terms of performance and quality. We are a small passionate team that, at our heart, live for fast-paced problem-solving in any domain but are centered in SAS's advanced analytics division. Granted the freedom to move horizontally across the analytics domain, we work closely with diverse analytic teams, always learning and growing. What makes our team unique is our ability to wear multiple genre hats at the same time. In a sense, we are "tri-lingual," conversant, and comfortable working side-by-side with experts in hardware, software, and analytics simultaneously. This helps us partner with different analytics teams, applying an array of modern performance monitoring tools to better understand and find computational and performance bottlenecks.
Working directly with the analytic routines authors and/or owners, we can quickly learn the underlying mathematics for targeted regions of the algorithm. As a team, we next do deep internal and external searches to better understand what is happening with respect to the targeted hardware device as well as understand existing "work-arounds" used in the community. We then rapidly prototype and stress test new analytic sub-routines that can mitigate, if not eliminate, targeted performance issues, freeing partner teams to work at a higher level. We often work in the murky gap between compilers' current intelligence and the developer's true intention. The scope of what we do can vary on the needs of SAS, sometimes strategically touching only a few key subroutines/lines of code while at other times creating the entire analytic routine itself. Because we must move quickly horizontally across SAS analytic teams, we seek to minimize the legacy code we own ourselves, passing off encoded solutions to other teams who are more vertically oriented. Thus, we strongly adhere to the maxim "fall in love with the problem, not any one solution, including your own."
As a Senior Software Developer, you will:
Work closely with diverse analytics teams at SAS
Serve as tip of the spear on important proof of concept projects involving new technologies
Tackle challenging problems that many feel are unsolvable or claim have been attempted before without success
Think outside of the box when solving problems, looking for ways to "slice" rather than "untie" the proverbial Gordian knot.
Develop high-speed analytic sub-routines in C/C++/Python.
Become intimately familiar with available profiling and memory monitoring tools in a distributed, threaded, and hybrid computing world.
Work on revising and/or implementing Numa-aware CPU, GPU, and QPU adaptive hybrid algorithms in a distributed environment.
Quickly come to speed on target elements of diverse analytical routines in terms of underlying mathematics, code realization, and corresponding underlying execution on hardware.
Present, publish, and patent whenever possible and beneficial to SAS
Perform deep archeological-like dives in internal and external software implementations to understand and improve targeted analytics, reverse engineering, and communicating the mathematical algorithms being executed to brainstorm new ways to resolve known problems and bottlenecks
Work on algorithms that may be computationally heavy from working with large amounts of distributed data and/or the result of NP-hard computations where the data involved may be relatively small in scale
Work on improving algorithms related to machine learning, statistics, and optimization.
Collaborate with other analytic teams to help build and transform research projects or ideas into production-level product features.
Ensures all applicable security policies and processes are followed to support the organization's secure software development goals.
Required Qualifications
Bachelor's degree in Computer Science, Engineering, Applied Mathematics or a related discipline
8+ years of software development experience
Ability to quickly read and understand other teams' code regardless of style
Ability to quickly read, understand, and parse out main points of journal articles
Deep understanding of linear algebra in relation to analytics
Experience writing performant analytic routines in C/C++
Experience writing performant analytics routines in Python
Experience leveraging and interfacing with libraries such as BLAS and LAPACK
Experience writing NUMA-aware threaded CPU software
Experience developing algorithms to exploit GPU
Experience developing in a distributed environment
Experience with popular profiling tools such as VTune
Preferred Qualifications
Knowledge and experience in Quantum Computing with an emphasis on optimization algorithms
Experienced with automated performance benchmarking strategies
A high-level understanding of most machine learning algorithms with a deep knowledge of a few
Background in logistic regression, support vector machines, decision trees, gradient boosting, random forest, PCA, etc.
Background in mixed-integer optimization
Background in large-scale nonlinear optimization
Background in popular machine learning optimization algorithms
Understanding of derivative-free optimization algorithms, strengths and limitations
Experience serving as or aiding a system administration
World-class benefits
Highlights include...
Diverse and Inclusive
At SAS, it's not about fitting into our culture - it's about adding to it. We believe our people make the difference. Our diverse workforce brings together unique talents and inspires teams to create amazing software that reflects the diversity of our users and customers. Our commitment to diversity is a priority to our leadership, all the way up to the top; and it's essential to who we are. To put it plainly: you are welcome here.
Additional Information
To qualify, applicants must be legally authorized to work in the United States, and should not require, now or in the future, sponsorship for employment visa status. SAS is an equal opportunity employer. All qualified applicants are considered for employment without regard to race, color, religion, gender, sexual orientation, gender identity, age, national origin, disability status, protected veteran status or any other characteristic protected by law. Read more: Know Your Rights. Also view the Pay Transparency notice.
Resumes may be considered in the order they are received. SAS employees performing certain job functions may require access to technology or software subject to export or import regulations. To comply with these regulations, SAS may obtain nationality or citizenship information from applicants for employment. SAS collects this information solely for trade law compliance purposes and does not use it to discriminate unfairly in the hiring process.
SAS Institute