Embedded Software Engineer (Umhlanga)
IT – Software Development
Durban – KwaZulu Natal
CREATE scalable and optimized products and systems as the next Embedded Software Engineer sought by a UK-based provider of cutting-edge Safety & Security Solutions. The role is within the Research and Development Department with the primary objective to execute complete Embedded Software Development lifecycle. The goal is to create scalable and optimized products/systems in accordance with customer and / or company specific requirements. The ideal candidate must have a Degree/Diploma in Electronic Engineering/Computer Engineering, have 4 years’ experience in a similar role with hands-on development and troubleshooting on embedded targets. You also require a strong understanding and experience with I2C, SPI, I2S, UART, Flash RAMs, LCD, SD cards and experience with Firmware Development, proven background in embedded C or C derived langue development for 8, 16 and 32-bit embedded environments and knowledge of assemble.
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
- Design, develop, coding, testing and debugging system software.
- Analyse and enhance efficiency, stability and scalability of system resources.
- Participate and/or lead code design review sessions.
- Participate in design and reliability testing of new products.
- Integrate and validate new product designs.
- Support software QA and optimize I/O performance.
- Provide postproduction support.
- Interface with hardware design and development.
- Assess third party and open-source software.
- Maintain design through the product life cycle.
- Create testing procedures in preparation for product certification and volume production.
- Liaise with external technology partners.
- Provide technical support of products and systems to sales, manufacturing, suppliers, technology partners, customers etc.
- Diploma in Electronic Engineering, OR BSc Electronic Engineering OR BSc Computer Engineering.
- 4 Years’ experience in Software Engineering.
- Experience in hands-on development and troubleshooting on embedded targets.
- Firmware Development, proven background in embedded C or C derived langue development for 8, 16 and 32-bit embedded environments and knowledge of assemble.
- Proven experience in embedded systems design with pre-emptive, multitasking real-time operating systems.
- Familiarity with software configuration management tools, defect tracking tools, and peer review.
- Strong understanding and experience with I2C, SPI, I2S, UART, Flash RAMs, LCD, SD cards.
- Experience with hotplug drivers, TCP, HTTPS, video formats like MJPEG, H264.
- Experience with Linux / Android / RTOS.
- Multi core, interrupt drive complex system experience.
- Experience with ARM microprocessors.
- Extensive experience with software Engineering processes and tools.
- Experience developing software for embedded or mobile applications with limited computing resources.
- Experience and comfort with lab tools such as debuggers, logic analysers and oscilloscopes.
- Strong documentation and writing skills.
- Experience developing iOT / telematics solutions.
- Experience programming on STMicroelectronics micro and/or Mediatek.
- Adequate knowledge of reading schematics and data sheets for components.
- Ability to work under pressure and meet deadlines.
- Excellent problem-solving and troubleshooting skills.
- Passion, enthusiasm.
- Willingness to learn.
- Ability to work in a team or independently.