JobRaahGet matched free

Jobs

Embedded Software Engineer

CMRU · Vernon HIlls, IL, US · United States · Hybrid

Pay: USD 96,796 – 118,306 a year

Posted Oct 2, 2026

Apply with JobRaah

Sign up free: we match you to jobs like this, tailor your application and fill the form. 2 free applications every day.

SUMMARY OF POSITION Canon Medical Research USA, Inc. (CMRU) is seeking a Software Engineer to join our High Performance Computing team, developing image-processing software for large medical devices, from requirements through production. This role is well suited to a recent graduate with a strong mathematical and systems foundation who is looking to apply coursework in linear algebra, numerical methods, and operating systems to real-time image reconstruction and signal-processing algorithms running on production hardware. You will work through the full software lifecycle: analyzing requirements, designing solutions, implementing and unit-testing code, and documenting your work to a standard suitable for a regulated medical device environment. RESPONSIBILITIES Analyze software requirements documentation and consult with the requirements author as needed. Formulate a software design using industry best practices and document it appropriately. Implement the software design in C/C++. Design and execute unit test plans to verify coded software. Contribute to image reconstruction and scientific/mathematical algorithm implementation, including performance optimization. Coordinate communication with vendors related to project materials. Contribute to the creation of software requirements and specifications. Contribute to the corporate IP portfolio. QUALIFICATIONS Education B.S. or M.S. degree in Computer Engineering, Software Engineering, Computer Science, or Electrical Engineering from an accredited institution. Experience Entry-level: 0-2 years of professional experience. New graduates are encouraged to apply. Strong academic background in applied mathematics is required; linear algebra and numerical methods coursework or project work is required. TECHNICAL BACKROUND Candidates should have coursework, internship, or project experience (academic or personal) in most of the following: Computer architecture: memory hierarchy, cache behavior, instruction pipelines, and how they affect software performance. Operating systems / systems programming: processes, threads, scheduling, synchronization primitives; direct experience with a preemptive multitasking RTOS is a plus. Multi-threaded / parallel programming: experience writing correct, race-free concurrent code; exposure to multi-processing or parallel algorithm design. C/C++: solid fundamentals; comfort with memory management and low-level debugging. Numerical methods and linear algebra: ability to translate mathematical algorithms into efficient, numerically sound code. Image processing and/or GPU programming experience is a plus (CUDA, OpenCL, or similar). Familiarity with version control, defect tracking tools, and peer code review is a plus. Key Competencies Strong analytical problem-solving skills, particularly with mathematically dense algorithms. Initiative and solution orientation; comfortable working through ambiguity. Clear written and verbal…