We are seeking a Software Engineer with strong backend and systems development experience to join our team. This role is ideal for an engineer who enjoys solving complex technical problems, designing reliable software systems, debugging challenging issues, and contributing to products that operate in production environments.
You will play a key role in the ongoing development, maintenance, and modernization of a long-standing aviation weather simulation platform and our overall infrastructure. The successful candidate will help ensure software releases are executed reliably, data flows operate correctly throughout the system, and new capabilities are designed and implemented with scalability and maintainability in mind.
This position requires hands-on software development, systems integration, architecture planning, and operational support across Linux and Windows environments.
Due to U.S. government contracting requirements and access to export-controlled information and technologies, applicants must be U.S. citizens or lawful permanent residents (Green Card holders) and authorized to work in the United States. Ability to obtain and maintain any required U.S. government suitability determinations, credentials, or clearances.
Responsibilities
- Design, develop, test, and maintain backend software components and services.
- Develop and maintain APIs that support internal and external system integrations.
- Work extensively with Python and contribute to systems written in C and C++.
- Design, implement, and support cloud-based infrastructure and services within AWS.
- Troubleshoot, diagnose, and resolve software, system, and data flow issues.
- Support software release processes and help ensure successful deployment of production code.
- Monitor and validate data ingestion, processing, and output workflows across the simulation environment.
- Participate in system architecture, technical planning, and design reviews.
- Collaborate with engineers and meteorologists to implement new capabilities and improve existing systems.
- Build, compile, test, and deploy software in both Linux and Windows environments.
- Improve system reliability, performance, observability, and maintainability.
- Document system designs, operational procedures, and engineering decisions.
Required Qualifications
- Bachelor's degree in Computer Science, Engineering, or equivalent practical experience.
- 5+ years of professional software development experience (level may be adjusted based on candidate experience).
- Strong Python development experience.
- Experience developing and maintaining applications in C and/or C++.
- Experience designing and implementing RESTful APIs and backend services.
- Knowledge of AWS services and cloud-based application architecture.
- Proficiency with NoSQL and document databases
- Experience working in Linux and Windows development environments.
- Experience building, compiling, and deploying software across multiple operating systems.
- Strong debugging, troubleshooting, and root-cause analysis skills.
- Experience with software architecture, technical design, and project planning.
- Familiarity with version control systems such as Git.
- Excellent communication and collaboration skills.
Preferred Qualifications
- Experience supporting production software systems and operational environments.
- Knowledge of software release management and deployment processes.
- Experience with CI/CD pipelines and automated testing frameworks.
- Experience developing and maintaining Java applications
- Experience developing and maintaining applications using Java Messaging Services (JMS)
- Interest in aviation, aviation weather, meteorology, or atmospheric sciences.
- Experience working with large-scale data processing pipelines.
Benefits:
- 401(k)
- Dental insurance
- Health insurance
- Life insurance
- Paid holidays
- Paid time off
- Vision insurance
- Work from home
Work Location: Hybrid remote in Reston, VA 20191