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 Software Engineer responsible for MES system stability and enhancements at Convatec. Collaborating across teams to ensure optimal manufacturing execution and issue resolution.
Software Engineer developing and implementing modern software solutions for automation systems in Berlin. Collaborating with interdisciplinary teams to ensure the successful completion of projects.
Software Engineer developing modern software solutions for automation systems in process industry at Actemium. Collaborating in interdisciplinary teams and supporting project execution.
Enterprise Services Analyst working with GoAnywhere MFT solutions on AWS Cloud Infrastructure. Architecting complex scenarios and supporting global teams in deployment projects.
Senior FullStack Developer developing software solutions for automated network services at LSEG. Collaborating with product owners and deploying modern software engineering practices.
Operational Cyber Software Engineer developing solutions for high - assurance environments at BAE Systems. Collaborating with teams to deliver secure code and undertake emerging technologies.
Sr. Associate Software Development Engineer creating software for daily use in collaboration platforms. Involving with product development and maintaining software quality in the team.
Softwareentwickler developing innovative software solutions with a focus on workforce management and digital work environments. Collaborating closely with departments and external providers for quality and security.
Senior Software Engineer developing new games on existing Game Engine. Leading technical features and delivering quality software in a collaborative environment.
Engineer transforming organization to AI - enabled enterprise developing web applications. Building resilient systems addressing industry challenges like memory and AI collaboration.