Embedded Software Engineer (Wind Energy)

Burlington, Massachusetts, United States | Product Development | Full-time | Fully remote

Apply

 If you have a desire to make a difference to our renewable energy future with a dynamic company, have great career growth opportunities as we expand our solutions worldwide, and thrive in a fast paced, exciting team environment, then this opportunity with WindESCo is for you.

WindESCo is a rapidly growing company helping to create a better planet by increasing the green energy output from existing wind farms. We do this by combining the power of engineering, machine learning and IIoT. Our solutions are currently optimizing wind plants in 12 countries across 4 continents. We have an immediate opening for an Embedded Software Engineer in our Product Development team. We are looking for candidates that think big, execute with solid results, thrive in a team-oriented culture, and want to help change the world.

To learn more about WindESCo, please visit windesco.com or view our corporate video. Please apply here.

Embedded Software Engineer

To support our growth, we are looking for an engineer to play a key role in software design, implementation, and testing for our PLC based edge computing platform to optimize the performance of wind plants. In this role you will develop requirements and specifications, write software, and create unit tests and system integration tests. You will be responsible for maintaining and enhancing a codebase including integration of this control software on Linux based industrial PLCs. Testing and integrating software and hardware (PLC digital IO, ethernet, and serial communications), and developing and testing new features. You will conduct FMEA, develop test environments for validating software, and monitor prototype systems in operation. You will also work with the hardware manufacturer to address any integration issues and modify hardware as required. Your responsibilities include working with the team to ensure adequate safety, security, and reliability to keep equipment safe and to maximize wind plant performance as much as possible.

While these will be your primary responsibilities, the work may include data analysis and reporting, and hands-on installing and debugging systems on wind turbines.

You will need to be an innovative thinker who is able to apply principles of object-oriented software design and data handling and perform data analysis to evaluate results. You are excited about figuring out how to make things work robustly, conducting experiments, developing test cases, and writing good quality code. The position requires attention to detail and excellent applied problem-solving abilities. A validation-driven development mindset is key—always looking for possible ways things break. You will need to be well organized, be able to innovate under deadlines and collaborate effectively with others.

Job Responsibilities

  •  Develop software for specific hardware and applications. Design software architecture based on project requirements and hardware specifications
  • Implement software on third party hardware/systems such as PLC’s or IPC’s. Knowledgeable in system integration supporting various communication protocols based on TCP/IP or serial including data control and analysis.
  • Software maintenance including debugging, validating, testing ensuring high production quality code.
  • Develop test simulation environments to ensure rigorous pre-deployment testing of software.
  • Experience with model-driven functions- and software development within control and instrumentation technology.
  • Define, create and tune alarms and notifications.
  • Maintain and improve legacy software using Git to version control with GitHub and develop technical documentation.
  • Occasional travel to troubleshoot field installations. 

Requirements

  • Strong programming and debugging skills in C/C++
  • Good understanding of operating system internals and embedded systems
  • Strong system software engineering skills to solve hard and complex problems
  • Developing system software components, device drivers in Linux kernel space, RTOS or embedded platforms

Preferred Qualifications

The ideal candidate will have one or more of the following:

  • Advanced degree in STEM.
  • Developed edge control applications.
  • Knowledge of wind turbine and wind plant control systems.
  • Wind turbine SCADA data collection and analysis experience.
  • Experience with analog and digital signal processing, communication protocols and IO interface.
  • Hands-on experience implementing control algorithms on physical systems.

Benefits

WindESCo provides competitive compensation plans. In addition, you would receive excellent health and dental insurance, 401k, and paid time off. 

WindESCo has established a progressive workplace that is collaborative, and team focused.