We are currently seeking an individual who can take on the role of our Embedded Software Engineer. The individual will work in a development team environment, so a positive attitude and teamwork spirit is an essential. The successful candidate is an energetic, solution-oriented individual with a team-building attitude. The individual has the ability to architect software solutions, understands and debugs low level hardware/software integration, and defines hardware performance requirements for specific software solutions. This individual applies knowledge, skills, and analytical methods to ensure system reliability and optimized performance.

Job responsibilities

  •  Collaborate with a multi-discipline team to define the requirements interfaces between hardware components, microcontrollers and software, and the operational performance requirements of the integrated system

  •  Collaborate with engineers to define functional allocation and the interfaces between software and model- based control algorithms

  •  Develop the high-level architecture through functional analysis and allocation of requirements, concept development and selection

  •  Interface with product development engineers, verification & validation teams, product managers, program managers and other team members to develop products that fulfill customer, manufacturing, service and regulatory requirements

  •  Work closely with the software development team and software verification & validation team to select the development and testing methodology & tools that meet the system and software requirements and comply to the enterprise and industry level processes and standards

  •  Work closely with the software verification & validation team to develop software and hardware integration plans. Use SiL, MiL and HiL methods and tools as applicable for system validation and integration testing

  •  Develop, deploy, and continually improve software processes and architectures, based on applicable standards

    and methodologies

    Technical Leadership

  •  Lead a small team in the design, implementation, testing and maintenance of embedded software and, to a lesser extent, of PC tools used for service and as engineering tools

  •  Select and apply adequate software development models and testing methodologies and tools while following the formal product development process

  •  Own the project software development deliverables and development from conceptual design to production

  •  Provide technical guidance and leadership to the development team during design, development, testing and

validation of software

  •  Lead technical reviews of the software to support development process and ensure technical integrity of software deliverables

  •  Participate in end-product development activities by contributing ideas, concerns, risk analysis and mitigation as required

  •  Participates in end-product design reviews associated with each product development phase including system level reviews and FMEA's

  •  Participate in end-product team meetings to communicate software development status Project Management

  •  Lead at least one or two large size projects or several small to medium sized projects by providing estimates on work scope and creating a plan/ schedule

  •  Create software work break down structures for specific projects for development. Work closely with the development team to ensure that tasks are further decomposed, properly assigned, verified and closed

  •  Conduct risk assessments on software development and create mitigation plans

  •  Assist the organization with scoping, identification of project deliverables, and creation of project-specific

    documentation such as engineering management plans, configuration management plans, requirements

    management plans, etc

  •  Track and communicate software development status

  •  Assist product development teams by preparing and presenting required information at business reviews

    Skills / Qualifications

  •  B.S. or M.S. in Engineering (Electrical, Computer Science, or related Engineering subjects)

  •  5+ years of proven working experience in a s/w engineer role with the full life cycle development of

    embedded software & programming in C

  •  Experience in software development for real time embedded systems and familiar with developing control

    system software

  •  Experience in developing/negotiating verifiable system requirements with customers and the ability to drive

    those requirements down to a software architecture

  •  Experience with various microcontrollers architectures and embedded software tools

  •  Experience with C# and C. QNX and Assembly language experience is a plus

  •  Experience with formal development processes and tools, including requirements development/management

    and configuration management tools

  •  Excellent verbal and written communication skills

  •  Excellent organizational and observational skills with attention to detail

  •  Must be legally authorized to work in the United States without company sponsorship