Starship is SpaceX's next generation launch platform that will take humans to the Moon, Mars, and beyond. It is designed to be cost-effective, mass manufacturable, and rapidly reusable. As a Software Engineer on the Design Software team, you will be responsible for building and maintaining software used by our engineers to aid in the creation, analysis, and distribution of design data. This includes mesh processing, 3D graphics rendering, flight simulations, and wearables (iPad/iPhone/etc.) applications. This is a high-autonomy role that will require building close relationships with engineering and technical staff to understand issues, and coming up with software solutions interfacing with external APIs or hardware. We are looking for people who like to own a problem from start to finish in a high-responsibility and low-micromanagement environment!
RESPONSIBILITIES:
Develop highly reliable software solutions that are used across SpaceX
Create new applications that improve how SpaceX operates
Build prototypes to prove out key design concepts and quantify technical constraints
Own all aspects of software engineering and product development
Deep dive into your users' problems to find and create efficient solutions
Bring your voice to the table in team collaborations on architecture, design, and code reviews
Integrate electronics design software to manufacturing equipment
BASIC QUALIFICATIONS:
Bachelor's degree in computer science, engineering, math, or scientific discipline; OR 2+ years of professional experience building software in lieu of a degree
1+ years of experience in full stack development
PREFERRED SKILLS AND EXPERIENCE:
Programming experience in Python, C#.NET, Go, Scala, Java, or similar object-oriented language
1+ years of rigorous experience building single page web applications
Experience with version control, continuous integration, and continuous delivery concepts
Expertise in designing software systems
Deep understanding of testing, continuous integration, build, deployment & monitoring
Expertise in profiling and improving application performance
Experience with build systems (Make, Bazel/Pants/Buck, Gradle) and package management tools (pip, npm)
Experience working with in-stream data processing using Apache Kafka, RabbitMQ, ActiveMQ, or similar technologies
Production experience with Docker and Kubernetes
Front-end experience in Angular, React, or similar JavaScript framework
Database experience with PostgreSQL, SQL Server, or similar database technologies
Graph experience with Neo4j or similar technologies
3D Graphics experience with three.js, OpenGL, Vulkan, Unreal Engine, or other similar frameworks