Job Description:
The Embedded Software Engineer applies the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the embedded software and systems that make computers work. The Embedded Software Engineer researches, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
Responsibilities:
*Design and implement software of embedded devices and systems from requirements to production and commercial deployment for product lines.
*Write and code logical and physical database descriptions and specify identifiers of database to management system or direct others in coding descriptions.
*Analyze and enhance efficiency, stability and scalability of system resources
*Review project requests describing database user needs to estimate time and cost required to accomplish project.
*Responsible for working with application leads and integrating software libraries to build flash file application releases that get put on our engine controllers.
*Receives build instructions from the application lead to add new features and/or migrate to new lower level library releases.
*Incorporate the proper data set into the build and then test to the specifications given by the requirements from our process partners (machines, marine, industrial etc.)
*Occasional support required from our process partners which can require troubleshooting software with a debugger.
*Develop embedded software for electronics control systems supporting diesel engine programs.
*Configuration, integration, build and testing of embedded software on diesel engine systems; testing software for embedded electronic control systems includes requirements development and verification of software in a bench environment as well as troubleshooting software or system defects.
Requirements:
*Bachelor's degree in Computer Science or Engineering
*3+ years experience
*Knowledge of reading schematics and data sheets for components
*Basic knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.
*Basic ability to troubleshoot issues and make system changes as needed to resolve issue.
*Basic knowledge of computer hardware and software.
*Solid programming experience in C or C++
*Knowledge of computer development software as it relates to embedded systems, such as SQL, VisualBasic, etc.
Any Graduate