Position Summary The individual must have experience performing project lead/management, architecture and design for enhancements, features or complete systems. Evidence of this needs to be provided.
The individual must have experience performing board bring-up, Device Driver development, product embedded software, mid-tier embedded software development and product UI development.
Candidates are expected to have a 4-year degree in Computer Science, Electrical Engineering or similar and demonstrate knowledge of software development principles, and experience writing embedded (firmware) software.
Embedded USB driver and Bluetooth experience is also desired. Your responsibility will include lead a team of embedded developers, performing code reviews, code merging reviews and managing timelines, quality, working with Test teams and executive management to meet business requirements.
Candidates will be required to develop and maintain a high level of knowledge of the hardware devices that interface with our software.
Required Skills Essential duties and responsibilities include but are not limited to the following:
- Embedded Software Developer (C required, C experience is a plus).
- Knowledge of Software Modeling Diagrams, such as Sequence Interaction Diagrams (SID), Flowcharts, Use Cases, Object Diagrams.
- Understanding of State Machines
- Experience with an RTOS
- Ability to multi-task
- Must have experience with Agile process
Highly Desirable Qualifications (Education, Experience, Skills) - BS or MS in Electrical Engineering or Computer Science or similar.
- Experience with test equipment such multimeters, oscilloscope, logic analyzers.
- Must possess the ability to communicate both orally and in writing.
- Familiarity with Microsoft Office applications.
- Good communications skills.
- Good organizational skills.
- Ability to read schematics and interpret device data sheets for the purpose of developing low level software.
- Embedded Drivers in lightweight RTOS environment for I2C, SPI, Display, UART, PWM controllers, analog to digital converters, GPIO, CAN bus and other low-level hardware functions is a plus.
- Algorithms for digital analysis of analog sensor data.
- Closed loop PID controllers.
- Embedded USB driver, Bluetooth Stack experience.
- Experience with Python, C , Java, C is a plus.
- Experience with SVN is a plus.
- Experience with OOD/OOP design and development is a plus.
- Experience with SID and UML is a plus.
- Database experience a plus.
- Experience with Agile Software Development a plus.
- Software test methods a plus.
- Experience with static code analysis.
- Familiarity with JIRA a plus.
- Experience with environmental testing.
- Knowledge of Cellular data communications (GSM, LTE, CDMA)
- Experience with OBD II automotive protocol.
- Knowledge of RS485 communications
Physical Demands and Work Environment The description of the physical demands and the work environment characteristics here represent those that must be met by an employee to successfully perform and those an employee encounters while performing the essential functions of this position. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
While performing the duties of this job, the employee is regularly required to talk or hear. The employee frequently is required to sit. The employee is occasionally required to stand; walk; use hands to finger, handle, or feel; reach with hands and arms; climb or balance; and stoop, kneel, crouch, or crawl. The employee must frequently lift and/or move up to 10 pounds and occasionally lift and/or move up to 25 pounds. Specific vision abilities required by this job include close vision, color vision, and ability to adjust focus.
While performing the duties of this job, the employee is occasionally exposed to moving mechanical parts, fumes, or airborne particles, toxic or caustic chemicals, risk of electrical shock, and explosives. The noise level in the work environment is usually moderate. However, on some instances this job may require work in areas where ear protection is necessary.
This job description in no way states or implies that these are the only duties to be performed by the employee(s) incumbent in this position. Employees will be required to follow any other job-related instructions and to perform any other job-related duties requested by any person authorized to give instructions or assignments.
All duties and responsibilities are essential functions and requirements and are subject to possible modification to reasonably accommodate individuals with disabilities. To perform this job successfully, the incumbents will possess the skills aptitudes and abilities to perform each duty proficiently. Some requirements may exclude individuals who pose a direct threat or significant risk to the health or safety of themselves or others. The requirements listed in this document are the minimum levels of knowledge, skills or abilities.