Firmware Engineer
- Calgary, AB, T2A 2L9, Canada
Base Compensation: $100,000 to $125,000 · Full-time
Applications open in a new tab.
Job details
- Pay
- Base Compensation: $100,000 to $125,000
- Job type
- Full-time
- Working hours
- 40 hours per week
- Posting language
- English
- Posted
Original job description
Firmware Engineer
Tangent Design Engineering Ltd. | Full-time | On site
Can you start with a problem before somebody hands you the answer?
Some engineering roles are about applying a known solution well. This one is for the person who gets interested when the solution isn't obvious yet.
At Tangent, we develop complex products where firmware, electronics and the physical world have to work together. That means understanding unfamiliar hardware, testing ideas, tracking down difficult problems and building firmware that performs reliably beyond the test bench.
We're looking for an intermediate or senior Firmware Engineer who can think critically, take ownership of technical work and turn a difficult problem into a practical solution. You should be curious about how things work and comfortable learning what you need to solve the next problem.
What you'll do
- Develop and debug embedded firmware in C and C++, including programming and troubleshooting prototype electronics hardware.
- Develop scripts using languages such as Python or MATLAB to support engineering work.
- Work with communication protocols and technologies such as SPI, I2C, Bluetooth, cellular modems, CAN bus and Modbus.
- Support hardware bring-up, testing, measurement and troubleshooting. Review schematics and work with electrical engineers to understand hardware and firmware issues.
- Support component selection, including microcontrollers, sensors and communication technologies.
- Develop or support FPGA implementations using VHDL, Verilog or SystemVerilog where required.
- Participate in design reviews and code reviews, explain your thinking and contribute to technical decisions.
- Maintain code using GitHub and create clear technical documentation and reports.
- Work with electrical, mechanical, software and project teams, taking ownership of firmware features, subsystems and technical deliverables.
What we'd like to see on your resume
Show us the firmware you've developed, the hardware you've worked with and the parts of a project you personally owned. Your background should include:
- 4 or more years of relevant software engineering or development experience in electrical, computer, electronics or software engineering.
- Experience developing C/C++ applications and programming and debugging embedded systems.
- Experience working directly with hardware, including reading schematics, testing designs and troubleshooting board-level issues.
- Familiarity with Windows and Linux environments and common embedded communication protocols.
- Experience in product development, product manufacturing or the development of physical technology products.
- Examples of technical documentation, version control and collaboration across engineering disciplines.
- FPGA programming experience is an asset.
What we'll be looking for in the interview
Your resume can tell us what you've worked on. The interview will tell us how you think. Expect us to ask about situations where:
- You took ownership of a firmware feature, subsystem or embedded product and can explain your contribution.
- You were given an unfamiliar technical problem and had to work out where to start.
- You used testing, measurements and data to separate a hardware problem from a firmware problem.
- Your first approach didn't work and you had to rethink it.
- You compared technical approaches and explained the trade-offs behind your recommendation.
- You communicated a complicated issue clearly or worked through a problem with teammates.
- You helped move a product from a prototype toward a reliable working solution.
- We want to understand how you get to an answer, what you learned along the way and how that learning changed your work.
How we work at Tangent
Innovation
- You stay curious, challenge assumptions and look for better ways to solve difficult technical problems.
Accountability
- You own your work, follow through, surface risks early and take responsibility for the quality of what you deliver.
Client Service
- You understand the problem behind the request, communicate clearly, and make decisions with the client's broader goals in mind.
Teamwork
- You share information, ask for help when you need it, contribute your expertise and make the people around you better.
These aren't words on a wall. They show up in how we design, review, communicate and make decisions every day.
Why work with Tangent
Base Compensation: $100,000 to $125,000
Bonus: Based on individual and corporate performance
Hours: Full-time, 40 hours per week.
Time off: 20 days PTO, used however you choose.
Benefits: Health and Dental, Life and Disability insurance.
Interesting problems: Work on complex firmware and embedded systems challenges across a variety of products, technologies and industries.
Real ownership: Take responsibility for technical work and help turn ideas and prototypes into products that perform in the real world.
Room to grow: Build your experience through new technologies, practical problem-solving and work across engineering disciplines.
Good people: Work with a thoughtful, highly technical team and people leaders who want the best for their team.
About Tangent
Tangent Design Engineering Ltd. develops complex products and systems for clients in regulated and technically demanding industries, including medical devices, hazardous locations, defence, aerospace and industrial applications.
Our quality management system is registered to ISO 9001:2015 and ISO 13485:2016, and our engineers work across disciplines to take ideas from early technical exploration through design, validation, certification and production.
Interested
If you're the kind of engineer who sees an unfamiliar embedded systems problem and immediately wants to understand what's actually going on underneath it, we'd like to hear from you!
More about this job
Responsibilities
Develop and debug embedded firmware in C and C++ while collaborating with hardware teams to troubleshoot prototype electronics. You will take ownership of firmware features and subsystems, ensuring reliable performance from prototype through to production.
Requirements
Requires 4 or more years of relevant software or electronics engineering experience with a strong background in embedded systems. Candidates must be proficient in C/C++ and have hands-on experience with hardware debugging and communication protocols.
Skills
- Embedded firmware development
- C
- C++
- Python
- MATLAB
- SPI
- I2C
- Bluetooth
- Cellular modems
- CAN bus
- Modbus
- Hardware bring-up
- Schematic review
- FPGA
- VHDL
- Verilog
Benefits
- Health insurance
- Dental insurance
- Life insurance
- Disability insurance
- Paid time off
- Performance bonus
Visa sponsorship
Not detected in the job text
Categories
- Technology
- Engineering
- Software
- Manufacturing
Keywords
- Firmware Engineer
- Embedded Systems
- C
- C++
- Python
- MATLAB
- SPI
- I2C
- Bluetooth
- Cellular Modems
- CAN Bus
- Modbus
- Hardware Bring-up
- Schematics
- FPGA
- VHDL
- Verilog
- SystemVerilog
- GitHub
- Microcontrollers
- Sensors
- Product Development
- ISO 9001
- ISO 13485
- Electronics Engineering
- Computer Engineering
- Software Engineering
- Debugging
- Version Control
- Technical Documentation