Embedded Software Engineer - Durban, South Africa - Full Circle Selection

    Default job background
    Description

    The position 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 to customer and / or specific requirements.

    Main tasks of Job

    • Design and implement software of embedded devices and systems from requirements to production and commercial deployment
    • Designing, developing, coding, testing and debugging system software
    • Analysing and enhancing efficiency, stability and scalability of system resources
    • Participate and/or lead code design review sessions
    • Participate in design and reliability testing of new products
    • Analyse and enhance efficiency, stability and scalability of system resources
    • 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 Minimum Requirements
    • S4 Diploma in Electronic Engineering, OR BSc Electronic Engineering OR BSc Computer Science
    • 4 Years experience in software engineering Core Competency requirements
    • 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 in the following would be an advantage
    • Experience developing iOT / telematics solutions
    • Experience programming on STMicroelectronics micro and/or Mediatek
    • Adequate knowledge of reading schematics and data sheets for components Person Specification
    • Innovative
    • Ability to work under pressure and meet deadlines
    • Excellent problem-solving and troubleshooting skills.
    • Passion, enthusiasm
    • Willingness to learn
    • Integrity
    • Ability to work in a team or independently