Job DescriptionJoin our team as a Senior Principal Software Engineer in FAST Labs Engineering As a key member of our team, you will have the opportunity to work on cutting-edge software projects, collaborating with others to design, develop, and implement innovative software solutions. Your work will involve:
- Designing and evaluating complex software architectures: Contribute to the development of innovative software architectures, ensuring they meet customer requirements and are aligned with industry best practices.
- Collaborating with cross-functional teams: Work closely with senior engineers, customers, and other stakeholders to develop and implement software solutions that meet customer needs.
- Developing software applications: Design, develop, test, and integrate software applications in languages such as C++, Python, and MATLAB, utilizing various technologies such as Cloud Native Technologies (e.g., Kubernetes, Harbor, Helm) and real-time operating systems (RTOS).
- Driving agile development processes: Participate in agile development processes, contributing to the team's success and ensuring timely delivery of high-quality software solutions.
- Interfacing with hardware devices: Develop software solutions that interface with hardware devices such as FPGAs, GPUs, and embedded SoCs, utilizing protocols such as UART, I2C, SPI, and CAN.
- Applying DevSecOps and CI/CD practices: Ensure the security and integrity of software solutions by applying DevSecOps principles, Continuous Integration/Continuous Deployment (CI/CD), and automated release management.
- Utilizing containerization and cloud technologies: Develop software solutions utilizing containerization (e.g., Podman/Docker) and cloud technologies, ensuring scalability, reliability, and efficiency.
- Developing software for RF, Radar, EO/IR, Electronic Warfare, or Software Defined Radio systems: Design, develop, and test software applications for systems related to RF, Radar, EO/IR, Electronic Warfare, or Software Defined Radio, including signal processing, data analysis, and system control.
We believe that a healthy work-life balance is essential to your success and well-being. That's why we prioritize flexibility and support your needs outside of work, so you can thrive in all aspects of your life. At BAE Systems, you'll find a culture that values your contributions, fosters collaboration and innovation, and recognizes the importance of balance and well-being. Join us and discover a career that's both challenging and rewarding, with a purpose that makes a real difference.
Work EnvironmentThis role requires 100% on-site work at a BAE Systems facility due to the need for consistent, in-person collaboration and secure access to sensitive information. Occasional domestic travel may be required to support integration and test events.
Current BAE Systems employees are ineligible for sign-on bonuses.
#LI-KS1
#LI-KS1
Required Skills and Education- Active Secret Clearance
- Bachelor's Degree in computer science, computer engineering, or a related technical field
- 6+ years of professional software development
- Advanced-level experience with Object Oriented design, development practices, and implementation in C++11 (or later)
- Advanced-level experience developing for and operating in a Linux Environment
- Knowledge of software architectures, industry best practices, and emerging software technologies
- Excellent leadership, communication, and collaboration skills
- Ability to work in a fast-paced environment and adapt to changing requirements
Preferred Skills and Education- Master's Degree or PhD in computer science, computer engineering, or a related technical field
- MATLAB Experience is a plus
- Development experience with Python
- General Purpose Graphical Processing Unit (GPU) OPENCL or CUDA development experience is highly desired
- Experience in a rapid prototype environment
- Real-time, embedded, multi-threaded, low latency development and/or Linux application development
- Experience with DevSecOps, Continuous Integration/Continuous Deployment (CI/CD), or automated release management
- Experience with containerization (e.g. Podman/Docker) and developing software in containerized environments
- Experience developing applications that cover several of: distributed, multi-threaded, real time, embedded, low latency, DSP, device control, or military systems.
- Knowledge of Digital Engineering methodologies and Model-Based Systems Engineering (MBSE) practices.