Careers

Richmond, British Columbia

Senior Embedded Software Engineer

Senior Embedded Software Engineer
Richmond, BC – Hybrid

Description:

In this role, as a technical expert, you will be a part of a talented Agile team of embedded software engineers working collaboratively to develop communication interface and controls software for our range of cloud connected inverter products, and accessories.

This position will be responsible for requirements analysis, specification, design, coding, debugging, documentation, and mentoring other team members. We are looking for a positive, composed, self-motivated, passionate person with a strong desire to work in an exciting, fast-paced team based collaborative design environment to help us develop next generation technologies to empower and connect our products to each other, and to our customers.

If you are interested in learning about Networking protocols, embedded real-time applications, have strong aspirations for separate and collaborative software development, and are excited about contributing to a world-class product then this is the position for you.

Responsibilities:

Collaborate in the architecture, design, implementation, and maintenance of firmware running a multi-interface communication module.
Develop detailed requirements and specifications based on product and system requirements, working in concert with marketing managers, engineering project managers, and other multi-discipline technical innovators in multiple locations world-wide.
Works closely within a team of embedded firmware engineers and system engineers to implement specified functionality.
Promotes and embraces the Test Driven Development(TDD) and Agile (Scrum)
methodologies.
Programming for real-time, multi-threaded, and concurrent embedded systems in C/C++
Follows established development guidelines and standards and make recommendations for improvements.
Writes test plans and conducts design verification tests.
Debugs firmware based on test results and issues identified by other testers.
Provide mentorship for other team members.

Qualifications:
Bachelors or Masters degree in Electrical Engineering, Computer Engineering, or
Software
Engineering with 5+ years hands-on experience.
Strong written and verbal communication skills.
Experience designing and writing embedded firmware in C for embedded Linux or other POSIX compliant operating system.
Experience designing and writing multi-process, or multi-threaded, firmware running within an RTOS and/or embedded POSIX compliant OS.
Experience with digital communication interfaces such as Ethernet, WiFi, USB. Experience designing and writing peripheral device drivers and board support packages.
Experience with internet protocols such as HTTP, FTP, SMTP, NTP, SNMP, Telnet, SSL, and/or others.
Excellent written and verbal communication skills, with the ability to communicate clearly and concisely to all levels within the organization including formal meetings and presentations.

Highly Desired:
Experience working with the QNX operating system.
Experience developing embedded web user interface applications utilizing HTML, CSS, JavaScript, and advanced client-side web application frameworks such as AngularJS, Backbone, or Knockout
Experience with scripting languages such as Python and Lua.
Experience with digital communication interfaces such as CAN, RS-485, SPI, I2C, TWI, LIN, and/or others.
Experience with wireless communication protocols such as Bluetooth and Zigbee
Experience with communication protocols such as DNP3, CANopen, J1939, Modbus, Profibus, and/or others.
Apply for this job

Our Advisor for this position

Wandalin Jana

Talent Acquisition Manager

Discover
the benefits of
Alten Canada
Learn more