Job Description
We are looking for a motivated team player to be part of our embedded software design team, where they will play a key role in designing, developing, and enhancing our industry-leading IoT water network products. Our products are deployed in large numbers globally, and assist our customers in managing critical water infrastructure. The successful candidate will have a passion for developing embedded software systems; a keen eye for reliable embedded software design, and the methodologies needed to achieve it; and a tenacity for problem solving and debugging, leaving no stone unturned in the pursuit of quality and performance. Collaborating with internal stakeholders and a multi-disciplinary engineering team, they will help to guide our products through every step of the design lifecycle: from inception all the way through sustaining engineering.This position will be located in our Toronto office with a hybrid work option to work 3 days per week in office and 2 days per week remote. This is a 12 month contract position.Key Responsibilities
- Provide input to design architecture and system requirements
- Implement detailed designs based on provided requirements
- Provide advice on technical problems and review project work for technical accuracy and adequacy
- Firmware (embedded software) development based on system requirements. This includes code development, unit test development, as well as design and development documentation
- Development level testing throughout the implementation process which includes code debugging and participating in code reviews
- Debugging code by incorporating hardware signals and lab equipment
- Production level code debugging to find the root cause of and fix bugs that occur infrequently and only on statistically significant sample sizes (1000+ devices)
- Produce well documented and easy to read code
- Support products from release to quality assurance through to field trials and production including fixing bugs reported by QA
- Generation of BSPs and chip drivers
- Participate in an Agile development environment
- Other duties as assigned
Position Requirements- 6+ years of experience in firmware development
- 4+ years of experience with embedded C programming language
- Working knowledge of the internal architecture of MCUs to enable making use of a variety of peripherals
- Working knowledge of hardware to facilitate integration efforts. This includes the ability to read hardware schematics and using test equipment like oscilloscopes, logic analyzers, signal generators, power supplies, … to facilitate code development and debugging
- Ability to understand binary protocols and comfortable working with binary data
- Experience with multi-threaded programming
- Familiarity with Linux
- Experience with source code management/versioning tools and practices
- Experience with Python and MATLAB/Octave
- Ability to produce detailed technical documentation
- Strong problem solving and analytical skills
- Demonstrably excellent organizational, communication and interpersonal skills
- Ability to work both independently and as a team contributor
- Ability to produce detailed technical documentation
- Bachelor’s degree in electrical & electronics engineering, computer science, or similar degree
Position Assets- Working experience with FreeRTOS
- Experience with ARM Cortex-M family of MCUs
- Experience with GPS/GNSS and cellular modem modules
- Experience with battery operated and low power applications
- Experience with TCP/IP
- Experience within an Agile development environment
Mueller is committed to providing accommodation for people with disabilities. Accommodation is available, upon request, for candidates participating in the recruitment process.We thank all applicants for their interest, however, only those selected for interview will be contacted.We are an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, status as a protected veteran, or any other category protected by law.
Apply
Go Back