Are you interested in building large scale performant and reliable multi-tenant services? Do you feel challenged when traditional transport protocols fall short on handling this kind of data?
The Data Edge group at Splunk is looking for a Senior Principal Engineer to join our efforts to define and build the future of Splunk. You will work on our Data Ingestion Platform to provide our customers seamless data onboarding and to enable ever deeper customer insights.
We build high throughput, reliable and secured products and services to collect data from cloud service providers, networking and security products, and enterprise products from leading software engineering companies.
We’re a group of friendly, fun-loving and emotionally adept polyglots. We care a lot about work life balance because we believe that it drives creativity and innovation. We also work hard to lift each other up.
As part of this group, you will provide architectural leadership to engineers on designing and building highly scalable APIs that deal with different application/system layers down to network and Kernel levels.
You will also have the opportunity to collaborate with architectural leads in other areas. We actively participate in open source efforts. This will also allow you to influence the open source community.
Responsibilities:
- Design and architect large scale multi-tenant services covering all aspects of collection and processing of system, application, network, and OS level events: API gateway, authentication, authorization, security, management, operability, health monitoring, instrumentation, etc.
- Self-starter to solve sophisticated problems related to high throughputs, latency, and reliability.
- Assess the current architecture and work with the product leadership to lay out the architectural roadmap for scale, security, and maintainability.
- Design and implement the optimal test strategy for our services.
- Automate the diagnosis of performance and scalability issues.
- Enhance the tooling and generate code to make your own and other people's job easier.
- Mentor other architects and senior engineers, and constantly raise the bar on engineering practices across the team and engineering organization.
Required Education and Experience:
- BS in Computer Science or Engineering.
- 15+ years’ in software engineering.
- 10+ years’ experience building distributed systems at scale.
- 5+ years’ experience in DevOps.
- Experience building large-scale multi-tenant cloud services.
- Expert level knowledge of systems-level programming and distributed systems. You have deep knowledge of operating systems, networking and network protocols, data streaming, consensus, failure modes, and parallel programming.
- Demonstrated ability to design simple and clear APIs for sophisticated functionality You have empathy for developers and customers, and expert skills in architecting APIs that allow other specialists to easily build beautiful code.
- Ability to help other engineers design systems, scope and decompose projects, manage technical debt and risk, promote good engineering practices, and mentoring them.
- Ability to work with multiple programming languages. We have code written in several programming languages: Go,(Golang) C++, Java, and Python.
Desired Experience:
- Streaming/analytics platforms e.g. Kafka, Flink, Pulsar.
- Linux and Windows Operating Systems.
- Cloud native deployment infrastructure e.g. Kubernetes
- Building the tooling for CI/CD and data pipelines.
- Working on open source projects.
- Popular cloud services.
#LI-MM2