Software Engineer - Windows Collections
The Data Collection team owns the ingestion pipeline - starting with a lightweight agent to collect, compress, encrypt and ship the data back to the Sumo Logic cloud.
Windows-based systems represent a large majority share of the enterprise IT infrastructure, including servers, personal computers and cloud services. These systems can generate petabytes of platform-specific log data, including Event Logs and Event Trace Logs, which must be ingested in near-real time and with a minimal resource footprint.
As a Windows Collection Engineer, you will architect and implement the collection systems to ingest this data locally (from the machine generating the events),remotely (from a different machine within our customersâ infrastructure),and from the cloud (Azure).
You are a strong software engineer who is passionate about large-scale systems. You care about producing clean, elegant, maintainable, robust, well-tested code; you do this as a member of a team, helping the group come up with a better solution than you would as individuals. Ideally, you have experience with performance, scalability, and reliability issues of 24x7 commercial services.
Responsibilities
- Design and implement extremely high-volume, fault-tolerant, scalable backend systems that process and manage petabytes of customer data.
- Design and develop a Windows-based collection system that will ingest and process terabytes of Windows Events using native Windows APIs and that can operate under a wide range of customer configurations.
- Design and develop troubleshooting tools to help customers identify and resolve configuration issues while collecting log data.
- Write robust code; demonstrate its robustness through automated tests.
- Work as a member of a team, helping the team respond quickly and effectively to business needs.
Requirements
- 2+ years of industry experience with a proven track record of ownership and delivery.
- Understanding of Windows Operating System internals.
- Object-oriented experience, for example in C++ or C#.
- Experience with Win32 API, Windows servers & remote machine access
- Understand performance characteristics of commonly used data structures (maps, lists, trees, etc).
Desirable
- Experience in JNI, Powershell
- Experience in multi-threaded programming and distributed systems is highly desirable.
- Experience in big data and/or 24x7 commercial service is highly desirable.
- Agile software development experience (test-driven development, iterative and incremental development) is a plus