Web Interface Software Engineer (CPT/JHB)

Cape Town – Western Cape ~ Johannesburg – Gauteng

DESIGN, develop, debug, test and support cutting-edge software solutions as the next Web Interface Software Engineer sought by a dynamic Software Security Specialist to join its team. You must possess a Bachelor’s Degree in Electronic/Computer Engineering or Computer Science with at least 2 years’ work experience in a similar role including Embedded systems and Embedded software development, Web-based management system implementation and REST APIs. You will need to be proficient in C/C++, JavaScript, CSS, C#, HTML, MySQL, bash, Bourne shell, Python, Linux, UNIX, TCP/IP, Ethernet, ARP, ICMP and/or UDP and general DevOps.
  • Bachelor’s (required) Degree in Electronics Engineering, Computer Engineering or Computer Science with at least 2 years’ relevant work experience in a similar role.
  • Experience with Embedded systems and embedded software development.
  • Experience with Web-based management system implementation and REST API’s.
  • Proficient in JavaScript, HTML, CSS, C# and MySQL.
  • Knowledge of DevOps in general.
  • Experience in embedded programming (C/C++) and scripting languages (e.g., bash, Bourne shell, Python). Additional recommendations: 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 operations. such as parsing, classifying, filtering and forwarding traffic.
  • Knowledge of network switching and routers, L2 bridging, STP and L3 routing.
  • Knowledge and experience w.r.t. the implementation of network protocols, device driver and network stack internals for Linux.
Desirable –
  • Master’s Degree.
  • Experience with IXP/NFP software development, with C or Assembler.
  • Knowledge of network protocols.
  • Knowledge of virtualization technologies.
  • Experience with Linux kernel development.
  • Experience in Cryptography and network security (e.g., IPsec, SSL).
  • Ability to work in a multi-disciplined team environment is required.  
  • Strong oral and written communication skills.