An exciting opportunity has arisen for an Embedded Software Engineer with a strong background in embedded microprocessor systems. This role involves working collaboratively, designing algorithm-based software features, and environmental sensor solutions for Airmar products. The ideal candidate should exhibit adherence to best engineering design practices, demonstrate proficiency in efficient ‘C’ software development for resource-limited platforms, and possess excellent written and verbal communication skills. Knowledge of Bluetooth, Ethernet, CAN Bus, and other electronic communication methods is a valuable asset.
- Design, document, and develop software for embedded real-time microprocessor systems, following the full software development lifecycle within a team-oriented environment.
- Create software for embedded product features, aligning with user requirements and enhancing customer satisfaction.
- Develop software tools in Python to support engineering development and testing needs.
- Adhere to coding standards, development procedures, and documented processes.
- Actively participate in design reviews, code assessments, and other forms of collaborative peer review, serving as both a presenter and a reviewer.
- Engage in open and active collaboration as part of cross-functional development teams and alongside other software engineers.
- Evaluate product, technology, and feature proposals and provide level-of-effort estimates.
- Collaborate in requirements gathering and analysis by consulting with stakeholders from product, technology, and feature teams at all organizational levels.
- Generate software specifications and assess operational feasibility.
- Debug, troubleshoot, and update existing software systems.
- Plan product, technology, and feature software, effectively communicating concepts to stakeholders throughout the organization.
- Minimum BS degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
- Minimum 5 years of proven work experience as a Software Engineer with embedded microprocessor systems.
- Proficiency in embedded C programming, with additional experience in C++ and/or ARM Assembly being advantageous.
- Familiarity with common embedded software development and debugging tools, including compilers, editors, and JTAG emulators. Experience with oscilloscopes and logic analyzers is a plus.
- Ability to document and convey ideas to both technical and non-technical audiences.
- Strong foundation in mathematics and engineering sciences, with signal processing experience considered beneficial.
- Familiarity with developing complex Python Graphical User Interfaces (GUIs) is an advantage.
- Proficiency in French with at least limited working proficiency is a plus.
The ideal candidate should possess the ability, with or without reasonable accommodation, to perform the primary job functions. This may involve utilizing a combination of skills and abilities. The role may also necessitate specific physical requirements.
Primary functions may include:
- Bending at the waist or knees.
- Extending hands and arms in different directions.
- Using upper extremities to exert force for drawing, dragging, hauling, or tugging objects.
- Lifting up to 50 lbs.
- Visual acuity sufficient for reading, writing, and computer work.
- The capacity to undertake repetitive or routine tasks following detailed instructions and established procedures.
- Endurance for periods of heavy workload.
- Ability to work while sitting or standing.
If you believe you meet the qualifications and would like to apply for this Embedded Software Engineer position, make sure to provide all necessary information.