Associate Software Engineer–Hardware Emulation (Virtual)
The Boeing Company is currently seeking an Associate Software Engineer–Hardware Emulation (Virtual) to support our Emulation team located in Berkeley, Missouri. This position will focus on supporting the Enterprise Software Verticals (ESV) organization.
The Boeing Emulation Team is currently seeking an Associate Hardware Emulation Engineer. This team is responsible for developing software models that emulate the behavior and functionality of hardware components and systems, providing an all-software test and integration environment for various Boeing projects across Commercial Airplanes, Defense and Space platforms, training devices, and autonomous platforms.
In this role, you will leverage your experience and technical skills to lead the architecture and design of emulation solutions that meet the rigorous demands of our diverse projects. A successful candidate will collaborate with the Software Enterprise to embrace software best practices, standards, and initiatives, positioning the flight simulation team for efficient, effective, and high-quality execution. You will work closely with the FABRIC Boeing team, contributing to innovative solutions that enhance our emulation capabilities and streamline the integration of software and hardware.
Additionally, you will tackle reverse engineering challenges to discover solutions for hosting software in emulated environments. Your contributions will be vital in ensuring that our emulation tools not only meet current project requirements but also adapt to future technological advancements. Hands-on experience with virtualization technologies such as KVM and QEMU will be essential, as will familiarity with software development practices in GitLab. Understanding ARM, PowerPC, or x86 microprocessor architectures, along with common avionics data buses and interfaces, will further enhance your ability to deliver effective emulation solutions. Familiarity with Field Programmable Gate Arrays (FPGAs) and hardware description languages (HDL) will also be beneficial in this role.
This position has been identified as a virtual opportunity and will not require the selected candidate to relocate.
Position Responsibilities:
- Supports the design, development, test, and integration of software models to emulate the behavior and functionality of hardware components or systems to provide an all-software test and integration environment.
- Partners with hardware engineers by contributing to the identification and review of requirements and specifications for the hardware being emulated.
- Supports the development, automation, test, integration, and administration of emulation strategies and technologies.
- Supports the development of verification plans, test procedures and test environments, executing the test procedures and documenting test results for emulation technologies.
- Supports collecting and analyzing in-use product data to design new or enhance existing products.
- Contributes to the identification, debugging, and resolution of issues to ensure the reliability and efficiency of software products.
- Supports advising on software domains related to emulation technologies.
- Supports creating and updating policies, practices and processes for emulation and virtualized resource management.
- Supports implementing current and emerging technologies, tools, frameworks and changes in regulations relevant to hardware emulation.
- Supports hardware emulation project management activities.
Basic Qualifications (Required Skills/Experience):
- Ability to obtain Secret U.S. Secret clearance, final post-start
- 2+ years of experience in testing or programming software written in C or C++
- 2+ years of experience in real-time, near real-time, or embedded systems
- 2+ years of experience with release tools (Azure DevOps, Artifactory, Gitlab, Maven), configuration management, monitoring, virtualization and containerization
- 2+ years of experience with mission/safety-critical software development
Preferred Qualifications (Desired Skills/Experience):
- Bachelor of Science degree from an accredited course of study in engineering, engineering technology (includes manufacturing engineering technology), chemistry, physics, mathematics, data science, or computer science
- Skill and ability to: collect, organize, synthesize, and analyze data; summarize findings; develop conclusions and recommendations from appropriate data sources.
- Ability to comprehend and describe the structure of a computer system made from multiple component parts, so that it can develop, fix networks and platforms, configure software, use different programming languages and troubleshoot hardware as necessary.
- Knowledge to design, develop, test and debug software programs without a user interface (UI) that will manage hardware components or peripherals attached to a computer. Knowledge of platform's hardware, bus interfaces used by hardware to communicate with host and location of device driver software. Knowledge to write kernel mode driver, initialize software and control hardware
- Knowledge of programming languages (e.g., C#, Java, Java 2 Enterprise and Mobile Editions (J2EE, J2ME), C++, Visual Basic, C, Assembly, Ladder Logic, Numerical Control (NC) Programming, Matlab). Knowledge of communications, networking, and protocols (e.g., Transport Control Protocol/Internet Protocol (TCP/IP), File Transfer Protocol (FTP), Extensible Mark-up Language (XML), Wireless Access Protocol (WAP)). Knowledge of computing equipment and its operating systems (e.g., Windows, Unix, Linux). Knowledge of software development and testing tools (e.g., editors, compilers, linkers, desktop simulations, configuration management tools, requirements management tools) capability and usage. Ability to apply knowledge of database engines to the design of databases and reporting structures. Ability to integrate hardware and software components into a functional system. Knowledge of software testing and usability theory. Knowledge of testing, usability practices. Ability to write and execute test scripts and perform usability analyses.
- Knowledge of operating system concepts, such as processes, threads, synchronization, memory management, file systems, and networking. Knowledge of the hardware architecture, such as the CPU, memory, buses, devices, and interrupts.
- Knowledge of domains, characteristics, constraints and products that require real-time software and influence architecture, requirements, interfaces, designs, and integration/test approaches. Real-time domain examples include control systems, human interfaces and signal processing. Examples of characteristics and constraints that impact real-time software include hardware/software timing, sizing, bandwidth, optimization and synchronization. Examples of products include aircraft, missiles, airborne/shipboard/space systems/ground-based operational systems and real-time support systems such as simulators and training systems.
- Ability to design and develop software testing processes for different units, modules or components of a software application as a combined and integrated entity. It includes deep knowledge of integration-testing tools.
- Knowledge of System Reverse Engineering, which includes deep understanding in debugging and disassembling, and code analysis. Ability to follow a systematic and iterative process that considers planning, collecting, analyzing, testing, and documenting reverse engineering findings.
- Knowledge of virtualization and extensive experience designing, developing, implementing and managing virtual environments. Knowledge of systematic approaches to drive virtualization service improvement. Ability to create a virtual machine using hardware emulations of computer systems.
Travel: 10%
Drug Free Workplace: Boeing is a Drug Free Workplace (DFW) where post offer applicants and employees are subject to testing for marijuana, cocaine, opioids, amphetamines, PCP, and alcohol when criteria is met as outlined in our policies.
CodeVue Coding Challenge: To be considered for this position you will be required to complete a technical assessment as part of the selection process. Failure to complete the assessment will remove you from consideration.
Pay & Benefits: At Boeing, we strive to deliver a Total Rewards package that will attract, engage and retain the top talent. Elements of the Total Rewards package include competitive base pay and variable compensation opportunities.
The Boeing Company also provides eligible employees with an opportunity to enroll in a variety of benefit programs, generally including health insurance, flexible spending accounts, health savings accounts, retirement savings plans, life and disability insurance programs, and a number of programs that provide for both paid and unpaid time away from work.
The specific programs and options available to any given employee may vary depending on eligibility factors such as geographic location, date of hire, and the applicability of collective bargaining agreements.
Pay is based upon candidate experience and qualifications, as well as market and business considerations. Summary pay range for Associate Level: $90,100 - $121,900
Language Requirements: Not Applicable
Education: Not Applicable
Relocation: Relocation assistance is not a negotiable benefit for this position.
Export Control Requirement: This position must meet export control compliance requirements. To meet export control compliance requirements, a "U.S. Person" as defined by 22 C.F.R. §120.15 is required. "U.S. Person" includes U.S. Citizen, lawful permanent resident, refugee, or asylee.
Safety Sensitive: This is not a Safety Sensitive Position.
Security Clearance: This