Firmware Developer
Firmware Developer
Develop and support our industry-leading traffic products.
The Firmware Developer will develop and support our industry-leading traffic products. The successful candidate will help create products that allow the visually impaired to safely experience the world on their own terms.
Job Duties: Include but are not limited to the following:
• Maintain and enhance embedded software for existing product lines.
• Participate in the embedded software system design cycle from requirements through launch and beyond.
• Design, develop, code, test, and debug embedded software.
• Integrate, verify, and validate new product designs and design changes.
• Perform design and code reviews.
• Interface with a cross-functional engineering team.
• Support the Tech Support team with intimate product knowledge.
• Contribute to a fun and innovative work environment.
Requirements
Education: Bachelor’s Degree in Computer Science, Electrical, Electronic, or Computer Engineering
• 5+ years of experience
Technical Experience & Skills:
• Strong understanding of embedded software development best practices.
• Familiarity with various ARM architectures (e.g. Cortex M4, M7, etc.).
• Familiarity with security basics (e.g. AES, TRNG, security certificates, etc.).
• Experience with common interfaces, such as SPI, I2C, I2S, UART, USB, Bluetooth LE, Wi-Fi, and Ethernet.
• Familiarity with networking concepts and protocols (UDP, TCP, HTTP, REST, CoAP).
• Ability to read schematics to troubleshoot, debug and bring up new hardware using oscilloscopes, logic analyzers, protocol analyzers and in-circuit emulators.
• Mastery of C language programming as it pertains to an embedded environment.
• Familiarity with OOP design principles, especially abstraction and encapsulation.
• Real time development experience with and without an RTOS.
• Experience programing peripheral hardware at the register level and developing peripheral driver code.
• Strong firmware debugging skills.
• Experience with version control systems like git.
• Familiarity with Linux.
Soft Skills:
• Strong interpersonal, analytical, organizational and follow-up skills.
• Solid problem-solving skills. Highly technical, quickly grasping how things work.
• Presents technical concepts, ideas, and information in terms that both engineers and non-engineers can understand.
• Motivated by continuous learning and development.
• Functions well in a small company/startup environment. (High visibility, accountability, and development velocity)
• Ability to work independently with minimal supervision, and collaboratively with a cross functional team.
• Disciplined engineering approach.
• Differentiates value added activities from waste.
• Demonstrates systems thinking.
Benefits & Perks:
• Annual Bonus Program
• Robust Health and Dental plan and Employee Assistance Program for you and your dependents.
• TELUS Health Virtual Healthcare
• Health Spending Account
• Health & Wellness subsidy
• 3 weeks’ vacation to start, 4 weeks at 5-years.
• Professional development and training
• Secure bike cage
• Shower facilities.
• Hybrid remote work program
• Community support and regular social activities!
• Robust recycling program (bring in municipal limited items from home)
• Weekly Fruit, coffees, and local tea's
• Free and ample parking
Additional Info
Job Type : Full-Time
Location : Victoria, BC
Salary range : $74,000 - $110,000
