> Markdown version of [/jobs/ext/4163839-senior-systems-software-engineer-c-c](https://www.wearedevelopers.com/jobs/ext/4163839-senior-systems-software-engineer-c-c). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior Systems Software Engineer (C/C++) - **Company:** iQuila - **Location:** Cardiff, UK - **Experience:** Expert - **Salary:** £65,000.0 - £90,000.0 - **Contract:** Permanent contract - **Skills:** Testing (Software), Clean Code Principles, Microsoft Windows, Application Programming Interfaces (APIs), Agile Methodology, Bash Shell, Unix, C++ (Programming Language), Cloud Computing, CMake, Static Program Analysis, Software Quality, Databases, Data Stores, Software Debugging, Linux, Domain Name System (DNS), Memory Management, Ethernet, Fuzz Testing, Github, IPv4, IPv6, Inter-Process Communication, Python (Programming Language), PostgreSQL, Routing, Network Virtualization, Object-Oriented Software Development, OpenSSL, Posix, Redis, Secure Coding, Software Engineering, SQLite, System Programming, Transmission Control Protocol (TCP), Tcpdump, Toolchain, Wireshark, Multithreading, Scripting, Computer Network Technologies, Data Representation, Backend, Git, Containerization, Gitlab-ci, Kubernetes, Information Technology, SDN Network, Build Tools, C++14, Docker, Jenkins, Vulnerability Analysis - **Published:** October 21, 2026 - **Apply:** https://www.indeed.com/viewjob?jk=39845a1c3beeb897 ## About the Role · C - essential: Fluent, production-level C with solid commercial experience developing and maintaining complex, performance-critical systems software. · C++ - essential: Strong commercial proficiency in modern C++, including object-oriented design, templates, the Standard Library, RAII, smart pointers and safe resource management. · Strong practical knowledge of pointers and function pointers. · Proven ability to understand, debug and safely extend a large, established C/C++ systems codebase with complex dependencies and platform abstractions. · Strong understanding of dynamic memory allocation, memory ownership and safe memory management. · Strong working knowledge of C structures, including layout, alignment and efficient data representation. · Confident with bit manipulation, bitwise operations, masks and flags. · Proven experience developing multi-threaded software using POSIX threads (pthread), including synchronisation and thread-safety. · Strong understanding of inter-process communication (IPC) mechanisms. · Practical experience using shared memory for communication between processes. · Strong knowledge of POSIX signal handling and safe signal-management practices. · Strong debugging, profiling and performance-optimisation skills. · Strong practical knowledge of Linux or another Unix-like operating system, including system calls, processes and threads. · Confident use of Git and collaborative source-control workflows. · Experience with build systems and toolchains such as CMake, Make, GCC or Clang. · Good understanding of software testing, code quality and secure development practices. · Strong analytical and problem-solving skills, with the ability to work effectively on complex systems. Essential Networking Knowledge Practical experience with cryptographic and secure communications libraries, such as OpenSSL, including certificate handling, encryption and TLS integration, is essential. You must also have strong practical knowledge of the following networking technologies and concepts: · TCP. · UDP. · TLS. · DNS. · Routing. · IPv4 and IPv6. · Experience with virtual network interfaces, TUN/TAP devices, Ethernet frames, packet encapsulation or other low-level packet-processing technologies. · Packet-capture analysis using tools such as Wireshark or tcpdump. Desirable Experience · Python, Bash or another scripting language for automation and tooling. · Experience developing portable systems software across Linux and Windows, including platform abstraction, conditional compilation and differences in operating-system networking APIs. · Container technologies such as Docker and orchestration platforms such as Kubernetes. · CI/CD pipelines and tools such as GitHub Actions, GitLab CI or Jenkins. · Static analysis, sanitiser tools, fuzz testing and vulnerability assessment. · APIs and service integration, including REST, gRPC or message-based systems. · Databases and data stores such as PostgreSQL, SQLite or Redis. · Cloud or virtualised infrastructure and software-defined networking. · Agile software development and issue-tracking tools. About You · A practical engineer who enjoys solving difficult low-level technical problems. · Careful and methodical, with strong attention to reliability, security and detail. · Comfortable taking ownership of work from design through delivery and support, with the judgement and initiative to grow into broader senior-level responsibility. · A clear communicator who can explain technical decisions and collaborate across teams. · Able to apply established networking expertise to unfamiliar protocols, architectures and technical challenges., A degree in Computer Science, Software Engineering, Electronic Engineering or a related discipline would be beneficial, but it is not essential. We equally value relevant professional experience and demonstrable technical ability. ## Description · Design, develop, test and maintain high-performance components within the iQuila backend core platform. · Write clean, efficient, secure and maintainable code in C and C++. · Diagnose and resolve complex issues involving performance, memory, concurrency and system behaviour. · Contribute to architecture and technical design decisions for scalable networking services. · Develop and maintain automated unit, integration and system tests. · Review code and support consistent engineering standards across the development team. · Work closely with software engineers, network specialists, QA and product teams to deliver reliable releases. · Investigate defects in development, test and production environments and provide clear root-cause analysis. · Create and maintain accurate technical documentation. · Support continuous improvement of development, build, release and operational processes.