Embedded Software Engineer
Role details
Job location
Tech stack
Job description
This Embedded Software Engineer is responsible for designing, developing, testing, debugging, and maintaining software for embedded devices and systems while ensuring compliance with industry standards, customer requirements, safety regulations, and applicable guidelines. The role involves reviewing and analyzing customer requirements and translating them into effective software designs for embedded applications. The engineer writes and optimizes software code for specialized hardware platforms, integrates embedded software with hardware components, and continuously analyzes system performance to improve efficiency, reliability, and stability. Additionally, the individual conducts software testing and debugging activities, stays current with emerging technologies, development tools, frameworks, and regulatory changes, and incorporates relevant advancements into product development. The position also includes monitoring and evaluating the performance of internal and supplier software teams to ensure compliance with project plans, quality expectations, and industry standards, while supporting embedded software project management activities throughout the product lifecycle.
Requirements
Ability to obtain a clearanc Bachelor's Degree in an engineering discipline experience or 8 years' related relevant work experience Experience in ADA, C/C++, Python, Java, and equivalent object oriented languages or scripting languages Experience in Linux, Real-time operating systems, Windows Experience in Compilers, debuggers, bus or logic analyzers, and other lab / test equipment Experience in Embedded systems, requirements and traceability, software troubleshooting and root cause analysis
Nice to Have 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 Knowledge of various engineering disciplines such as electrical, mechanical, and systems. The ability to communicate with technical personnel from multiple skill areas and functions to evaluate technical information and issues impacting design, production, and support of products, services, or other deliverables. 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. Knowledge of how to derive and allocate requirements (e.g., system, sub-system, software) and show traceability throughout the product lifecycle. Knowledge of software architecture and design methodologies. Ability to synthesize software architectures and designs that meet requirements, characteristics and constraints. Knowledge of specification format requirements, guidelines, and change control processes. Understanding of relationship between specifications/standards and aircraft/product certification systems. Knowledge of real-time target environments, including processor and network architectures, communication protocols, simulation frameworks and electrical interfaces. Ability to build, integrate and troubleshoot software components
Benefits & conditions
Benefit packages for this role will start on the 1st day of employment and include medical, dental, and vision insurance, as well as HSA, FSA, and DCFSA account options, and 401k retirement account access with employer matching. Employees in this role are also entitled to paid sick leave and/or other paid time off as provided by applicable law.