Job Title
We are seeking a highly skilled Software Engineer to join our team. As a Senior Engineer, you will play a key role in designing and developing robust software solutions that power our distributed data platforms.
* This role emphasizes software development expertise while working with large-scale data systems.
Key Responsibilities:
* Design and implement scalable, high-performance software solutions for our distributed data platforms.
* Write production-quality code (primarily Python and potentially Golang) to build applications and APIs that automate infrastructure management.
* Develop and maintain microservices that interact with our data platform components.
* Create robust data processing pipelines that handle petabytes of security telemetry.
* Implement software solutions that monitor and optimize performance across our distributed systems.
* Collaborate with cross-functional teams to integrate new features and capabilities.
* Design and develop RESTful APIs and service interfaces for internal and external consumption.
* Participate in code reviews and contribute to engineering best practices.
* Troubleshoot complex software issues in production environments.
* Write comprehensive unit and integration tests to ensure code quality.
* Use Chef to deploy, configure and manage servers and applications.
* Be responsive to and troubleshoot time-sensitive production issues, regardless of when they happen.
* Maintain an understanding of the data components - including Cassandra, Elasticsearch/OpenSearch and Kafka, and use that understanding to operate and automate properly configured clusters.
* Work with Engineering to roll out new products and features.
* Keep petabytes of critical business data safe, secure, and available.
Requirements:
* 5+ years of professional software development experience.
* Strong proficiency in Python, with experience in building production applications.
* Experience with graph databases like Neo4j, MemGraph or AWS Neptune.
* Experience with API design and development (REST in particular).
* Experience with containerization technologies (Docker, Kubernetes).
* Knowledge of software design patterns and principles (SOLID, DRY, etc.).
* Familiarity with CI/CD pipelines and automated testing frameworks.
* Experience with asynchronous programming and event-driven architectures.
* Knowledge of performance optimization techniques for distributed systems.
* Familiarity with monitoring and observability tools (Prometheus, Grafana, etc.).
* Ideally with experience in one or more of the following – the more the better, but if you know one we can train you on the other technology:
o Cassandra.
o Elasticsearch/OpenSearch.
o Kafka.
o Relational Databases (MySQL, PostgreSQL).
o Caching (Valkey/Redis/Memcached).
* Experience with DevOps tools such as Git, Artifactory, Jenkins, Chef and Terraform.
* Experience with large-scale, business-critical Linux environments.
* Experience operating within the cloud. We prefer Amazon Web Services but also work with Google Cloud Platform (GCP) and Oracle Cloud Infrastructure (OCI).
* Proven ability to work effectively with both local and remote teams.
* Track record of making great decisions, particularly when it matters most.
* Rock solid communication skills, verbal and written.
* Experience in the information security industry preferred, but not required.