• Software Engineer, Distributed Systems

    Job Locations US-WA-Kent
    Job ID
    2919
  • Overview

     

    As part of a small, passionate and accomplished team of experts, you will design and build software that launches rockets! Design systems that track millions of physical parts and complex manufacturing activities in remote locations and build systems that process massive amounts of data and engineering tools that enable rapid design and iteration. We are seeking an experienced software engineer with expertise in one or more of these areas: 

    • Experience with complex configuration management systems involving design and implementation of package management systems, versioning and change history for complex software systems. Ideal experience will include design of configuration management and versioning of hardware engineering and bill of materials (BOM).
    • Experience designing and implementing build and deployment systems for complex distributed systems software. 
    • Experience designing data stores that manage mission-critical or life-critical data. 
    • Experience applying control theory and queue theory to software that load balances work. This may include distributed systems request routing and queuing. Ideal experience includes design of software systems that manage and load balance real-world work for inventory movement logistics, job dispatching to factory machines or managing the work of people.
    • Experience designing and implementing software systems that rely on analysis of complex graph data structures. Experience designing for high-transaction rates against complex graph data structures.

    As a software engineer, you can expect to build software in the following areas:

    • Complex databases utilizing MySQL, MongoDB and Neo4J
    • Distributed systems including microservice APIs, distributed-system transactions, workflows, and asynchronous messaging systems.
    • Frontend development in Javascript and CSS using frameworks such as AngularJS, Node.js

    We seek team members of all backgrounds who are passionate about space and who have a strong desire to serve on a team that is the backbone of the company. We value people who are passionate about learning new things. This position will directly impact the history of space exploration and will require your dedicated commitment and detailed attention towards safe and repeatable spaceflight.

    Responsibilities

    • Design, code, test and deploy new features and systems
    • Design scalable and reliable distributed systems and iterate based on operational metrics
    • Develop in an agile team including building consensus on designs and participating in code reviews
    • Integrate custom software with off-the-shelf systems using REST APIs, queues, and monitoring
    • Think outside the box. Challenge why things are done a certain way and figure out ways to things better.

    Qualifications

    • Minimum of a B.S. degree in computer science, computer engineering, physics, or other major requiring engineering core courses
    • Minimum of 5 years of experience developing distributed systems
    • Strong experience in Java and the surrounding ecosystem
    • Experience with modern full-stack web development, from back-end to front-end
    • Experience designing both relational and non-relational databases
    • A demonstrated ability to develop complex end-to-end software
    • The ability to quickly absorb information in an unfamiliar domain and translate it into software
    • A self-driven nature with the ability to seek out requirements and propose solutions with minimal direction
    • Must be a U.S. citizen or national, U.S. permanent resident (current Green Card holder), or lawfully admitted into the U.S. as a refugee or granted asylum.

    Options

    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share on your newsfeed