Develop and maintain software applications interfacing with hardware; design and test device communication functionality; troubleshoot software/hardware integration issues; collaborate with engineering teams; participate in code reviews and documentation; support continuous improvement initiatives.