Research Engineer specializing in embedded systems and software assurance at Galois. Responsibilities include requirements gathering, architecture design, software implementation, and testing.
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.
Requirements
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 C, C++, and Rust programming languages
Experience with 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.
Benefits
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
Senior Engineer in Digital Engineering team developing software solutions and collaborating with teams. Involvement in software lifecycle processes and technical contributions to projects.
Software Engineer developing solutions for cross - border money movement and digital asset payments at Early Warning. Collaborating with teams to enhance global payment systems with a focus on reliability and security.
Staff Software Engineer leading design and delivery of digital asset - enabled payment platforms for Early Warning Services. Collaborating across teams to influence technical direction and ensure regulatory compliance.
Software Engineer developing software applications to support payments and digital assets. Collaborating with teams to enhance financial system capabilities through innovative technology solutions.
Senior Full - stack Engineer at Omnisend focusing on backend development for multichannel communication solutions. Collaborating with teams to ensure reliable message delivery for ecommerce brands.
Senior Mechanical Design Engineer leading high - spec mechanical design across energy and industrial projects in Dublin. Managing the full project lifecycle and mentoring engineering staff in a consultancy environment.
Software Engineer III at MedImpact creating innovative healthcare solutions through programming and analysis within the Claims Adjudication team. Collaborating to enhance the value of health care through technology.
Software Engineer responsible for developing, implementing, and supporting application components for KeyBank. Collaborates with teams to ensure system availability and performance standards.
Software Architect leading design and architecture for GenAI and agentic systems at Beam AI. Defining scalability and modularity while collaborating cross - functionally in a self - learning AI environment.
Software Developer in GIS providing technical development for GIS applications at NTI Deutschland. Collaborating with internal and external teams on innovative solutions for municipal environments.