> Markdown version of [/jobs/ext/4321510-software-engineer-i](https://www.wearedevelopers.com/jobs/ext/4321510-software-engineer-i). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Software Engineer I - **Company:** Technology Service Corporation - **Location:** Huntsville, AL, United States - **Experience:** Experienced - **Contract:** Internship / Graduate position - **Skills:** Automation of Tests, Unit Testing, Bash Shell, C++ (Programming Language), Software Documentation, Software Quality, Code Review, Signals Intelligence, Communications Protocols, Computer Programming, Computer Networks, Computer Engineering, Continuous Delivery, Continuous Integration, Data Structures, Software Debugging, Linux, Linux on Embedded Systems, Embedded Software, Ethernet, Field-Programmable Gate Array (FPGA), Hardware-In-The-Loop Simulation, Python (Programming Language), Linux Commands, Radio-Frequency Identification, Real-Time Operating Systems, Software Tools, Software Configuration Management, Software Construction, Software Engineering, Software Requirements Analysis, Software Systems, Systems Integration, Data Processing, Multithreading, Real Time Systems, Test-Driven Development (TDD), Software Verification, Git, Computer Equipment, Integration Tests, Build Tools, Software Version Control - **Published:** October 31, 2026 - **Apply:** https://www.clearancejobs.com/jobs/9279962/software-engineer-i ## About the Role * Bachelor's degree in Computer Engineering, Electrical Engineering, or a related field, or an equivalent combination of education and relevant experience. * Zero to two years of professional software development experience. Relevant internships, academic projects, research, or co-op experience may be considered. * Coursework or project experience using C or C++. * Fundamental understanding of software development principles, including data structures, algorithms, debugging, and version control. * Ability to read and understand technical documentation, software requirements, and interface specifications. * Strong analytical, troubleshooting, and problem-solving skills. * Effective written and verbal communication skills. * Ability to work effectively in a multidisciplinary engineering team. * U.S. citizenship. * Ability to obtain and maintain a U.S. Department of Defense Secret security clearance., * Experience developing software in C++ for Linux or embedded platforms. * Experience with Python or Bash scripting for automation, testing, data processing, or engineering tools. * Experience using Git or another version-control system. * Familiarity with Linux command-line tools and development environments. * Familiarity with multithreaded programming, process communication, or networking concepts. * Experience interfacing software with serial devices, Ethernet, sensors, or other hardware. * Familiarity with automated build systems, continuous integration, or software configuration management. * Experience with unit testing, automated testing, or test-driven development. * Experience with software development for defense, aerospace, unmanned systems, robotics, RF systems, electronic warfare, signals intelligence (SIGINT), guidance, navigation, or autonomous platforms. * Familiarity with FPGA-based systems, hardware-in-the-loop testing, simulation environments, or real-time systems. * An active U.S. Department of Defense Secret or Top Secret security clearance. ## Description * Support the design, development, integration, verification, and testing of embedded Linux software systems. * Implement software components under the direction of senior engineers and software leads. * Develop and maintain C or C++ software for embedded platforms. * Assist with the development of software interfaces for hardware devices, sensors, networking components, and communication protocols. * Develop Python- and Bash-based scripts and utilities to support testing, automation, data processing, and engineering workflows. * Participate in software integration, system bring-up, debugging, and troubleshooting activities. * Analyze software defects and system-level issues, identify potential causes, and assist with implementing corrective actions. * Participate in code reviews, design reviews, requirements analysis, and technical planning. * Write and maintain software documentation, interface descriptions, test procedures, and development records. * Develop and execute unit tests, integration tests, and other software verification activities. * Use version-control systems, automated build tools, and continuous integration processes in accordance with established development practices. * Collaborate with systems, hardware, FPGA, algorithm, and test engineers to support system-level capabilities. * Learn and apply software engineering best practices related to code quality, maintainability, modularity, reliability, and security. * Communicate technical progress, status, risks, and issues to the project team. * Support continuous improvement of development processes, automated testing, build systems, and continuous integration and continuous delivery pipelines.