Embedded Software Engineer
- Participate in design of software components based on provided functional specifications and customer/internal requirements.
- Implement software components based on high and low-level design descriptions.
- Rapid prototyping of software design ideas and methodologies.
- Write test software for hardware products and participate in testing and debugging of new hardware and software designs.
- Understand 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 bocks based on design specifications. This task may involve development of 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 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.
All candidates must be U.S. Citizens or Permanent U.S. Residents. Space Micro is an equal opportunity employer.