Embedded Software Developer

Kobelt - Surrey, BC (5 months ago)

Apply Now

Full-Time Position

Job Location: Surrey, BC, Canada
Start Date: Immediate

Who We Are

Kobelt manufactures quality products that are built to last; that quality starts with our team. We are a
company located in Surrey with over 50 years of experience developing and producing reliable products for
the global marine and industrial sectors. To find out more about our company and our products, please visit
our website at www.kobelt.com.

The Role

As an Embedded Software Developer at Kobelt, you work in our Engineering Department developing, testing
and supporting firmware for current and future control products.

You spend the majority of your time on R&D projects, working alongside our team of Engineers and
Designers to develop the next generation of our marine vessel control systems. You also support our line of
legacy electronic control products as the need arises.

You report to the Engineering Manager, working with him to design and program embedded firmware. You
primarily program in C on STM32 ARM M4-series micro-controllers. As needed, you work with our in-house
electronics team to coordinate the design of the firmware with our custom circuit boards.

You work in a formal engineering environment, following an ISO 9001 quality system to ensure the highest
level of product reliability and safety. Many of our products are used to control larger vessels (passenger
ferries, coast guard, offshore supply vessels) that are certified by numerous regulatory agencies, so they
must follow strict design rules and be well documented. To comply with these rules, you follow an
established Software Architecture and Functional Design Specification when designing your software. Your
code is clean, well-commented and follows best practices. You are diligent in documenting your design and
write & execute detailed test procedures to verify performance and function.

You’re highly-talented, self-motivated, and comfortable “getting your hands dirty” with a scope and
multimeter to solve practical problems. You’re passionate about embedded software engineering and
product design, and demonstrate it through experience, and/or personal projects.

Responsibilities

  • Detailed design & programming of the embedded firmware for current and future control system
products, in cooperation with other developers and under direction of the Software Engineering
Lead.

o Design to established Functional Design Specifications and Software Architecture
o Work semi-independently to develop software solutions to implement specified functions

  • Develop low-level hardware drivers to integrate with custom Kobelt electronics and other hardware
peripherals:
o Hands-on integration and “bootstrapping” of new firmware for new electronic designs
o Test hardware function using oscilloscopes, logic analyzers, multimeters, etc.

  • Perform test validation to ensure functionality of code base
o Maintain documentation to ensure accurate reporting and history
o Recommend improvements to processes to enhance efficiency

  • Create product specifications and design documentation
8238 129th Street, Surrey, British Columbia, Canada, V3W 0A6

+1 (604) 572 3935 · sales@kobelt.com · www.kobelt.com

o Work within Engineering to create/update design drawings and documents
o Develop and execute test plans for software and hardware feature validation and testing
o Execute new product test and document changes as required

  • Work with teams across the company in areas of hardware, QA, validation and manufacturing.
  • Assist Product Line Managers within Engineering as required.
  • Perform other duties as required.
Minimum Qualifications

  • Technologist Diploma or Degree in Software, Electronics, Computer Science (or equivalent
experience)

o 3+ years of experience programming in C/C++ (on any platform)
o 2+ years of embedded real-time system programming (preferably in C)

  • Have experienced or done all the following:
o Programmed ARM Cortex-M series microcontrollers (or an equivalent 32-bit MCU)
o Followed formal design and planning processes for software development
o Can read and interpret system/electronic schematics and datasheets
o Maintained (written or edited) software detailed design documentation
o Written drivers and configured microcontroller peripherals, working hands-on with the

electronics as needed
o Experience configuring, debugging, and profiling a real-time operating system (RTOS)
o Familiar with Git version control system

  • Able to work with minimum supervision
  • Able to take initiative in a fast-paced and changing environment
Preferred Qualifications

  • Familiar with Marine Industry, types of ship systems and related terminology
  • Preferably, you have experience using the following technologies:
o ARM Cortex M4 Series
o STMicro STM32 processor family
o FreeRTOS
o RS-232, RS-422, SPI and I2C serial buses
o CANbus networks
o CANbus communication protocols (J1939, NMEA 2000, CANOpen)
o Git, JIRA, Confluence
o Embedded firmware unit testing and test frameworks
o Hardware-in-loop testing

  • Experience with design and implement of Software Architecture for real-time systems
  • Experience with a design for test approach to software
  • Experience with product specification, design, and prototyping
  • Experience with software development life cycles and related planning
  • Experience with creation of datasheets and schematics
  • Experience with Python, shell scripting, and configuration management
Standard hours of work are between 9:00am and 5:30pm. Kobelt offers competitive wages.

If you are interested in this position, please forward your resume (PDF) and related portfolio examples to our
Hiring Manager at hr@kobelt.com. We look forward to speaking with you about this opportunity to join the
Kobelt team.

8238 129th Street, Surrey, British Columbia, Canada, V3W 0A6

+1 (604) 572 3935 · sales@kobelt.com · www.kobelt.com