We are looking for a Software Developer to join our team and help develop Agent ONE, a modern, cross-platform endpoint agent responsible for collecting device information, monitoring system activity, and communicating with the platform. You will work on software that runs directly on customer endpoints across Windows, Linux, and macOS, interacting with operating systems and system-level components. The role involves building reliable, high-performance software that operates continuously across large-scale customer environments. You will participate in the full development lifecycle, from technical design and implementation to testing, troubleshooting, and production support.
Responsibilities:
- Design, develop, and maintain cross-platform endpoint agent software using C# and .NET.
- Develop components and services that interact with Windows, Linux, and macOS operating systems.
- Implement system monitoring, data collection, process management, and event-handling capabilities.
- Develop efficient communication mechanisms between endpoint agents and backend services.
- Design modular, maintainable, and extensible software architectures.
- Work with asynchronous programming, multithreading, concurrency, and inter-process communication.
- Integrate with native operating system APIs and components where necessary.
- Optimize application performance, memory consumption, and resource utilization across different operating systems.
- Ensure agent reliability, stability, and resilience in different customer environments.
- Investigate and resolve complex technical issues, including performance and production-related problems.
- Develop automated unit, integration, and system tests across supported platforms.
- Collaborate with architects, developers, QA, DevOps, and product teams.
- Participate in code reviews and contribute to engineering standards and best practices.
Requirements:
- Strong experience with C# and .NET development.
- Good understanding of object-oriented programming, SOLID principles, and software design patterns.
- Experience developing multi-threaded and asynchronous applications.
- Good understanding of operating system concepts, particularly processes, threads, memory management, services, and file systems.
- Experience developing software for at least one of the following operating systems: Windows, Linux, or macOS.
- Understanding of operating system APIs, background services, and process lifecycle management.
- Knowledge of networking fundamentals, including TCP/IP, HTTP, WebSockets, and gRPC.
- Experience with debugging, performance profiling, and troubleshooting complex software issues.
- Experience writing automated tests and building maintainable software.
- Familiarity with Git and CI/CD pipelines.
- Ability to work independently, analyze complex problems, and take ownership of technical solutions.
Good to know:
- Professional experience with cross-platform development targeting Windows, Linux, and macOS.
- Experience developing system agents, endpoint monitoring software, or background services.
- Knowledge of Windows internals and APIs.
- Knowledge of Linux internals, system services (systemd), and system APIs.
- Knowledge of macOS internals, system services (launchd), and macOS APIs.
- Experience with native development (C/C++, Objective-C, or Swift) and interoperability between managed and native code.
- Experience with inter-process communication (IPC), named pipes, RPC, sockets, or shared memory.
- Knowledge of distributed systems and event-driven architectures.
- Experience with message brokers such as Kafka.
- Experience with databases and local storage solutions.
- Familiarity with containerization and cloud-based environments.
- Experience working with large-scale distributed deployments and software update mechanisms.
Benefits:
- English courses
- Health insurance
- Sport compensation
- Psychologist compensation
- Discount program
- Corporate events and team building
- Corporate library
- Remote work options
- Flexible working hours
- Activities in the office- kicker, table tennis, PlayStation, music room
Apply for this job