Perm (Fully Remote)
Grapevine, Texas
$135-140K
Online test (Due to the fact there will not be a Face to face)
Need to go on-site for 1-2 weeks for training.
Title: Software and Embedded Software (Firmware)Development Engineer
Position Summary
Device Driver development, software development to interface with product embedded software, mid-tier embedded software development and product UI development.
Candidates is expected to have a 4 year degree in Computer Science or demonstrate though knowledge of software development principals, and experience writing embedded (firmware) software.
Developers who have experience with writing Embedded Drivers for I2C, SPI, Display, UART. Embedded USB driver and Bluetooth experience is also desired. You will work with other software developers in designing and implementing new features and support for new devices and/or in house developed software solutions. Candidate 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 or C++ development required).
• Knowledge of Software Modeling Diagrams, such as Sequence Interaction Diagrams (SID), Flowcharts, Use Cases, Object Diagrams.
• Understanding of State Machines
• Experience with an RTOS
Highly Desirable Qualifications (Education, Experience, Skills)
• BS or MS in Electrical Engineering or Computer Science.
• Experience with test equipment such multimeters, oscilloscope.
• Must possess the ability to communicate both orally and in writing.
• Familiarity with Microsoft Office applications.
• Good communications skills.
• Good organizational skills.
Highly Desirable Skills
• Ability to read schematics and interpret device data sheets for the purpose of developing low level software.
• Use multimeters, oscilloscopes, and logic analyzers to monitor circuits to improve software algorithms.
• The ability to use a Logic analyzer
• 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.
Desirable Skills
• 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