About the job
We're seeking a skilled Senior Software Developer to join the analytics platform team at SAS. In this role, you will work on our core codebase, primarily in C, focusing on Compute Core and Compute Server functionalities. You will be a leader in developing the next generation of our analytic engine, helping to shape the future of SAS analytics. You will collaborate with an international team of experienced developers, bringing diverse perspectives to our projects. You will also, develop and maintain enterprise-class software used by organizations around the world. If you're passionate about software development and interested in advancing the state of analytics technology, this role might be for you!
You will:
- Program in C and Golang in a Linux and/or Windows environment.
- Design and develop high quality, testable and scalable software solutions within established timelines.
- Be aware of and adhere to R&D best practices and processes.
- Actively involve other project stakeholders (e.g., managers, developers, user interface and visual designers, product managers) to ensure implementation satisfies functional requirements and is consistent with established R&D standards.
- Participate in project scoping and scheduling; track progress of individual tasks and alerts stakeholders of issues blocking or preventing completion of task
- Ensure the quality of the code you write through the development of automated tests (unit, performance, user interface).
- Conduct code reviews to ensure integrity and cross-product consistency.
- Work closely with testing by providing thorough reviews of the test plan and communicate when updates to the plan should be made to cover code changes related to enhancements, redesigns and/or bug fixes.
- Maintain accountability for the entire life cycle of the code including support for both internal and external consumers.
- In collaboration with technical writers, authors appropriate level of design and technical documentation that satisfies both internal and external consumers.
- Work with multiple operating systems and anticipate technical anomalies and enhancements for various environments
- Perform testing of software; verifies, tracks, and fixes "bugs"; modifies software design, as necessary.
- Determines database compatibility and develops compatible code as appropriate.
- Prepares feasibility studies and designs tests to determine operating characteristics of software as required
What we’re looking for
- You’re curious, passionate, authentic, and accountable. These are our values and influence everything we do
- You have a bachelor’s degree in Computer Science or a related quantitative field
- You have 7 or more years of experience contributing across the full Software Development Life Cycle
- You’re well-versed in a broad set of languages such as C, C++, TK, Go, Java, React, JavaScript, Python
- You have experience with supporting tools such as Docker, Jenkins, Git, Gerrit, Hibernate, and Kubernetes
- You have experience with both Windows and Linux.
- You have experience contributing at multiple levels of the software stack.
- You approach every task with a quality-first mindset
Additional preferences (not required):
- You have experience with open-source container-orchestration systems like Kubernetes
- You have experience with cloud architectures and at least one major public cloud provider.
- You have experience with agile software development.
Other knowledge, skills, and abilities
- Exceptional aptitude for problem solving and debugging of complex multitiered software applications.
- Ability to pivot quickly and seamlessly as projects and business needs dictate.
- Detail oriented and well-organized with a strong ability to prioritize, plan, and execute tasks.
- Highly skilled in written and verbal communications.
- Comfortable working in a distributed, team-based environment