About this role
Job Title: Senior Software Engineer
Job Category/Department: Engineering Reporting to: Director of Software Engineering, Embedded Systems Location: Hybrid Position Type: Full time
Position Summary: ThayerMahan is seeking a senior software engineer to join our team. In this role, you will help develop a wide range of software from web applications to embedded Linux and microcontrollers, with applications to autonomous system command and control, digital signal processing, software build and configuration management, and data flow management.
Role and Responsibilities: Create and maintain software solutions by writing and reviewing code, creating and maintaining documentation, and developing and reviewing design proposals. Support production staff with system preparation. A senior software engineer can:
• Work on incompletely specified tasks, fluidly communicating what the specifications should be, or what the solution space (range of options) is.
• “Jump in the deep end” and figure things out, with little or no up-front explanations.
• Fluidly consider short- and long-term plans, selecting “minimum viable” short-term options that elegantly build toward long-term goals.
• Provide strong mentorship to junior engineers.
Senior Software Engineers must have strong communication skills for socializing plans and potential solutions and working toward well-specified product behaviors.
Qualifications and Educational Requirements:
• Required qualifications: o U.S. Citizen (position entails access to Controlled Unclassed Information).
• Typical qualifications: o Bachelor’s or Master’s degree. o 8+ years relevant industry experience o Able to obtain DoD security clearance.
Required Skills:
• Exploring code repositories to understand how existing features have been implemented.
• Updating code to address defects, or to create new capabilities.
• Designing and implementing new features.
• Writing documentation for users or maintainers.
• Writing automated tests.
• Learning new technologies.
• Researching technologies for potential adoption.
• Communicating clearly and efficiently around all of the above.
• Collaborating productively with stakeholders and other engineers.
• Providing field engineering support for R&D, new product testing, and deployed systems.
• Expertise in at least two software languages enumerated under "preferred skills”.
Preferred Skills:
• Git / GitLab
• CI/CD
• Python
• Bash
• Linux
• Data visualization
• C
• C++
• Rust
• Docker
• Networking
• Experience working with or developing for DoD customers.
Physical Requirements/Working Conditions:
• Ability to travel to Groton HQ on short notice.
• Hybrid expectation: 100% onsite at Groton HQ for initial onboarding, and 2-3 days per week onsite thereafter.
Travel Requirements (If Applicable):
• Occasional travel for at-sea support or major client milestones.