The Senior Software Developer / Technical Lead will provide technical leadership across software development, system architecture, deployment, and ongoing operational support. This role combines hands-on software development with architectural guidance, DevOps responsibilities, and technical coordination within a small, distributed team.
The ideal candidate is comfortable working across the software lifecycle, from requirements analysis and system design through implementation, deployment, validation, and production support. This position requires strong technical problem-solving skills, the ability to work independently, and experience collaborating with cross-functional and geographically distributed teams.
Duties and Responsibilities
- Provide technical leadership and architectural direction for complex software applications and distributed systems.
- Design, develop, integrate, and maintain software solutions across the full development lifecycle.
- Lead and mentor software developers and other technical team members with complementary skill sets.
- Work closely with development, infrastructure, systems, networking, and other engineering teams to support successful deployments.
- Analyze technical requirements and translate them into software architecture, development plans, and implementation tasks.
- Define deployment approaches, configuration standards, monitoring strategies, and operational procedures.
- Support new system and software deployments, including environment setup, configuration, testing, troubleshooting, and validation.
- Coordinate technical activities across distributed teams and help break larger initiatives into clearly defined tasks and deliverables.
- Design and enhance monitoring and diagnostic capabilities to support system reliability, performance, and proactive issue detection.
- Apply DevOps and design-for-operations principles to improve reliability, maintainability, observability, and release consistency.
- Participate in requirements analysis, architecture and design reviews, code reviews, testing, and system validation.
- Provide hands-on technical support for production systems, including troubleshooting, issue resolution, and root cause analysis.
- Contribute to project planning, technical estimates, scheduling, risk identification, and progress tracking.
- Promote software development best practices, documentation standards, version control, and continuous improvement.
- Stay current with relevant software development, deployment, and infrastructure technologies.
Software & Systems
Experience with some combination of the following is preferred:
- Software Development: Node.js, React.js, C#/.NET, Java, or similar modern programming languages and frameworks
- Application Architecture: Modular and distributed systems, service-oriented architectures, middleware, APIs, and real-time applications
- DevOps & Infrastructure: Docker, virtualization, Linux environments, CI/CD pipelines, and containerized deployments
- Development Tools: Git or SVN, JIRA, Confluence, or similar development and project management tools
- Development Methodologies: Agile/Scrum, DevOps, and other modern software development practices
Education & Experience
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field preferred.
- 5+ years of professional software development experience, with at least 2 years in a senior, lead, or technical leadership capacity.
- Experience designing and developing software within complex or distributed environments.
- Experience working across both software development and DevOps/infrastructure functions.
- Experience leading, mentoring, or technically coordinating other developers or engineers.
- Experience supporting software through deployment and production operations.
- Strong troubleshooting and analytical skills with the ability to identify root causes and develop effective solutions.
- Strong communication skills and the ability to work effectively with both technical and non-technical stakeholders.
- Experience working independently while collaborating effectively with distributed teams.
Preferred Qualifications
- Experience with mission-critical, regulated, industrial, transportation, aerospace, defense, or other complex technical systems.
- Experience with real-time, monitoring, or safety-focused applications.
- Familiarity with systems involving networking, communications, sensors, or other integrated hardware/software environments.
- Experience working in environments requiring structured software development, testing, documentation, and validation processes.
Additional Requirements
- Occasional travel may be required.
- Ability to work effectively in a collaborative, distributed team environment.
- Demonstrated adaptability, accountability, and ability to work independently.
- Reasonable accommodations will be provided to enable individuals with disabilities to perform essential functions.
This role may be authorized to access Controlled Unclassified Information (CUI) as required to perform assigned duties related to defense contract work. Any access to CUI will be granted according to the principle of least privilege and limited to the specific responsibilities, duties, and business need of the role.