JOB DESCRIPTION
LI-AP1
The Software and Ground Solutions group at BAE Systems Inc Space and Mission Systems 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, and Ruby.
The Engineering, Science and Analysis (ESA) Strategic Capabilities Unit comprises the technical talent and organizational leadership that enables the successful delivery of high-impact discriminating technologies for our customers’ missions. Our collaborative, cross-functional teams are committed to innovation, integrity, continual learning and strong execution.
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.
- Work collaboratively in a team environment with both internal and external customers to maintain a positive and productive work environment.
- 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 EDUCATION, EXPERIENCE, & SKILLS
- BS degree or higher in Engineering or a related technical field is required. 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.
- Each higher-level degree, i.e., Master’s Degree or Ph.D., may substitute for two years of related experience. Related technical experience may be considered in lieu of education. 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.
- Ability to obtain security clearance required
- Experience in one or more of the following technology areas:
- Rust
- C/C++
- Python
- Embedded Linux
- Experience in designing, developing, and testing software for systems the languages above
- Understanding of and experience with deployment and operation of applications on Linux systems
- Experience with object-oriented design
- Experience with formal software development practices including the use of software configuration management, coding standards, and style guides
PREFERRED EDUCATION, EXPERIENCE, & SKILLS
- Experience with requirements derivation
- Experience generating UML Class, Sequence, and Activity diagrams
- Embedded Linux distribution configuration (PetaLinux, Yocto)
- Data Serialization (Protobuf, FlatBuffers)
- Messaging (MQTT, ZeroMQ)
- Interaction with FPGAs and understanding system level interfaces
- Device tree development
- 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
- Testing frameworks (gtest, ctest, test-driven development, hardware-in-the-loop)
- A working knowledge of Agile lifecycles and activities in each phase