Job Description
About Us
Atlas Power Technologies is a pioneering company on a mission to revolutionize energy storage with our proprietary supercapacitor technology. Developed through fruitful collaborations with top Canadian universities, we have created a cutting-edge supercapacitor that outperforms traditional batteries with its unparalleled cycle life and lightning-fast charging and discharging capabilities. As we enter the commercial phase of our journey, industrial titans have taken notice, and we've raised significant capital to accelerate our rapid growth.
At Atlas Power, we believe in a sustainable future and are passionate about creating industry-leading technologies that make a positive impact on our world. If you share our vision and possess the expertise and determination to build exceptional clean energy solutions, we invite you to join our innovative team!
The Role
As a Senior Embedded Software (Firmware) Engineer, you will play a pivotal role in our journey, collaborating with a team of skilled professionals to develop the firmware for our state-of-the-art Energy Storage systems. You'll take the lead in expanding and guiding our system firmware function, working closely with management, control engineers, and electrical engineers to deliver top-notch embedded control system platforms that meet product requirements.
We're looking for a standout individual with a passion for embedded system development, extensive firmware design and optimization experience, and excellent communication skills. You'll have the opportunity to showcase your technical leadership while contributing to groundbreaking advancements in the clean energy industry.
The Responsibilities
This position reports to the Firmware and Software Development Manager to perform the following responsibilities:
- Designs, develops, integrates, and maintains system firmware for EMS and BMS controllers and related embedded platforms used in high-power energy storage and power conversion systems.
- Develops embedded platform software, including Board Support Packages (BSPs), device drivers, RTOS-based services, hardware abstraction layers, and reusable system interfaces.
- Develops and integrates inter-processor communication, shared-memory data exchange, synchronization, and resource-management mechanisms for multicore embedded platforms.
- Implements and maintains communication interfaces between embedded controllers and external devices using technologies such as CAN, Ethernet, TCP/IP, UDP, SPI, I2C, and UART.
- Integrates system, communication, and control software modules while ensuring reliable data flow, timing performance, fault handling, and deterministic real-time operation.
- Supports processor and board bring-up, firmware configuration, debugging, performance optimization, and troubleshooting on TI and other embedded processor platforms.
- Develops system services for diagnostics, logging, configuration management, health monitoring, and firmware update and recovery.
- Defines and maintains modular firmware architectures, software interfaces, coding practices, and technical documentation that support product scalability and long-term maintainability.
- Plans and executes unit, integration, system, and hardware-in-the-loop testing; investigates anomalies and supports design verification and firmware release activities.
- Contributes to firmware build automation, test automation, configuration management, and Continuous Integration (CI) processes using scripting tools such as Python or PowerShell.
- Collaborates with internal engineering teams, external partners, clients, and vendors throughout the product development lifecycle and supports technical knowledge transfer when required.
Knowledge Requirements
- Strong hands-on experience developing embedded firmware for ARM-based microcontrollers, DSPs, or multicore processor platforms using bare-metal and RTOS-based architectures.
- Strong proficiency in embedded C/C++, with practical experience using Python or other scripting languages for development, testing, and automation.
- Experience with TI embedded processor platforms and vendor software development kits is highly desirable.
- Strong understanding of real-time embedded system design, including tasks and threads, interrupts, timers, DMA, memory management, concurrency, synchronization, and low-latency deterministic execution.
- Practical experience with multicore software concepts such as inter-processor communication, shared memory, message queues, resource ownership, cache coherency, and synchronization.
- Experience developing and troubleshooting embedded communication interfaces and protocols, including CAN, Ethernet, TCP/IP or UDP, SPI, I2C, and UART.
- Experience with Board Support Package development, hardware abstraction, device drivers, processor and board bring-up, and embedded peripheral integration.
- Proven ability to debug embedded hardware and firmware using tools such as JTAG debuggers, trace and logging tools, oscilloscopes, logic analyzers, and network or protocol analyzers.
- Strong knowledge of firmware architecture, modular design, interface definition, code quality, maintainability, and configuration management.
- Hands-on experience with distributed version control systems such as Git/GitLab and collaborative firmware development workflows.
- Experience with automated builds, Continuous Integration (CI), unit testing, integration testing, and hardware-in-the-loop methodologies is an asset.
- Experience working in Agile or Scrum product development environments is preferred. Experience with power conversion, energy storage, industrial control, or other safety- and reliability-focused embedded products is an asset.
- Excellent technical communication and documentation skills in English, with the ability to work constructively with multidisciplinary engineering teams and external partners.
Education and Experience Requirements
- Master’s degree in Electrical Engineering or a similar major (Computer Engineering, Computer Science, Software Engineering) with a minimum of 5+ years of hands-on practical and relevant work experience in embedded system development highly preferred.
- Bachelor’s degree in Electrical Engineering or a similar major (Computer Engineering, Computer Science, Software Engineering) with a minimum of 8+ years of hands-on practical and relevant work experience in embedded system development acceptable.
Our Core Values
Exceptionalism: We seek outstanding, passionate, and driven individuals who strive for excellence in everything they do.
Family: We value each team member on a personal level, understanding that family comes first. We work to improve the personal and financial situations of our associates.
Environment & Business: We take responsibility for our collective actions, aiming to address environmental challenges and build sustainable technologies with profitable business models.
Improving lives through Innovation: We believe innovation and continuous improvement will better the lives of everyone. Our groundbreaking clean technologies contribute to a lasting positive legacy for our world.
If you're ready to make a significant impact and shape the future of clean energy, join us at Atlas Power Technologies. Be part of our dynamic team and together, let's create a sustainable world for generations to come!
Pay: $80,000.00-$120,000.00 per year
Benefits:
- Casual dress
- Dental care
- Disability insurance
- Extended health care
- Life insurance
- On-site parking
- Paid time off
- Vision care
Ability to commute/relocate:
- Abbotsford, BC: reliably commute or plan to relocate before starting work (required)
Work Location: In person