Job Summary:
Thank you for your interest in BAE Systems! Are you a Software Engineer with 2+ years of experience looking for the next step to grow your career? The successful candidate will be responsible for designing, developing, and maintaining software applications that support the team's mission and objectives, with a focus on the digital strategy and upholding the tenets of the team. The ideal candidate will have a deep understanding of the fundamental components of a digital strategy, including the importance of people, technology, and the distinct properties of each component.
When you become a member of our team, you will work across multiple disciplines and collaborate with Systems, Hardware, Software, and Operations Engineers to impact all phases of the Product Development Lifecycle. At BAE Systems, we promote a strong, collaborative culture and provide our employees with the tools, skills and training they need to succeed. We are all about trust, camaraderie and a shared ambition to lead the world in defense technologies and national security services. We offer a flexible work environment and 9/80 work schedule. Our company is part of the community and driven to improve our future and protect our freedom.
The successful candidate will be responsible for designing, developing, and maintaining software applications that support the team's mission and objectives, with a focus on the digital strategy and upholding the tenets of the team. The ideal candidate will have a deep understanding of the fundamental components of a digital strategy, including the importance of people, technology, and the distinct properties of each component.
Key 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
Creating test-driven design (TDD) solutions and best practices to facilitate robust and maintainable software development.
Implement Model Based Engineering on projects through standardized project requirements definition and system modeling
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
Develop and maintain software libraries and frameworks that support modular software architecture and integration with existing infrastructure, with a focus on 5S principles (sort, straighten, 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
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
Hybrid:
Because of the need for consistent, in-person collaboration and/or the requirement to perform work onsite, some efforts may be (mostly) full time on-site. Work that can be done remotely will allow for a hybrid working environment.
Requirements:
Bachelor's Degree and 2+ years' work experience (min) or equivalent experience
Programming Languages: Experienced in Python, C#, Node.js, Google Go, or similar modern programming languages
Understanding of Object-Oriented Programming
Strong Technical Communication
Possess good interpersonal and team communication skills
Takes initiative with general guidance and has a closure-oriented nature
Nice to Have:
At least 2 years of experience in Python, C#, Node.js, Google Go, or similar modern programming languages.
Strong expertise in working with both relational (e.g., MySQL, PostgreSQL) and non-relational databases (e.g., MongoDB, Cassandra).
Proficiency in using project management, documentation, and source control tools.
Familiarity with cloud-native technologies and services beyond Kubernetes, such as service meshes (e.g., Istio, Linkerd), serverless frameworks, and cloud-specific resource management.
Familiarity in implementing security best practices in application development and deployment, particularly in environments with stringent compliance requirements.
Knowledge in utilizing observability tools (e.g., Prometheus, Grafana, ELK stack) for monitoring and troubleshooting applications.
Experience with agile development methodologies and the ability to work in fast-paced, iterative development environments.
Previous experience working within cross-functional development teams, demonstrating excellent collaboration and communication skills.
Proven experience in leading or advanced programming and software development, including analysis, design, development, implementation, testing, maintenance, quality assurance, troubleshooting, and/or upgrading of software systems.
Demonstrated ability to troubleshoot and support enterprise applications while ensuring 24/7 availability.
Solid understanding of microservices architecture, including the development, deployment, and scaling of services in containerized environments using Kubernetes.
Demonstrated experience in developing, deploying, and scaling applications in cloud environments.
Familiarity with Test-Driven Development (TDD) methodologies and continuous integration/continuous deployment (CI/CD) practices.
Experience in ensuring high availability and reliability of enterprise applications.
Culture Fit:
A strong belief in the importance of people and technology in digital strategy
A commitment to proactive, automated, centralized, and systematic approaches to software engineering
A focus on repeatability, reliability, and sustainability in software development
A willingness to think holistically and develop solutions that enhance people's abilities
A passion for collaboration and a willingness to mentor and guide junior engineers
A deep understanding of the digital strategy and architecture tenets, with a commitment to upholding them in all aspects of work