General Job Summary
This position is responsible for designing and developing effective software solutions. Major aspects include analyzing information, general programming, software design, user interface design, software debugging, documentation, testing, and problem solving.
Essential Job Functions
- Collaborate with engineers to understand scope and define clear requirements, deliverables, and milestones.
- Expand existing software to meet the changing needs of key customers.
- Build custom user‑interface controls.
- Create scalable, automated solutions; develop new software products from the ground up as needed.
- Define and follow requirements for both internal and customer‑funded projects.
- Follow code repository standards.
- Travel to customer sites, field locations, and deployment sites as required, including potential OCONUS travel (estimated 25‑50%).
Knowledge, Skills and Abilities Required
- Knowledge of modern software engineering principles, including object‑oriented design, modular architecture, and clean coding practices.
- Ability to translate technical concepts into clear documentation for internal teams and external customers.
- Proficiency in one or more programming languages relevant to the organization's technology stack.
- Ability to design, implement, and maintain user interfaces, including custom UI components.
- Skilled in debugging, troubleshooting, and root‑cause analysis across complex software systems.
- Understanding of software development lifecycles, version control workflows, and repository standards.
- Self‑directed problem‑solving skills with the ability to work independently or as part of a team.
- Strong experience with Git‑based version control systems.
- Familiarity with Bitbucket for repository management, pull requests, and code reviews.
- Experience using Jira for issue tracking, sprint planning, and agile development workflows.
- Comfortable working in virtualized environments, including VMware and managing multiple virtual machines.
- Experience writing and utilizing unit tests, integration tests, and end‑to‑end automated tests.
Minimum Qualifications
- US citizenship required.
- Must be able to obtain/maintain a security clearance at a level equivalent to Department of Defense (DOD) SECRET.
- MS degree in Computer Science or related technical discipline, or BS degree with 2‑3 years of hands‑on experience.
- Firm understanding of C/C++/C#.
- Strong understanding of object‑oriented design.
Preferred Qualifications
- Experience with multi‑tier applications.
- Experience with Python.
- Experience with Rust.
- Software architecture experience.
- Excellent ability to provide good documentation, code comments, and clear code.
- Strong software testing practices.
- Proven experience working with software developers, project managers, and management.
Work Environment / Physical Requirements
This position involves work in an office and laboratory environment and may require the use of personal protective equipment (PPE) including:
- Safety glasses
- Hearing protection (varies based on tasks)
- Shoe covers
Physical Demands
In performing the work, the engineer must be able to:
- Perform work utilizing a computer for extended periods of time.
- Sit for extended periods of time without leaving the work area.
- Stand for extended periods of time without leaving the work area.
- Climb ladders and stairs.
- Walk reasonable distances.