Senior Embedded Firmware Engineer
Markham ON
Full-Time Regular
Senior Embedded Firmware Engineer
Our client is a globally recognized, publicly traded company operating in over 70 countries. They are a leading manufacturer of power system assets, including protection relays, transformers, and turbines. These products find extensive applications in various sectors such as utilities, renewables, oil and gas, and industrial facilities. Their protection relays, in particular, are extensively utilized across North America and worldwide, serving as primary and backup protection in diverse segments.
Position Overview:
This position works within our client's grid automation team who are a leader in the protection, control, and automation of the world’s power grids. More sustainable grids require better visibility, faster controls, and advanced automation - challenges addressed through innovative and flexible software solutions. As part of our team, you could:
- Help develop new software tools and sophisticated control systems to enable next-generation networks
- Help create a fleet of intelligent edge devices to protect, control, and automate the grid
- Build control solutions for a microgrid
- Develop the algorithms and analytics that optimize the electrical grid and enable it to become autonomous
Benefits of working with this global company:
Gain experience across new technologies:
• Design and develop cloud applications, edge computing solutions, and AI analytics, utilizing technologies such as Kubernetes, Kafka, gRPC, Go, and JavaScript
• Implement microservice architecture and containerization to ensure scalability, reliability, and maintainability of software solutions
• Participate in the full software development lifecycle, including requirement analysis, design, implementation, testing, and deployment
• Leverage state-of-the-art DevOps tools and practices, including Jenkins, Jira, and others, to support development and deployment processes
Advancement and training opportunities:
• Take advantage of in-house and external training opportunities on new technologies
• Benefit from buddy, mentoring, and coaching programs
• Participate in our Affinity Network and be part of a diverse and inclusive community that enriches company culture through community involvement
Essential Responsibilities:
- Architects, designs and/or programs/develops a small module or a large component, feature, set of features, whole feature area or entire embedded software product. Some areas of expertise may include, but is not limited to, networks, operating systems, cybersecurity, databases, or applications.
- Identifies scope of the work, provide initial estimate and justify the estimate with facts
- Engages in technical discussions; participates in technical designs and presents technical ideas through white boarding
- Designs and implements features or components of feature on request from various programs
- Works closely with peers and keeps engaging in a fast pace technical design and development team
- Executes in a fast pace delivery mode and focuses in delivering tasks to meet the product release goal
- Maintains code quality through best practices, code reviews and unit testing
- Customer-oriented focus in the root cause analysis of issues during programs execution
- Seeks and provides feedback on design and development
- Demonstrates the ability to make informed technology choices after due diligence and impact assessment
- Articulates the need for scalability and understand the importance of improving quality through testing.
- Provides guidance to other team members with either planning and execution and/or design architecture
Required Qualifications:
- Bachelor’s Degree in Computer Science, Electrical Engineering, or Computer Engineering.
- Minimum of 8 years of embedded development experience.
Desired Characteristics:
- C++ preferably C++17 programming skills and understanding of object oriented design and development
- Strong grasp of RTOS; VxWorks, embedded Linux fundamentals
- Good understanding and programming skills of modern languages such as GO and Python
- Exposure to modern development environments CI/CD, automated software unit-testing
- Knowledge of microcontrollers; NXP Freescale family, Xilinx SoC’s, Altera SoC's