Technical Team Lead Engineer (Embedded Software)

Full Time
  • Post Date: December 9, 2021
  • Apply Before: December 9, 2022
Job Description

Our client has a position available for a Technical Team Lead Engineer to be based in Cape Town.

Candidates must be proficient at C programming and embedded system product development.

Responsibilities:

In this role you will work as part of a team to design, develop, debug, test and support high-performance networking software in addition to managing and mentoring Junior Engineers.

Requirements:

  • Masters (desired) or Bachelors (required) degree in Electronics Engineering, Computer Engineering or Computer Science with relevant work experience.
  • Experience with embedded systems and embedded software development.
  • Proficient in embedded programming (C/C++) and scripting languages (e.g., Bash, Bourne shell, Python). Additional recommendations:
    • Assembler experience.
    • Experience with other languages such as ADA, Lua, Rust, VHDL and/or Verilog.
    • Experience with multi-threaded programming.
  • Experience with embedded operating systems platforms such as Linux, Unix and other.
  • Extensive experience with development and debugging on a Linux platform (GCC/G++, revision control systems, build systems, troubleshooting, debugging and profiling tools).
  • Extensive experience with designing and optimizing software to meet specified performance goals.
  • Knowledge of hardware architecture such as ARM, MIPS and X86.
  • Knowledge of major IP protocols, interfaces and hardware subsystems i.e., TCP, IP, Ethernet, ARP, ICMP and/or UDP.
  • Knowledge of network device operation such as parsing, classifying, filtering and forwarding traffic.
  • Knowledge of network switching and routers, L2 bridging, STP and L3 routing.
  • Knowledge and experience regarding the implementation of network protocols, device driver and network stack internals for Linux.
  • Ability to work in a multi-disciplined team environment is required.
  • Strong oral and written communication skills are required.

Additional desired competencies:

  • Knowledge of network protocols.
  • Knowledge of virtualization technologies.
  • Experience with Linux kernel development.
  • Experience in cryptography and network security (e.g., IPsec, SSL).

 

Note:  Successful applicants will be contacted within 14 days of applying.

Although we endeavour to provide feedback to all applicants, should you not hear from us within 14 days of applying, please accept your application unsuccessful.