Senior Embedded Software Engineer Requirements
As the senior embedded software engineer, you will participate in the design of software components based on provided functional specifications and customer/internal requirements. As well as implement software components based on high and low-level design descriptions. You will also provide rapid prototyping software design ideas and methodologies.
- Write test software for hardware products and participate in testing and debugging of new hardware and software designs.
- Understand the functional specifications of software components and participate in high and low-level design activities based on such specifications.
- Study and understand existing software design and implementation. Modify, extend, and/or debug past implementations to support revised or novel products.
- Develop software building blocks based on design specifications. This task may involve the development of a wide range of software components such as interpreted scripts, application programs, device drivers, unit tests, web pages, and graphical user interfaces.
- Prototype multiple implementation techniques rapidly, analyze the prototypes, and propose the best technique that will meet the requirements of the current design.
- Participate in the integration of software building blocks into a software product release.
- Develop unit testing software to aid the testing and debugging of hardware and software products.
- B.S. or equivalent in Computer Science/Engineering or related field.
- Three plus years of experience in software design and development.
- Proficiency in standard C, understanding of assembly programming, and expertise in one or more scripting languages such as #Perl, #Python, #PHP, #Ruby, etc.
- Understanding of computer architecture, embedded programming techniques, command-line compilation tools, build systems based on Makefiles, and development/debugging using popular debuggers such as gdb.