
Software Developer - Embedded
- Markham, ON
- Permanent
- Temps-plein
- Designs and develops a small module or a larger feature according to requirements, under guidance of a senior developer
- Identifies scope of assigned work and provides a factual initial estimate
- Executes in a fast-paced delivery mode and focuses in delivering tasks to meet the product release goal
- Fundamental knowledge of version control systems, particularly Git, for basic code management and collaboration
- Basic understanding of developing and executing Unit Tests using Google Tests to support software quality and reliability
- Interest in learning DevOps principles and tools to support software development and operational processes
- Introductory experience with pipeline automation tools, including Jenkins and GitHub Actions, to aid in streamlining CI/CD processes
- Familiarity with static analysis tools such as Coverity and Aqua for initial exposure to code security assessment and vulnerability detection
- Performs root cause analysis of assigned software defects and implements solution
- Works closely with peers, engages with team to learn, contribute, brainstorm, converge on technical designs and discussions
- Follows SDLC process, maintains code quality through best practices, code reviews and unit testing
- Documents to capture all stages of work as per guidelines
- Bachelor’s Degree in Electrical Engineering, Computer Engineering or Computer Science
- Minimum 2 years of embedded development with C/C++ in a professional setting
- C++ programming skills and understanding of object-oriented design and development
- Python programming skills and understanding
- Understanding of microcontrollers and peripherals
- Exposure to Real-Time Operating Systems (e.g. VxWorks, TI-RTOS, Thread-X) and/or embedded Linux
- Hands-on experience debugging firmware, including using emulators (ICE/JTAG), oscilloscope and logic analyzer
- Exposure to TCP/IP networking protocols is an asset
- Strong problem solving and analytical abilities
- Strong initiative and communication skills