Careers

Initiate. Innovate. Dedicate. Your next is now at Cray.
Browse Open Jobs Search Open Jobs Edit Your Profile View Submitted Applications


Job details

Requisition Number 19-0244
Title Senior Software Engineer
Location United States-Multiple Locations
Position Type Full-Time
Description
Senior Software Engineer

Who is Cray?

Our business is supercomputing. Our primary aim is understanding the problems our customers are trying to solve and developing the technologies that enable them to make the discoveries that better our world. Cray combines computation and creativity so visionaries can keep asking questions that challenge the limits of possibility. Drawing on more than 45 years of experience, Cray develops the world’s most advanced supercomputers, pushing the boundaries of performance, efficiency and scalability. Cray continues to innovate today at the convergence of data and discovery, offering a comprehensive portfolio of supercomputers, high-performance storage, data analytics and artificial intelligence solutions. 

We are proud to be an Equal Opportunity Employer including women, minorities, protected veterans, and individuals with disabilities.  CRAY Inc. is an Affirmative Action, Equal Opportunity Employer.  

Who We Need

For those who ask what if, Cray is a partner that merges computation and creativity to extend the boundaries of what you can discover.  Our greatest achievements are realized when we face what seems impossible, and that’s why we invite those who believe anything is possible to join us and to keep asking what if, why not, and what’s next.

At Cray we’re always looking way down the road … years, even decades into the future. We’re not developing products for next quarter. We’re developing products for questions our customers might not even know they have yet. That’s how high-performance computing works. So as you can imagine, we pay very close attention to what’s coming … and that includes the next generation of computer scientists and engineers. These individuals are going to be the ones shouldering an awesome responsibility in the coming decades as big data gets bigger, artificial intelligence flexes its muscles more and more, and problems grow in complexity.  

We are seeking motivated and skilled software engineer to join our team as we advance our goal of bringing HPC (High Performance Computing) to the world.   The ideal candidates will have strong technical and interpersonal skills, a deep set of hands-on experiences with both public and private cloud platforms and mission-critical production workloads, a passion for cloud-related, full-stack automation, development, and operational technologies, and an interest in the world of HPC.

Responsibilities:
•	Design and implement Cray workload managers and application launchers, which run and manage applications and jobs across thousands of compute nodes
•	Design and implement associated workload services to manage the health, configuration, and setup of HPC jobs and applications
•	Integrate the Cray workload management stack and related services with 3rd party HPC schedulers
•	Add features to and integrate Cray software with libraries like PMIx
•	Debug and diagnose issues that occur in job and application scheduling and execution
•	Analyze and improve performance of the Cray workload manager stack to achieve best in class performance for application launch
•	Improve code quality through automated testing and CI processes


Background and Experience:
 
•	Proficient C coder with a track record of delivering software products and services
•	Familiarity with CI/CD and Agile methodologies and best practices
•	Desire to dive-in and solve complex technical issues and debug problems
•	Understanding of how code and design decisions will affect service reliability, operational costs, and the end-user
•	Effective communicator that can work well with a distributed team and willingness to help out the team where needed
•	Experience with HPC

Desirable Skills:
•	Experience with distributed programming models such as MPI, shmem, or UPC.
•	Experience in automating large-scale deployments with modern tools (Ansible, Helm, etc.)
•	Desire to learn and grow by utilizing and learning new technologies and programming languages. Desire to challenge how things are done if there is a better way.
•	Understanding of containers and container orchestration technologies (Docker, Kubernetes, etc.)
•	Experience with other languages like Python, Go, or shell scripting
•	Understanding of REST based interfaces
 
*Please note that Cray does not use Google Hangouts for any interviews.  
 
As part of our standard hiring process for new employees, employment with CRAY will be contingent upon successful completion of a comprehensive background check.
Apply On-line