Davidson is distinguished in the aerospace and missile defense industry, in part, because of its excellence in hiring exceptional experts, engineers and software developers dedicated to delivering advanced, intelligent technology solutions in defense of our nation.
Davidson is seeking a Jr. to Mid-level Software Engineer in Boulder, Colorado.
As a Software Engineer you will be responsible for the design, development, documentation, testing, deployment, and debugging of software applications. You will research, identify, and implement solutions to complex, multi-disciplinary software problems while working in a collaborative team environment.
Job Responsibilities:
- Design, implement, and integrate new software features that smoothly interface with existing systems.
- Develop software using Agile methodologies, participating in sprint planning, reviews, and retrospectives.
- Utilize Jira (or similar tools) to document user stories, bugs, and enhancements.
- Provide software engineering support for complex, multi-language systems (C/C++, Python, and Java).
- Analyze and improve system usability, performance, and maintainability through refactoring and defect resolution.
- Coordinate with the test team to integrate, troubleshoot, and resolve defects.
- Contribute to the full software development lifecycle, from requirements and design through integration, test, and deployment.
- Collaborate effectively with cross-functional teams and stakeholders at all levels.
Job Requirements:
Common Requirements (both levels):
- Experience developing software in a Linux environment.
- Proficiency in C/C++ and Python.
- Experience with Object-Oriented Programming (OOP).
- Ability and willingness to travel up to 10% to support business needs.
Jr. Software Engineer:
- OR a Master's degree in a STEM discipline with 0 years of related experience.
Mid-level Software Engineer:
- OR a Master's degree in a STEM discipline and 3 years of related experience;
- OR a PhD in a STEM discipline.
Preferred Qualifications / Desired Skills
- Experience with object-oriented design patterns and modern data structures.
- Experience with configuration management and build tools (e.g., Git, Conan, CMake, Nexus, etc.).
- Demonstrated ability to perform software development and troubleshooting in a team environment.
- Experience supporting legacy software and executing modernization efforts.
- Experience with Java and shell scripting (e.g., Bash).
- Familiarity with testing frameworks and unit/integration test development.
- Experience with Agile development practices and ceremonies.
- Experience using the Atlassian tool suite (e.g., Jira, Confluence, Bitbucket).