> Markdown version of [/jobs/ext/877073-software-engineer-mid-level](https://www.wearedevelopers.com/jobs/ext/877073-software-engineer-mid-level). 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 (Mid-Level) - **Company:** Cimarron Software Services, Inc. - **Location:** Houston, TX, United States - **Experience:** Experienced - **Salary:** $120,000.0 - $175,000.0 - **Contract:** Permanent contract - **Skills:** Board Bringup, Agile Methodology, C++ (Programming Language), Code Review, Computer Engineering, Continuous Integration, Software Debugging, Device Drivers, Embedded Software, Ethernet, Firmware, Joint Test Action (IEEE Standards), Python (Programming Language), Linux System Administration, RS-232, RS-485 Standard, Software Engineering, Verification and Validation (Software), Strategies of Testing, Universal Asynchronous Receiver/Transmitter, USB, Digital Access Carrier System, Serial Peripheral Interface, Test Scripts, Gitlab, Git, Information Technology, Software Version Control - **Published:** June 9, 2026 - **Apply:** https://www.dice.com/job-detail/749aac35-b2e9-4ca9-b058-b7d304812d4f ## About the Role * Ability to complete a pre-employment background check and drug screening, which will include but is not limited to testing for marijuana use. * 5 or more years of experience with embedded systems, firmware, and/or driver development. * Experience developing communication interfaces such as UART, SPI, I2C, USB, RS232, RS485, Ethernet, or similar protocols. * Experience designing with ADCs, DACs, interrupts, DMA, timers, digital potentiometers, and GPIO. * Experience with hardware bring-up, embedded debugging tools (e.g., JTAG, oscilloscopes, logic analyzers), and embedded toolchains. * Strong understanding of real-time constraints, deterministic execution, and safe, reliable embedded design principles. * Strong proficiency in C/C++ and Python, with familiarity with modern embedded development practices. * Experience applying software and firmware security best practices. * Experience using version control systems such as Git and GitLab within continuous integration pipelines. * Proficiency in software testing methodologies. * Demonstrated ability to solve complex problems proactively using sound judgment. * Strong organizational skills with the ability to meet tight deadlines while delivering high-quality results. * Demonstrated success delivering results in ambiguous, fast-moving environments. * Ability to present complex technical topics to management and other stakeholders. * Bachelor's degree (or higher) in Computer Engineering, Electrical Engineering, Aerospace Engineering, Computer Science, or a related technical discipline. Desired Skills, Experience, and Education: * Exposure to software development in Linux environments. ## Description * Develop, integrate, and maintain firmware within the Avionics group. * Design and develop communication interfaces such as UART, SPI, I2C, USB, RS232, RS485, Ethernet, or similar protocols. * Design and implement solutions using ADCs, DACs, interrupts, DMA, timers, digital potentiometers, and GPIO. * Collaborate with hardware engineers to bring up new boards, debug hardware and software interactions, and develop device drivers. * Participate in software architecture design activities and code reviews. * Develop hardware-in-the-loop (HIL) systems and integrate them with simulation environments. * Contribute to system-level documentation, including ICDs, design artifacts, test reports, and operational procedures. * Contribute to system verification and validation activities. * Troubleshoot and resolve issues related to performance, memory, timing, and reliability. * Communicate project progress, status, and potential risks clearly to stakeholders and leadership. * Implement and maintain agile project management practices throughout the project lifecycle, adapting to changing requirements and priorities. * Perform additional job duties as assigned in support of cross-functional initiatives and overall program success. ## Related Videos - [Agile work at CARIAD – Creating a customer web application for controlling the vehicle ](https://www.wearedevelopers.com/videos/200-agile-work-at-cariad-creating-a-customer-web-application-for-controlling-the-vehicle) - [How a Small Team Shrank a Microsoft Monorepo by 94%](https://www.wearedevelopers.com/videos/1236-how-a-small-team-shrank-a-microsoft-monorepo-by-94) - [Prototyping with Hardware and the Web](https://www.wearedevelopers.com/videos/651-prototyping-with-hardware-and-the-web) - [WeAreDevelopers LIVE - Modern DevOps for IoT Devices and More](https://www.wearedevelopers.com/videos/1805-wearedevelopers-live-modern-devops-for-iot-devices-and-more) - [Code to Road in < 12 hours](https://www.wearedevelopers.com/videos/1082-code-to-road-in-12-hours) - [Git for Code Reviews](https://www.wearedevelopers.com/videos/429-git-for-code-reviews) ## Related Articles - [Software Engineer Career: Things You Should Know](https://www.wearedevelopers.com/magazine/143-software-engineer-career-things-you-should-know) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Quick guide: How to write a Software Developer CV](https://www.wearedevelopers.com/magazine/37-quick-guide-how-to-write-a-software-developer-cv) - [7 Important Tips That Every Software Developer Should Know](https://www.wearedevelopers.com/magazine/101-7-important-tips-that-every-software-developer-should-know) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [Should senior developers refuse interview coding challenges?](https://www.wearedevelopers.com/magazine/29-should-senior-developers-refuse-interview-coding-challenges)