Firmware Engineer
Solution SFT
- Montreal, QC Saint-Laurent, QC
- Permanent
- Full-time
The candidate will be part of a multi-disciplined team consisting of firmware, electrical, mechanical and software engineering professionals.(Hybrid role: Minimum 1 day a week on Site (Thursdays) + additional days as required depending on whether hardware is required for tasks)The position holder's tasks expected are, but are not limited to:
- Design, development, integration, debugging, and verification of embedded firmware applications in C and/or C++.
- Analyze firmware performance in real-time acquisition/control systems for medical simulation.
- Develop logical and physical design documents. Use Data Modeling techniques to define, expand and enhance current Firmware Architecture.
- Establish specifications of features and firmware architecture Troubleshoot and resolve complex software/hardware problems in embedded real-time systems.
- Ensure business requirements and system requirements are complete and translate them into design, implementation and verification guidelines.
- Contribute to the establishment of coding, design, and architectural standards and procedures to ensure solutions are in compliance with the project goals, policies, and principles.
- Engage with the development team to resolve challenging design issues.
- Participate in planning and estimating for potential projects.
- Contribute to product architecture
- A Bachelor’s degree or master’s degree in Electronics or Computer Engineering
- Proficient in C and C++ for embedded microcontrollers and devices.
- Demonstrated ability to conceive, design, implement, and document complex firmware systems.
- Knowledge of RTOS constructs including processes, threads, semaphores, scheduling, synchronization mechanism, and memory management.
- In-depth working knowledge of microprocessor families and sensors Knowledge of the use of hardware debugging tools including logic analyzers and oscilloscopes.
- Highly motivated, setting personal goals and achieving goals with minimum supervision.
- Experience in configuration management and code version control (CVS).
- Excellent written and verbal communication skills.
- Must be able to work in a fast-paced environment and be committed to releasing deadlines.
- Knowledge of designing hardware/FPGAs is a substantial plus.
- Familiarity with STM32F3/F4 families and/or imx6 CPUs• Familiarity with embedded software development environment: Keil uVision or similar a plus.
- Experience with Linux device driver architecture is a plus.
- Bilingualism (French and English).
- Availability for occasional business trips.