Senior Systems Software Engineer (C/C++)

iQuila
Cardiff, UK
14 days ago
Apply on www.indeed.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Compensation
£65,000.0 - £90,000.0
Working hours
Regular working hours
Job source

Tech stack

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
+44 more
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

Job 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.

Requirements

· 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.

Benefits & conditions

· The opportunity to work on an advanced software-defined networking platform used in demanding enterprise and telco environments.

· Meaningful ownership of technically challenging core systems and low-level networking development.

· A collaborative engineering environment where you can influence architecture, tooling and product direction.

· Hybrid working, with 2-3 days per week at our Cardiff head office, plus a competitive benefits package.

Equal Opportunities

iQuila is committed to building an inclusive workplace and welcomes applications from suitably qualified candidates from all backgrounds. Appointment will be based on skills, experience and the requirements of the role.

Pay: £65,000.00-£90,000.00 per year

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.indeed.com
Prepare application

Good distractions

Loading talks and stories from around this role…