Software Engineer
Job Description:Job SummaryWe are seeking a Senior Software Engineer to join an interdisciplinary team responsible for planning, designing, and developing advanced software solutions for test and training environments. This role requires an experienced engineer who can design and implement robust, high-quality software while collaborating within an integrated, multi-discipline team. The ideal candidate is a self-starter with strong technical expertise, leadership capability, and a passion for building sophisticated software systems.The position focuses on developing software components, interfaces, models, and databases, as well as supporting system integration, verification, and investigation activities. The role involves close collaboration with hardware and network engineers to deliver efficient, synchronized solutions across distributed and real-time systems.Key ResponsibilitiesDesign, develop, and integrate software components, interfaces, models, and databasesSupport system integration, verification, and investigation of complex software/hardware systemsDevelop and integrate real-time and non-real-time software components in distributed or compact deploymentsWork with data distribution and publish/subscribe technologies, including quality-of-service considerationsCollaborate with hardware and network engineers to implement efficient software-hardware integration solutionsAddress synchronization and timing challenges across distributed servicesConduct and lead peer reviews of code and software design artifactsRequired SkillsBachelors degree in Computer Science, Computer Engineering, Electrical Engineering, Physics, Mathematics, or a related technical fieldU.S. citizenship with the ability to obtain a security clearanceProfessional experience programming in C and C++Strong understanding of object-oriented analysis and designExperience using integrated development environments such as Visual Studio, Eclipse, or similar toolsExperience with MATLAB, Simulink, and related engineering tools Required Experience2+ years of professional software development experience, preferably in core system development, modeling and simulation, or systems integrationExperience with multiple programming languages, including C, C++, and MATLABExperience working in Agile or prototype-based development environmentsDemonstrated ability to lead and collaborate effectively with technical teams and project stakeholders Desired QualificationsExperience across the full software development lifecycle, from requirements and design through implementation, testing, deployment, and sustainmentExperience developing system simulations or hardware/software emulatorsFamiliarity with Data Distribution Service (DDS) technologiesExperience with publish/subscribe architectures and networking protocols (e.g., TCP/IP, UDP, HTTP, FTP, SSH, NTP)Experience with 3D visualization softwareExperience developing cross-platform software for Windows, Linux, and macOSExperience working with relational and non-relational databasesActive Secret security clearanceWorking Place:Huntsville, Alabama, United StatesCompany :