Embedded Software Team Lead

Location: Pittsburgh, PA

Job Type: Full Time / Permanent


  • Be involved in software development and maintenance activities for image analysis and acquisition software packages
  • Participate in team-based creation of requirements, specifications, architecture and design of software products
  • Participate in the development, debugging, testing, deployment, maintenance and all phases of the Software Development Lifecycle (SDLC)
  • Manage and assign work to the embedded software development team
  • Design and implement new embedded software based on future project requirements; determine hardware, software and system requirements for newly developed applications by examining design criteria, system feasibility and capabilities
  • Design and develop custom solutions in embedded C and/or C++. Maintain and improve existing embedded software
  • Develop and test embedded firmware using debuggers, emulators, simulators, and logic analyzers. Test code on the target application board
  • Work with product engineering teams to provide access to software, system, and documentation to facilitate product testing and release
  • Maintain software documentation and resources by creating and maintaining release notes, system specifications and design documentation
  • Lead the effort to migrate image processing functionality to an FPGA platform
  • Participate in product definition activities including feature analysis and system trade-offs
  • Provide software release packages with appropriate release notes and documentation that aid quality assurance in the testing of the systems
  • Participate in all facets of agile software development initiatives including iteration/sprint planning, scheduling, retrospect’s, troubleshooting, paired programming, debugging, unit testing, code reviews and support software process improvements
  • Help team members develop their skills in embedded software
  • Work with the Director of Software Engineering to develop the budget and expenses for the embedded team
  • All other duties as assigned by management

Education & Experience:

  • BS in Electrical Engineering, Computer Engineering or Computer Science
  • 3+ years of experience in embedded systems
  • Experience with FPGA logic design, synthesis and layout
  • Experience with VHDL or Verilog coding and programming
  • Experience with C and/or C++ program design, development, and troubleshooting
  • Experience in the development of scientific software preferred
  • Experience with digital image processing and digital signal processing preferred
  • Experience leading a team preferred
  • Ability to lead a dedicated project team
  • Familiar with Embedded Linux
  • Ability to architect systems and hardware and map to requirements for FPGAs
  • Familiar with Source Code Control, build and release management (Subversion, Git, Team Foundation Server)
  • Strong interpersonal and communication skills
  • Knowledge/experience with agile development processes (SCRUM) preferred