As a software developer, what's the most difficult question you've ever had to answer? Harder than technical interview questions or your CS degree thesis? Probably explaining to your uncle what you do for a living 🙂.
In this article Daniel Reuveni, C++ Developer, shares what has made his 2 years at Vicarius both challenging and exciting.
What is Agent?
Our R&D team is divided into three parts: the frontend team, the backend team, the devops team and the agent team. Here's how it works:
- Real-Time Agent: We develop a real-time agent that scans computers for vulnerabilities and catalogs all installed applications and products.
- Backend Processing: This data is sent to be processed by the backend.
- DevOps: Manages all Backend microservices.
- Frontend Display: and all these steps help the frontend display all this data and information in powerful dashboards and UI. This allows IT and Security administrators to manage everything from a central interface in seconds.
Our Agent not only identifies and reports vulnerabilities but also fixes them and installs patches if needed. IT administrators can see the status of all computers within the company, track installed applications, and perform operations on specific computers or groups of computers. Plus, it works autonomously, addressing issues and applying patches without user intervention.
The time is real
We collect and process massive amounts of data from each computer it scans, including installed applications, operating system details, and patch statuses. The volume of data varies from a few applications to hundreds, depending on the client’s setup. We serve clients worldwide, from small companies to large corporations, who are using Mac, Linux, and Windows OS. This brings challenges like availability, reliability, and speed of data processing.
Why C++
C++ offers efficiency and control, allowing us to create robust, high-performance applications that run on various operating systems without external dependencies. It lets us perform complex operations and have more control over the system, such as managing memory and working with processes and threads easily.
A Team That Thrives
The Agent is not just about the code – it's about the people behind it. Our team is unique, with members from different backgrounds and native languages. We are constantly evolving, learning, and pushing the boundaries of what’s possible.