engineering
Posted Apr 29Senior Software Engineer
Chantilly, United StatesOn-site
Responsibilities
- Responsibilities - Lead the architecture and design of high-reliability, mission-critical software for our satellite and ground systems. - Drive the full development lifecycle, from technical strategy and
Requirements
- requirements definition to implementation, testing, and operational excellence. - Mentor junior engineers and champion best practices in software design, particularly in object-oriented (OO) principles. - Create sophisticated simulation, emulation, and hardware-in-the-loop (HITL) test environments to ensure system-wide integrity. - Participate in operations, including data analysis, system monitoring, and visualization. - Collaborate in architecture, design, and code reviews. Basic
- Qualifications - Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field (or equivalent practical experience). - 5+ years of professional
- experience in software development. - Expert-level proficiency in at least one object-oriented language (e.g., C++, Python, Java, C#) and a deep mastery of OO design principles. - Demonstrable
- experience designing and building complex, scalable, and reliable software systems. - Strong foundation in data structures, algorithms, and systems design. - Exceptional communication (written and verbal) and documentation skills, with a proven ability to articulate complex architectural decisions to diverse audiences. - A highly collaborative, team-oriented, and positive attitude, with a knack for mentoring and elevating the entire team. Preferred
- experience in software development. - Professional experience with C++ and Python. -
- Experience designing scalable and modular solutions, including multi-threaded applications and stateless services. -
- Experience developing with networking protocols (e.g., TCP/IP, UDP) and building distributed systems. - Familiarity with CI/CD, test automation, simulation, or hardware-in-the-loop (HITL) testing. -
- Experience with modern monitoring, data analysis, and visualization tools. -
- Experience with Linux-based development environments. - A creative and analytical approach to solving ambiguous and complex technical problems. - Proven ability to thrive and provide technical leadership in a fast-paced, dynamic environment. - A passion for tackling complex problems and taking full ownership from concept to completion. - Interest in or