
Senior Software Engineer
ADB SAFEGATE2 months ago
Columbus, OH, USASenior
Responsibilities
- Lead the design, development, and implementation of software solutions for industrial and embedded systems.
- Architect and maintain scalable, reliable, maintainable software modules and system components.
- Develop unit, integration, and black-box testing strategies, including hardware-in-the-loop testing.
- Collaborate with hardware, QA, product management, and other cross-functional stakeholders.
- Derive software requirements from customer standards and specifications.
- Troubleshoot and resolve technical issues across development, testing, and production environments.
- Conduct peer code reviews and improve development processes and practices.
- Produce design, installation, and technical documentation.
- Assess project scope and resource requirements and advise on design strategies and product enhancements.
- Mentor junior developers and provide technical leadership across the software development lifecycle.
- Travel up to 10% for field troubleshooting, data collection, and site surveys in the US and internationally.
Requirements
- Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, or a related field.
- At least 5 years of professional software development experience, including at least 3 years of production C++ experience.
- Extensive experience developing, debugging, and optimizing C++ applications in performance-critical or resource-constrained environments.
- Expertise in software architecture and robust, scalable, maintainable, and testable industrial systems.
- Hands-on experience with real-time embedded Linux, multithreading, and inter-process communication.
- Knowledge of zero-trust networking over TLS, chain-of-trust management, and cybersecurity for IoT and embedded systems.
- Experience with embedded security practices such as TPM2 secret storage, secure boot, signed over-the-air updates, OS hardening, and device management.
- Familiarity with Modbus, CAN bus, or OPC UA is preferred.
- Advanced knowledge of integration testing with hardware in the loop, code testability, and CI/CD pipelines.
- Experience with Go, Python, and scripting is preferred.
- Proficiency with Git is required.
- Ability to work with hardware interfaces and troubleshoot software/hardware integration issues.
- Strong communication, problem-solving, collaboration, and mentoring skills.
- A master’s degree is a plus.
Benefits
- Competitive salary and benefits.
- Career development, upskilling, and promotion opportunities.
- Flexible working culture.
- International collaboration opportunities with colleagues around the globe.
- Up to 10% travel in the US and internationally.