Software Engineering Manager

Design Engineering, Full Time

As the Software Engineering Manager, you will lead the team of embedded software engineers within the engineering department.  You will be responsible for ensuring that the group is successful in completing the software and software-related portions of our NPD/NPI projects.  Additionally, as projects require, you will contribute directly to the development and test of firmware and/or software for the highly integrated, custom embedded systems-based products we develop for our customers.

Functions & Responsibilities

In the role of Software Engineering Manager:

  • You will lead the Software Engineering group and maintain responsibility for the development of embedded software for new electronic products ranging from simple microcontroller-based solutions to highly complex embedded processing systems.
  • You will oversee planning and execution of complex embedded systems development projects – working with project teams to identify required development and testing activities.
  • You will coach project team members in identifying software requirements and developing corresponding design architectures that yield the best balance of performance and cost.
  • You will guide team members in developing detailed software specifications based on product requirements and implementing embedded code in accordance with those specifications.
  • You will establish software verification testing tools and best practices and assist in the execution of software QA/testing activities as needed.
  • You will document ideas, designs, specifications, and instructions to Enercon’s standards.
  • You will operate in the role of subject matter expert with respect to embedded software design and applicable development processes – IEC 62304, etc.
  • You will collaborate with the Director of Engineering to develop, improve, and maintain department processes and tools related to software development.
  • You will work with Program Managers to quote software development work and plan/maintain the project schedule for development programs.
  • You will be accountable, along with other members of the management team, for the successful completion of projects on schedule and within budget.
  • You will be responsible for hiring, performance reviews, and fostering the personnel development of members of the software engineering group.
  • You will mentor other members of the engineering staff to promote design team abilities and establish good working practices.

Job Requirements

The skills you need to succeed:

  • You must have demonstrated expertise in developing with C/C++ in embedded environments including bare-metal, multi-threaded RTOS, and embedded operating systems (Linux, etc.)
  • You must have communication and technical leadership skills needed to interface with the customer and direct a technical team through a development project.
  • You must possess a strong sense of urgency and perseverance in pursuit of project and department goals.
  • You must have specific experience with common microcontroller and/or embedded processing platforms such as ARM and PIC. Experience with DSP and/or FPGA based SoCs is a plus.
  • You must have strong understanding of embedded software design and architectural concepts as well as the integration between firmware and hardware.
  • You must have a strong understanding of software development tools used in the context of embedded systems. Familiarity with source control via Git and other established systems such as Jira is a strong plus.
  • You must have a thorough understanding of higher-level languages, object-oriented methodologies, UI implementation, and PC application programming. Experience with Qt framework is a strong plus.
  • You must have a strong understanding of software test and QA tools and methodologies.
  • You must have demonstrated knowledge of design controls, documentation, and organization in a regulated development and manufacturing environment (ISO 13485, FDA, IEC 62304, UL).
  • You must have excellent written, oral communication and presentation skills appropriate for public and professional settings.
  • You must possess good interpersonal skills and the ability to work between multiple departments in carrying out this position’s duties.

Educational Requirements

Education and experience of a successful candidate:

  • A 4-year degree or equivalent experience in Computer Engineering, Electrical Engineering, Computer Science or a related engineering discipline.
  • A minimum of 8 years of embedded firmware development or equivalent experience. 15+ years preferred.
  • A minimum of 3 years of engineering management or equivalent experience

Benefits

  • Enercon Technologies offers a competitive Benefits Package.