Education Requirements:
- Bachelor''s degree in Computer Science, Software Engineering, or relevant field
Required Skills for the Embedded Software Engineer:
- 8-10 years of experience
- Requirements Analysis: Knowledge of tools, methods, and techniques of requirement analysis; ability to elicit, analyze and record required business functionality and non-functionality requirements to ensure the success of a system or software development project
- Software Development and Testing: Knowledge of software development/validation tools and activities; ability to produce software products or systems in line with product requirements. Ability to design, plan and execute system testing strategies and tactics to ensure the quality of software at all stages of the system life cycle
- Technical Troubleshooting: Knowledge of technical troubleshooting approaches, tools and techniques; ability to anticipate, recognize, and resolve technical issues on hardware, software, application or operation
- Strong team skills
- Self-starter
- Strong technical communications
Preferred Skills:
- 3+ years in software development of steering and/or braking systems
- 2+ years in research, design, develop, and test of low-layer embedded software, such as RTOS integrations, I/O drivers, boot loaders, non-volatile memory interfacing, board initializations, or communication networks (e.g. J1939/CAN/Ethernet) for electronic controls, displays, or telematics devices
- Developed programs in ANSI C90 / C99 / similar for real-time embedded software development
- Utilized Python and shell scripting for automating build processes
- Familiar with version management tools (e.g. Git) and related merging/management
- Conducted technical and code reviews and leadership of cross functional teams
- Progressive embedded software experience in control systems integration
Embedded Software Engineer Overview:
The main function of an Embedded Software Engineer is to apply 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. A typical 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