Job Summary Design, develop, debug and modify embedded hardware and software. Provides technical expertise in executing complete embedded software development life cycle.   Essential Functions

  • Design and implement software of embedded devices and systems from requirements to production and commercial deployment
  • Design, develop, code, test and debug system software
  • Review code and design
  • Analyze and enhance efficiency, stability and scalability of system resources
  • Integrate and validate new product designs
  • Support software QA and optimize I/O performance
  • Provide post production support
  • Interface with hardware design and development
  • Assess third party and open source software
  • Responsible for Architecting, Defining, Planning and execution of Test strategy/infrastructure
  • Responsible for the development of the test framework and integration of the tests into the test framework
  • Responsible for the periodic regressions, result analysis and first level of triaging of the issues.
  • Analyzing the test requirements for each of the different software modules like boot loaders, bare metal drivers, Linux kernel, Linux drivers, etc. and come-up with a test strategy and framework which can meet the requirements for all the modules
  • Setup , Monitor and Generate the required metrics (Code Coverage, Performance etc)
  • Manage a team of 4 to 5 engineers
  • Proactive and periodic communication to all the stakeholders.

Expectations

  • Is able to mentor team members
  • Works well in a team environment and alone
  • Has ability to adapt to the changing needs of a project
  • Has ability to meet deadlines
  • Has strong communication skills, both in writing and orally
  • Is enthusiastic and loves challenges

Qualifications

  • 10+ years of experience in embedded software engineering
  • BE/B.Tech or higher degree in Computer Science or Engineering
  • Experience in hands-on development and troubleshooting on embedded targets
  • Solid programming experience in C or C++
  • Proven experience in embedded systems design with preemptive, multitasking real-time operating systems
  • Familiarity with software configuration management tools, defect tracking tools, and peer review
  • Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems
  • Adequate knowledge of reading schematics and data sheets for components