Job DescriptionThe Software and Ground Solutions group at BAE Systems Space & ion Systems (SMS) is looking to expand our team with a talented and energetic software engineer focused on delivering high-quality, embedded satellite software and associated test infrastructure. This position supports a portfolio of software programs. Technology areas include software development, CI/CD, Containerization, C/C++, Rust, Python, Ruby and Embedded Linux.
What You'll Do:- Write and test embedded software for satellite, airborne, or ground systems.
- Perform full software life cycle functions including requirements, architecture, design, code, test, integration, documentation, and support.
- Maintain a regular and predictable work schedule.
- Establish and maintain effective working relationships within the department, the Strategic Business Units, Strategic Capabilities Units and the Company. Interact appropriately with others in order to maintain a positive and productive work environment.
- Perform other duties as necessary.
On-Site Work Environment: This position requires regular in-person engagement by working
on-site five days each normally scheduled week in the primary work location. Travel and local commute between company campuses and other possible non-company locations may be required.
Working Conditions: - Work is performed in an office, laboratory, production floor, or cleanroom, outdoors or remote research environment.
- May occasionally work in production work centers where use of protective equipment and gear is required.
- May access other facilities in various weather conditions.
Required Skills and Education- BS degree or higher in Engineering or a related technical field is required plus 2 or more years related experience
- Each higher-level degree, i.e., master's degree and/or Ph.D., may substitute for two years of experience. Degree must be from a university, college, or school which is accredited by an agency recognized by the US Secretary of Education, US Department of Education.
- Experience in one or more of the following technology areas:
- Rust.
- C/C++.
- Python.
- Embedded Linux.
- Interaction with FPGAs and understanding system level interfaces.
- Messaging (MQTT, ZeroMQ).
- Embedded Linux distribution configuration (PetaLinux, Yocto).
- Device tree development.
- Experience in designing, developing, and testing software for systems using the languages above.
- Understanding of and experience with deployment and operation of applications on Linux systems.
- Experience with object-oriented design.
- Experience generating UML Class, Sequence, and Activity diagrams.
- Experience with formal software development practices including the use of software configuration management, coding standards, and style guides.
#LI-AP1
A security clearance or access with Polygraph is not required to be eligible for this position. However, the applicant must be willing and eligible for submission, depending on program requirements, after an offer is accepted and must be able to maintain the applicable clearance/access.
Preferred Skills and Education- Experience with high-fidelity vehicle or payload simulation.
- Experience with requirements derivation.
- A working knowledge of Agile lifecycles and activities in each phase.
- Data Serialization (Protobuf, FlatBuffers).
- Experience in developing test, simulation, or data processing applications in high-level languages such as Python, Ruby, or MATLAB.
- Experience using Cameo or PlantUML for Design.
- DevSecOps.
- Proficiency in Linux system internals and embedded Linux development.
- Hands-on experience with the Yocto Project and OpenEmbedded.
- Testing frameworks (gtest, ctest, test-driven development, hardware-in-the-loop).
This position will be posted for at least 5 calendar days. The posting will remain active until the position is filled, or a qualified pool of candidates is identified.
Multiple positions may be available on this opening.