Embedded Software Engineer – Machine Vision & Embedded Systems
Automation
Computer Skills
Data Processing
Desktop Support
DevOps
Embedded Engineering
Embedded Software
Embedded Software Engineering
Embedded System
Embedded Systems
End User Support
Engineering
Hardware Engineering
Hardware Software Co Design
Image Processing
Industrial Automation
Information Technology (IT)
Information Technology It
IT Operations
It Support
Machine Vision
Mechatronics
Microcontrollers
Operating Systems
Programming
Real Time Embedded Software
Robotics
Signal Processing
Software Development
Software Engineer
Software Engineering
Systems
Technical Support
Job Description
INTERNATIONAL ELECTRONIC MACHINES, CORP (IEM) is hiring an Embedded Software Engineer to build embedded software for machine vision systems and industrial measurement applications. Based at IEM’s headquarters in Troy, NY, this role supports the full product development lifecycle, from integration and testing to documentation and occasional troubleshooting or field support.
You will work on embedded computing and sensing workflows, including camera and sensor interfaces, data acquisition, and signal or image processing algorithms used in operational environments.
Role focus
- Design, develop, test, and maintain embedded software for microcontrollers, embedded computers, and custom electronic systems.
- Develop software to interface with sensors, cameras, data acquisition hardware, and other electronic devices.
- Implement signal processing, image processing, and measurement algorithms for industrial applications.
- Integrate embedded hardware and software into complete, operational systems.
- Create tools and applications for data collection, analysis, visualization, and system diagnostics.
Development and validation
- Use AI-assisted software development tools to improve development efficiency, debugging, testing, and documentation.
- Independently validate generated code for correctness.
- Troubleshoot complex hardware/software interactions and address performance, reliability, and integration issues.
Collaboration, testing, and documentation
- Collaborate with other engineers through design, prototyping, testing, and deployment.
- Participate in laboratory testing and system validation.
- Support occasional field installations or troubleshooting.
- Prepare and maintain technical documentation, including software design descriptions, test procedures, and engineering reports.
Required qualifications
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline, or equivalent practical experience.
- At least 2 years of professional or substantial hands-on experience developing and debugging embedded software.
- Strong programming skills in C and/or C++, with experience in Python or a comparable language.
- Experience with embedded computing platforms, microcontrollers, or hardware-interfacing software.
- Familiarity with sensors, analog-to-digital conversion, digital interfaces, and electronic hardware fundamentals.
- Experience developing, testing, and debugging software that interacts directly with hardware.
- Familiarity with signal processing, image processing, or numerical data analysis.
- Experience with software version control systems, particularly Git.
- Ability to independently investigate technical problems, develop solutions, and validate results.
- Strong analytical, troubleshooting, communication, and documentation skills.
- Self-motivated and adaptable, comfortable learning new technologies and working across multiple engineering disciplines.
Technologies you may use
- C, C++, Python, Git
- Microcontrollers, embedded computers
- Signal processing, image processing
- AI-assisted software development tools
- OpenCV, MATLAB, LabVIEW, PyTorch
- Visual Studio
- TCP/IP sockets
- STL, Boost, Linux, Rust, C#, .NET
Schedule and location
- Location: Troy, NY 12180 (onsite at IEM headquarters)
- Schedule: Monday through Friday, with scheduling flexibility as appropriate
- Work may include office-based development, hands-on laboratory activities, equipment testing, and occasional industrial or outdoor field installations
- Occasional travel to customer locations may be required
Compensation
- USD 75,000 - 85,000 per year
Benefits
- 401(k) retirement plan with company matching
- Health insurance
- Dental and vision insurance
- Flexible spending account
- Paid time off
- Flexible work scheduling
Preferred qualifications
- Microcontroller firmware development and hardware-level debugging.
- Linux-based embedded systems and single-board computers.
- Sensor integration, data acquisition, and real-time measurement systems.
- Ability to interpret electronic schematics, wiring diagrams, and mechanical drawings.
- Modern C/C++, Python, Rust, C#, or .NET development.
- Linux software development, scripting, and system configuration.
- Network programming, TCP/IP sockets, and communication protocols.
- Experience with libraries and development environments such as STL, Boost, OpenCV, MATLAB, LabVIEW, PyTorch, and Visual Studio.
- Software engineering practices including modular design, code reviews, unit testing, regression testing, and continuous integration.
- Machine vision, camera integration, image processing, or optical measurement systems.
- Digital signal processing, statistical analysis, and algorithm development.
- MATLAB, Python scientific computing libraries, or similar engineering analysis tools.
- Machine learning, AI model development, or practical integration of AI into engineering applications.
- Effective use of AI-assisted coding tools for development, troubleshooting, test generation, and documentation.
- Ability to critically evaluate AI-generated code for correctness, efficiency, reliability, and hardware compatibility.
- Experience developing and testing complete electromechanical or electronic systems.
- Participation in R&D, prototyping, product design, or commercialization.
- Technical project coordination, task ownership, or project oversight.
- Strong technical writing skills, including requirements, specifications, test reports, and design documentation.
- Three or more years of relevant experience is preferred.
Application details
- Please submit your resume and a brief cover letter describing your technical background, relevant experience, and interest in this position.
- IEM encourages examples of completed projects or technical accomplishments, including embedded software, machine vision, sensor integration, or other related engineering work.
- Examples may include project descriptions, code samples, technical reports, or links to portfolios or repositories if they can be shared without violating confidentiality or intellectual property obligations.
Work authorization and equal opportunity
- Applicants must be legally authorized to work in the United States.
- Candidates who do not require employer-sponsored work authorization are preferred.
- IEM Corporation is an equal opportunity employer and considers qualified applicants without regard to protected characteristics.
Learn more about IEM at https://www.iem.net.