Embedded Software Engineer
Job Description:
Job Description:
ACCOUNTABILITIES
- Design, implement and test software for embedded devices and systems from requirements to production and commercial deployment.
- Review designs and code implemented by fellow engineers.
- Ensure that company processes and procedures pertaining to product realization are adhered to.
- Provide support to management (such as feasibility assessments, effort estimates, technical risk assessments, etc.) as requested.
- Integrate and validate new product designs.
- Support other departments (QA, Manufacturing, Customer Support) as required.
- Cooperate with hardware design and development.
- Contribute to continued improvement of operating processes and procedures.
POSITION REQUIREMENTS:
- B.Sc./B.E. Computer Science, Software engineering or similar.
- Proficiency in C/C++ specifically in the context of embedded devices.
-Hands-on experience in the development and troubleshooting of embedded systems, using tools such as Oscilloscopes, Logic Analysers etc as and where appropriate.
- Working knowledge of commonly used embedded system protocols (for example CAN, Ethernet, I2C, SPI, UART).
- Working knowledge of Bluetooth technology, specifically Bluetooth Low Energy (BLE)
- Working knowledge of scripting languages (preferably Python) as used for developing build systems and test and other supporting infrastructure.
- Knowledge of operating systems concepts (specifically, but not limited to Real Time Operating Systems).
- Experience with embedded RTOS and bare-metal development for microcontrollers.
- Experience in developing low-level drivers and application-level firmware.
- Experience with a variety of toolchains and development environments.
- Proficiency reading hardware specifications and schematics.
- Extensive experience with the use of software configuration management, defect tracking and peer review system and tools.
- Strong communication skills, be it towards management, peers or customers.
- Being a Team player who does what it takes to get the job done.
Required Skills:
Software