Embedded Firmware Engineer Hybrid

Durban, KwaZulu-Natal, South Africa

Job Description


As Embedded Firmware Engineer you will deliver new secure applications for a variety of product variants. You will be responsible for design and development of new applications, enhancing existing applications, solving problems, and resolving defects. The Engineer will review requirements, develop the architecture and design of features (including the relevant documentation), develop application prototypes, participate in design and code reviews, and write code (including unit tests). The candidate must be able to become proficient on new task domains quickly, demonstrate technical excellence in his/her personal work as well as contribute to the team''s continued success by sharing technical knowledge. An ideal candidate should have open mind set, be flexible, focused on quality and open to switching to different projects. Our culture is characterized by short decision paths, clear targets and team spirit. We work in multinational environment so fluent English in speaking and writing is a must.

Responsibilities

  • Design and implementation of new secure embedded firmware applications in C, C++, and other languages
  • Develop low level interfaces (GPIO, UART, I2C, SPI)
  • Review, maintain and enhance existing code base
  • Support in the design and development of desktop engineering tools
  • Documentation and cross functional training of low level concepts
  • Consult with other engineers to evaluate interfaces between hardware & embedded solutions and operational & performance requirements of the overall system
  • Prepare, present, and participate in technical discussions and code reviews
  • Give and receive constructive criticism
  • Contribute to the continued development of processes to improve the efficiency and quality of development projects; assist in formulating standards and development practices to improve development processes
  • Investigate and analyze reported defects to resolve them in a timely manner
  • Proactively provide status, raise issues, and communicate necessary information to appropriate team members on a regular basis
Desired Skills & Experience
  • Bachelors degree in Computer Science, Engineering, or a related field
  • +3 years of hands-on code development
  • Applied experience with C and C++ in an embedded Linux environment
  • Comfortable working at a hardware driver level (GPIO, UART, I2C, SPI)
  • Experience with bare-metal, RTOS and embedded Linux development
  • Familiarity with bug tracking tools (particularly Jira)
  • Working knowledge of source code management and configuration
  • General knowledge of test frameworks and automated build systems (e.g. Jenkins, NUnit, NAnt)
  • Ability to complete design related tasks on time with minimal supervision
  • Some exposure of development through the entire life-cycle including design, architecture, and implementation
  • Ability to write safe and performant code
  • Analytical, planning, problem solving and decision-making skills
  • Excellent organizational and time management skills
  • Comfortable working with in-circuit emulators, GNU toolchains, gdb and cmake
  • Preference will be given to candidates with:
  • Experience with Secure Elements, RFID, NFC, HCE or Bluetooth technologies
  • Worked within a Scaled Agile Framework
  • Ability to effectively use and operate oscilloscopes, logic analyzers, power supplies, etc.
  • An understanding of crypto-blocks (DES/AES/RSA/ECC), security protocols suite, and overall firmware security best practices
  • Experience with Node.js, Rust and/or golang
  • Familiarity with test driven development
Customer Expectations
  • Highlight knowledge, skills, abilities and traits necessary in this role to satisfy customer''s expectations
  • Promote secure development and be able to work cooperatively and autonomously in a dynamic multi-cultural environment
Work Environment
  • The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
  • Employee works primarily in an office environment, within a well ventilated area, and is exposed to moderate noise levels.

JobPlacements.com

Beware of fraud agents! do not pay money to get a job

MNCJobs.co.za will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Related Jobs

Job Detail

  • Job Id
    JD1269612
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Durban, KwaZulu-Natal, South Africa
  • Education
    Not mentioned