Vernon Hills, IL
Canon Medical Research USA, Inc. (CMRU) is a multi-modality R&D organization creating next-generation medical imaging systems. For those who like to develop new technologies and research new ways of using them, Canon is a rewarding place to work, due to its focus on innovation as the lifeblood of new products.
CMRU is committed to recognizing and appreciating the variety of characteristics that make individuals unique in an atmosphere that promotes work/life balance and celebrates individual and collective achievement. We are especially interested in qualified candidates who can contribute, through their experience, education, research and/or service, to the diversity and excellence of our organization and the scientific and engineering community at large.
CMRU offers a great work environment, professional development, challenging careers, and competitive compensation and benefits. We are an equal opportunity employer (EOE).
Duties and Responsibilities
- Analyze software requirements documentation and consult with the author as needed.
- Formulate a software design using industry best practices and document it appropriately.
- Implement the software design by coding.
- Design and execute the unit test plan to verify the coded software.
- Coordinate communication with vendors related to project materials.
- Contribute in the creation of software requirements and specifications.
- Contributes to corporate IP portfolio.
- Bachelor’s degree in computer science, electrical engineering, or related technical discipline.
- 4+ years of industry C/C++ development experience.
- Knowledge of Linux kernel programming and device driver development.
- Experience with embedded Linux build systems such as Yocto
- Understanding of computer architecture principles.
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems.
- Familiarity with software configuration management tools, defect tracking tools, and peer review.
- Knowledge or experience in GPU programing experience helpful.
- Education or experience with image processing techniques.
- Experience with programming for Real-Time Operating Systems (RTOS).
- Experience with interfacing software with custom hardware, such as device drivers.
- Experience designing software for multi-threaded and/or multi-processing environments, including parallel processing.
- Experience in mathematics and scientific algorithm implementation and optimization.
- Excellent analytical and problem solving skills
- Solution orientation
- Relationship building
- Communication & verbal, written, listening
- Time/task management
- Ability to complete domestic and occasional international travel is required