Enable job alerts via email!

Software Engineer (C and Linux)

Ace Staffing

Johannesburg

On-site

ZAR 700,000 - 1,200,000

Full time

30+ days ago

Job summary

A dynamic company in the warehousing automation sector is seeking a Senior Software Engineer based in Johannesburg. The successful candidate will have a proven record in C programming on Linux and will lead projects that integrate tightly with automation systems, offering impactful work and growth opportunities in an innovative environment.

Benefits

Competitive compensation package
Opportunity to lead impactful projects
Access to technical training and certifications

Qualifications

  • 5+ years of professional experience in systems or embedded software development.
  • Expert-level proficiency in C programming and solid experience with Linux.
  • Strong background in designing and troubleshooting low-level software.

Responsibilities

  • Lead the design and architecture of high-performance, low-level software systems.
  • Write clean, efficient, and reliable code for embedded applications.
  • Mentor junior developers in systems-level design and debugging techniques.

Skills

C programming
Linux systems
Shell scripting
Technical leadership

Education

Bachelor's degree in Computer Science
Honours degree in Electrical Engineering

Tools

Git
Make
CMake
GDB
Valgrind
Job description

Industry : Warehousing Automation / Embedded & Systems Software

Development Tech Stack : C, Linux (Embedded & Systems Programming), Shell scripting, Git, Make / CMake

About the Company : We are a dynamic and rapidly growing company in the warehousing automation space, building advanced software solutions that power some of the most innovative supply chain systems in the region. Our team is passionate about creating scalable, high-performance technology that enables our clients to automate and optimize their operations.

Role Overview :

We are seeking a highly experienced Senior Software Engineer with deep expertise in C programming on Linux systems to join our development team. In this role, you will lead system-level software design, mentor team members, and take technical ownership of mission-critical solutions.

Youll work across the full software lifecycle

from architecture and implementation to testing and deployment

contributing to systems that integrate tightly with automation hardware and real-time environments.

Key Responsibilities :

  • Lead the design and architecture of high-performance, low-level software systems using C and Linux.
  • Write clean, efficient, and reliable code for embedded and real-time applications.
  • Optimize system performance and ensure robust inter-process communication and memory management.
  • Drive project execution and participate in shaping product and technical direction.
  • Define coding standards and review peer code for maintainability and efficiency.
  • Mentor junior and mid-level developers in systems-level design and debugging techniques.
  • Develop and maintain shell scripts, automation tools, and build configurations.
  • Work closely with hardware engineers and cross-functional teams to ensure smooth system integration.
  • Implement robust testing strategies and support CI / CD pipelines tailored for Linux environments.
  • Promote and enforce security and safety-critical software practices. Minimum Requirements : Experience :
  • 5+ years of professional experience in systems or embedded software development.
  • Expert-level proficiency in C programming and solid experience with Linux (user space and / or kernel space).
  • Experience with POSIX APIs, threading, memory management, file systems, and IPC.
  • Strong background in designing and troubleshooting low-level or performance-critical software.
  • Familiarity with build systems (Make, CMake), version control (Git), and debugging tools (GDB, Valgrind, strace, etc.).
  • Demonstrated ability to lead technical projects or mentor engineers. Education :
  • A Bachelors or Honours degree in Computer Science, Electrical Engineering, or a related field is preferred.
  • Equivalent experience or relevant certifications will also be considered.

Bonus Points For :

  • Experience with real-time operating systems (RTOS) or real-time Linux (PREEMPT_RT).
  • Exposure to industrial automation, robotics, or logistics systems.
  • Experience working with fieldbus protocols, device drivers, or low-level hardware interfacing.
  • Familiarity with CI / CD in a Linux environment and cross-compilation for embedded targets.
  • Understanding of cybersecurity in embedded or networked systems.

What We Offer :

  • Competitive compensation package.
  • Opportunity to lead impactful, real-world projects in automation and embedded systems.
  • A supportive, innovative environment with growth and leadership opportunities.
  • Access to technical training, certifications, and continuous learning.
Create a job alert for this search

Software Engineer • Johannesburg, Gauteng, South Africa

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.