Lead Embedded Software Engineer- Linux

Eaton CorporationRaleigh, NC
14h

About The Position

Lead global engineering teams in the development, testing and release of embedded Linux software for technology development projects and new product development projects (uninterruptible power supplies, energy storage, power distribution, energy metering, and similar products) while meeting schedule, cost, and product performance goals. Evaluate business requirements to determine potential solutions. Develop overall software architecture and requirements for technology development and new product development projects. Architect new features and develop requirements. Write and maintain functional specifications of design solutions. Create project plans, work breakdown structure, schedule estimates for upcoming software projects while managing ambiguity. Monitor the activities on software development and adapt plans to meet the schedule. Interface closely with cross-functional team members to create high quality products. Lead process improvement initiatives. Work with a cross-functional team to implement new processes. Analyze, design, code and test software used in uninterruptible power systems, power distribution systems, and other power quality products Develop high quality, high performing software that meets coding standards and product design requirements. Develop test plans and monitor test results. Document software components and interactions using flowcharts, diagrams, code comments, and code snippets. Perform software design reviews, code reviews for other members of the team. Formally releases embedded software following company procedures. Apply best engineering practices, good judgement and decision making for advanced technical problem solving. Mentor fellow team members on new technologies, architecture principles, and good coding practices. Bachelor's Degree in Electrical, Computer, Software Engineering, or Computer Science from an accredited institution with a minimum of seven (7) years of work experience in embedded Linux OR Master's Degree in Electrical, Computer or Software Engineering or Computer Science from an accredited institution with a minimum of five (5) years of work experience in embedded Linux.

Requirements

  • 7+ years of development experience in a Linux environment.
  • Experience with Yocto build environment & multi-core embedded systems; experience with Dunfell and Kirkstone Linux distributions
  • Demonstrated competency using or designing systems communicating with industrial networking protocols (e.g. HTTP, TCP/IP, MQTT, Modbus, SNMP, BACnet, CAN)
  • Experience leading global software projects
  • Experience with Agile development methodologies and concepts
  • Experience using software development lifecycle management tools in a team environment (Jira, Git, etc.)
  • Solid understanding of CyberSecurity and/or Cryptography
  • Solid understanding of Software design principles, algorithms, data structures, and multi-threading concepts
  • Strong knowledge of Linux operating systems and associated development platforms
  • Strong level skills in C++ and understanding of Object-Oriented Design (OOD) principles
  • Strong problem solving and software debugging skills
  • Ability to demonstrate excellent written and verbal communications
  • Ability to apply automation to tasks that require them
  • Position requires an individual who is self-motivated, self-managed, team-oriented, proactive, attentive to detail, task oriented, and able to overcome obstacles to meet schedule requirements
  • Bachelor's Degree in Electrical, Computer, Software Engineering, or Computer Science from an accredited institution with a minimum of seven (7) years of work experience in embedded Linux OR Master's Degree in Electrical, Computer or Software Engineering or Computer Science from an accredited institution with a minimum of five (5) years of work experience in embedded Linux.

Nice To Haves

  • Experience with EdgeX Foundry

Responsibilities

  • Lead global engineering teams in the development, testing and release of embedded Linux software for technology development projects and new product development projects
  • Evaluate business requirements to determine potential solutions.
  • Develop overall software architecture and requirements for technology development and new product development projects.
  • Architect new features and develop requirements.
  • Write and maintain functional specifications of design solutions.
  • Create project plans, work breakdown structure, schedule estimates for upcoming software projects while managing ambiguity.
  • Monitor the activities on software development and adapt plans to meet the schedule.
  • Interface closely with cross-functional team members to create high quality products.
  • Lead process improvement initiatives.
  • Work with a cross-functional team to implement new processes.
  • Analyze, design, code and test software used in uninterruptible power systems, power distribution systems, and other power quality products
  • Develop high quality, high performing software that meets coding standards and product design requirements.
  • Develop test plans and monitor test results.
  • Document software components and interactions using flowcharts, diagrams, code comments, and code snippets.
  • Perform software design reviews, code reviews for other members of the team.
  • Formally releases embedded software following company procedures.
  • Apply best engineering practices, good judgement and decision making for advanced technical problem solving.
  • Mentor fellow team members on new technologies, architecture principles, and good coding practices.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service