Develop and maintain software applications that interface with hardware systems. Design, implement, and test device communication and control functionality. Troubleshoot software, hardware, and integration issues. Collaborate with engineering and technical teams to deliver reliable solutions. Participate in code reviews and documentation.