Software Development Engineer

Position Scope:

We are seeking an engineering professional to become a member of a highly skilled Engineering team developing products for our three brands. The right candidate must have successful distributed control system software development coupled with strong troubleshooting skills and must possess excellent written and oral communication skills in English.


Provide, as a principal contributor, the architecture, overall design and documentation of machine control software used in renewable energy and automation applications. Translate general, possibly vague, product requirements into definition, architecture, and design for complex systems. Participate in definition, scope, subsystem breakdown, preparation of specifications and project scheduling. Exercise judgment within broadly-defined guidelines in recommending and selecting methods, techniques, and tools for complex software projects. Candidate must be proficient in theoretical and practical aspects of software development, architecture design, hardware/software design, specification, implementation, and test.

Job Requirements:

  • Bachelor’s or Master’s Degree in Software or Electrical Engineering
  • Project Leadership Skills
  • Hardware Knowledge as it relates to digital circuits
  • Excellent verbal and written communication
  • Embedded Machine Controller software development for ARM and other processor architectures
  • Experience with programming realtime operating systems
  • Programming in C/C++, Java, Assembler
  • Experience with CANopen communication protocols
  • Basic Web Development
  • Iterative development experience
  • Duties:

    • Lead Software Development Projects
    • Contribute to New Product Development
    • Update/Upgrade existing controller software to improve functionality and reliability
    • Occasional customization of machine software to meet specific customer needs
    • Occasionally create and make presentations to Sales, Marketing, Field Service, Manufacturing and various levels of management regarding product architecture, progress and schedule.