ControlUp is transforming the way IT manages systems and troubleshoots issues. We are looking for an experienced Linux Agent Developer to join our physical end-point products division. This is a full-time, permanent work from home position based in Europe.
The ideal candidate will help drive the next generation of ControlUp innovation and is a great opportunity to learn and develop cutting edge technologies for management, monitoring, and automation of Linux devices from a cloud-native, massively scalable platform.
Description of Work:
Design, implement, test, and deliver Linux services and agent components that gather system performance and diagnostic data, execute automated actions, and communicate securely with cloud APIs.
Develop primarily in C# using .NET for Linux (e.g., .NET Core/.NET 8+) for system utilities and agent components.
Frequent use of C++ for low-level system interactions is not feasible in C#, specifically for performance-critical and Linux-specific components.
Take responsibility for carrying work from inception through design, implementation, testing, and delivery across the full software development lifecycle.
Collaborate with backend and other enterprise teams to design, integrate, and deliver robust solution designs.
Translate business requirements and user scenarios into technical specifications, user stories, and tasks.
Participate fully in Agile development lifecycle: planning, daily stand-ups, demos, reviews.
Continuously expand knowledge of Linux systems and related technologies.
Must Haves:
5+ years .NET (Core/8+) experience creating cross-platform agents, preferably targeting Linux services/daemons.
Strong knowledge of Linux internals and techniques for gathering system-level performance data (e.g., /proc, /sys, Netlink).
Strong knowledge of Linux system calls (syscalls) and C/C++ development for Linux.
Strong design skills in modular architecture, fault-tolerant systems, and inter-process communication (e.g., D-Bus, sockets, shared memory).Ability to write and maintain performant, low-level C++ components for Linux.
Passionate about AI-driven development.
Experience writing and maintaining unit tests, automation tests, and integration tests.
Solid understanding of multi-threaded programming.
Strong experience with REST APIs, HTTPS, WebSockets, and network communication technologies (sockets, gRPC).Experience developing in Agile environments using tools such as Azure DevOps or Jira.
Organised, self-motivated, collaborative team player.
Experience in start-up culture delivering enterprise-level software.
Familiarity with containerization technologies and orchestration is a plus.
Shell/Bash scripting.
Exposure to Azure DevOps, Repos, and Pipelines.
About the Team:
We are an Agile team; we work iteratively, fast-paced, and focus on delivering features and business value quickly. We deliver robust fixes and features to customers swiftly.
We're in it together and deliver together. We take accountability and don't throw things over the fence.
We are strongly invested in AI tools to assist us with our tasks and enjoy knowledge sharing.
We make engineering-led decisions, with emphasis on clean architecture and maintainable code over technical debt.
Whilst we work as a team, each individual makes a significant business impact and has clear opportunities to grow their career.