Firmware Engineer

Framework Science is on a MISSION that focuses on Exploring new technologies and building tomorrow's Applications. This means we hire TOP Engineers and Designers by providing great benefits and pay so they can focus on solving what's never been solved before. We aim to push the needle of innovation while enabling Technical staff to impact code or products at the architecture level.  Work with very bright individuals and prosper economically for the value you bring to the table. Our culture is driven by putting our Engineers first with Work-life balance and an environment that sparks the imagination. Join us as we dare to Explore the Unknown!

Where do we come from?
Broadcom, Yahoo, Sony, Samsung, Thermo Fisher, Blackbaud, and many well-known tech companies

About Our client:

Our client’s product is a location and data-based marketing intelligence startup. Our solutions facilitate meaningful connections between consumers, brands, and retailers, providing insights into consumer behaviour and the customer purchase journey. As we continue to grow, our team in Vancouver is immediately looking to add ambitious, eager to learn, intelligent and talented individuals to the technical team! We are looking for someone that:

  • Wants to be a part of something big – an emerging new global brand
  • Is interested in marketing, consumer behaviour, and cutting edge technology
  • Can thrive in a fast-paced, rapidly changing work environment
  • Is eager to work with and learn from a team of experts
  • Has the aptitude to embrace change and welcome new approaches in an exceedingly evolving environment of new technology 

We are looking for individuals who desire the excitement and learning opportunities that come with working at a startup. The work we do is challenging, exciting, has amazing potential, and we’d like for you to share in that experience!

About the Tech:

Our product is a plug-and-play hardware platform, enabling retailers to leverage modern analytics and marketing technology without replacing their existing IT infrastructure. Installation can take as little as 60 seconds!

We have a microservice-based tech stack hosted in AWS. We primarily use:

  • S3
  • CloudFormation
  • IoT core
  • ECS

  • EC2
  • API Gateway
  • DynamoDB

There are a few main components to our platform:

  • The IoT device collects raw data and transmits it to the cloud
  • The cloud-based data structuring / processing system turns raw data from the device into useful, structured, tabulated data
  • The presentation component in the form of dashboards, an interactive portal, and user management interfaces to display the processed data
  • Our promotions engine, which pushes marketing material back to the customer through various channels

Working in our client’s product you will be focused exclusively on the hardware and firmware development for the product that powers our platform. While this will be mainly firmware focused, PCB design experience is a great asset.


For the device & firmware, we need people with skills in: 

  • Embedded C programming (pointers, memory allocation, syntax, etc should all be second nature)
  • Embedded firmware design with ESP-IDF, FreeRTOS, or experience with similar platforms.
  • Comfortable with multitasking programming environments and the issues that can come with it (mutual exclusion, race conditions, shared memory access control, etc)
  • Writing firmware for microcontrollers to communicate with integrated circuits over SPI / I2C / UART
  • C networking and socket libraries
  • Strong background in embedded code architecture (proper use of tasks, queues, buffers, abstraction, etc)
  • Fairly detailed USB protocol knowledge is needed (2.0 low/full speed)
  • Experience using protocol analyzers (USB), logic analyzers, oscilloscopes
  • Excellent problem-solving skills, and the ability to narrow down challenging and complex problems with limited information

In addition, it would be a great asset if you had experience with:

  • Bluetooth
  • FPGA / HDL
  • General PCB hardware debugging / design knowledge

All candidates should be comfortable with:

  • Using Linux
  • Writing / using Bash scripts
  • Writing / using Python scripts
  • Using Git and merging branches, working with pull requests
  • Code reviews, both reviewing and being reviewed
  • Issue tracking and using a project management system
  • Reading and understanding datasheets
  • Writing documentation
  • Writing test cases
  • Asking for help
  • Taking advice under consideration
  • Being able to say "I don't know" rather than guessing
  • Shifting project priorities

Want to apply later?

Type your email address below to receive a reminder

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field
ErrorRequired field
ErrorRequired field
ErrorRequired field
ErrorRequired field
ErrorRequired field
ErrorRequired field
ErrorRequired field