What are the responsibilities and job description for the Embedded Systems Software Engineer position at Galois?
Galois tackles the hardest problems in computer science. Our mission is to assure trust in critical systems that protect the privacy and integrity of information in the real world. Core to this is the application of formal analysis techniques that allow systems to be modeled, analyzed, and mathematically proven correct to ensure that a system behaves exactly as we intend under all circumstances.
We are a community of researchers, engineers, and operations people dedicated to creating trustworthiness in critical systems in every functional area of the organization. Our organization is highly collaborative, and we pursue working from first principles, transparency, building deep trust, learning and innovating, and creating space for you to be authentically you. Our unique organizational structure enables us to adapt to the needs of the innovative projects we deliver.
We are employee-owned and aspire to provide employees with a sense of freedom to pursue passions in and out of work — whether it be opportunities to learn, career growth, a sense of community, or whatever else brings you value as a person.
Research Engineers at Galois design and develop advanced technologies for safety- and security-critical systems, networks, and applications. Engineers work in small team settings and must successfully interact with clients, partners, and other employees in a highly cooperative, collaborative, and intellectually challenging environment.
Our research engineers work in small teams and successfully interact with clients, partners, and other employees in a highly collaborative environment. We’re looking for people who can invent, learn, think, and inspire.
For more on our organizational structure, visit Life at Galois.
About This RoleWe are currently seeking researchers/engineers with embedded systems and software assurance expertise to perform research on embedded systems. Software assurance is pivotal in fulfilling our mission to make critical systems trustworthy.
ResponsibilitiesAs a Research Engineer, you will have the following responsibilities:
- Requirements gathering: Engaging the client in a series of discussions, where each iteration refines the needs of the client and leads to suggestions for means to meet those needs.
- Architecture and design: constructing high-level architectural descriptions of systems, and constructing deeper designs by fleshing out architecture prototypes. Architectures must be designed with assurance in mind, determining where and how formal methods are to be applied.
- Implementation: extending design prototypes through to a finished product, with care taken to ensure robustness and ease of use.
- Software Assurance: use mechanical reasoning tools and techniques such as static analysis, property-based testing, bounded model-checking, or symbolic execution to demonstrate or analyze desired security and correctness properties of software systems.
- Testing and validation: constructing and regularly conducting system, unit, and regression tests, as well as conducting semi-formal validation and verification.
- Technology research and development: conducting speculative research and development of cutting-edge technology, and incorporating that technology in product prototypes.
- Technical infrastructure development: developing (designing, implementing, and maintaining) tools to be used within Galois, and developing library code to be shared among projects.
- Education - Minimum of a BS in computer science, electrical engineering, or mathematics.
- Required Technical Expertise
- Experience building highly performant and trustworthy cyber-physical software for mission-critical applications
- Experience with a systems programming language such as C, C , and Rust
- Experience with, or willing to learn, advanced software analysis tools based on symbolic execution (e.g., Kani, Frama-C, Verus, or Astree)
- Experience developing, testing, and operationalizing capabilities in integrated (SWIL/HWIL) lab environments
- Ability to work in a small team to rapidly prototype and operationalize new features and capabilities
- Eagerness to learn new tools and techniques emerging from the R&D community
- Desired Technical Expertise
- Experience developing control algorithms in MATLAB/simulink or Ansys SCADE
- In-depth understanding of formal verification principles, methods, and relevant standard industry practices
- Required General Skills:
- Must work well with customers, including building rapport, identifying needs, and communicating with strong written, verbal, and presentation skills.
- Must be highly motivated and able to self-manage deadlines and quality goals
This role requires the ability to work in-person from one of Galois' office locations in Arlington, VA, Dayton, OH, Minneapolis, MN, or Portland, OR.
Security and Citizenship RequirementThe employee must hold and retain a Secret security clearance.
The candidate must not require a U.S. government export license to authorize access to export-controlled technology and software required to perform this role.
BenefitsWe offer a robust benefits package to provide for your and your family’s well-being, including:
- Employee Stock Ownership Plan (ESOP)
- 401(k) retirement plan with 5% employer match and immediate vesting
- Fully paid medical insurance plans, and dental and vision reimbursement plan
- Health Savings Account (HSA) with generous employer contributions
- Mental health and well-being support through our employee assistance program
- 5 weeks of paid time off and 9 days of paid company holidays each year
- 16 weeks of fully paid parental leave (available for birth, adoption, and fostering)
- 1 week of fully paid “Blue Sky” innovation time each year to pursue your interests
For more information on our benefits, visit Careers at Galois.
CompensationCompensation is based on the value of your results, not your value as an employee or person. The compensation process, individual salaries, and criteria for salary changes are transparent to the entire company.
For more information about our forward-looking and transparent approach to pay, visit Compensation.
Equal Employment OpportunityGalois is an Equal Opportunity Employer and does not discriminate in employment opportunities or practices based on race, ethnicity, national origin, ancestry, color, sex, gender identity or expression, sexual orientation, marital or parental status, pregnancy or childbirth, disability, age, religion, creed, genetic information, veteran status, or any other characteristic protected by applicable federal, state, or local law. We encourage and respect different viewpoints and experiences as being essential to the process of innovation. We strive to acquire, grow, and maintain a diverse and inclusive workplace that applies principles and standards equitably while supporting the needs and accommodations of the individual employee.
Consistent with the Americans with Disabilities Act (ADA) and federal and state laws, it is the policy of Galois, Inc. to provide reasonable accommodation when requested by a qualified applicant or employee with a disability, unless such accommodation would cause an undue hardship. If you require reasonable accommodation in completing the employment application, interviewing, completing any pre-employment testing, or otherwise participating in the employee selection process, please contact peopleoperations@galois.com.