BAE Systems is seeking to enhance its digital strategy and uphold its architectural tenets by hiring a Senior Software Engineer to design, develop, and maintain software applications that support these objectives.
Requirements
- 5+ years of experience in software development (C-Sharp, python preferred), with a focus on software architecture and integration
- Strong understanding of digital strategy and the fundamental components that make it up, including people, technology, and distinct properties of each component
- Excellent problem-solving skills, with the ability to think proactively and develop automated, centralized, and systematic solutions
- Strong understanding of software design patterns and principles, with experience in designing and developing modular software architectures
- Experience with automated testing and validation frameworks such as Pytest and Unittest
- Experience with C-Sharp
- Experience with Python libraries and frameworks such as PyVISA, PySerial, and Scapy
Responsibilities
- Design, develop, and test Python applications that integrate with BAE's existing infrastructure and modern commercial practices, with a focus on proactive, automated, centralized, and systematic solutions
- Architecting, designing, analyzing, developing, and maintaining (typically in C-Sharp, Python, and/or NI TestStand) test instrument driver abstraction and common test utility software
- Implement Model Based Engineering on projects through standardized project requirements definition and system modeling
- Develop and maintain software libraries and frameworks that support modular software architecture and integration with existing infrastructure, with a focus on 5S principles (sort, set in order, shine, standardize, sustain)
- Troubleshoot and debug issues related to software integration and modular architecture, with a proactive approach to identifying and resolving problems
- Develop and implement automated testing and validation procedures for software integration and modular architecture, with a focus on repeatability and reliability
- Participate in code reviews and ensure adherence to coding standards and best practices, with a focus on systematic and holistic approaches to software development
Other
- Collaborate with cross-functional teams to identify opportunities for digital transformation and develop solutions that enhance people's abilities, while ensuring repeatability, reliability, and sustainability
- Collaborate with junior engineers to mentor and guide them in modular software architecture development, with a focus on the digital strategy and architecture tenets
- Stay up-to-date with industry trends and emerging technologies in software architecture and integration, with a focus on identifying opportunities for digital transformation and innovation
- Strong communication and collaboration skills, with the ability to work effectively with cross-functional teams
- A deep understanding of and commitment to the architecture tenets of proactive, automation, centralization, and systematic approaches to software development