DSP (Data Stream Processor) I/O team is looking for Principal Software Engineers to join us. Our team builds, ships and operates DSP as a platform and a product, collecting data as a key service to Splunk on premise and on cloud, with high availability, scalability, security, and development experience in mind. We are responsible for data ingress and egress with a broad range of technologies, including services on various protocols, connectors to integrate with different messaging platforms, cloud workload to pull/push data from/to major cloud providers including Splunk Enterprise Cloud. In addition, we also own the developer ecosystem such as SDK, API, templates, guide, tutorials, etc, to support the first party and third party developers.
In this role, you will
- Drive technology direction within the product and sets the bar for Area teams for technical excellence and delivery.
- Be the technical/architectural lead of a team, who also contributes at the code level (development + test + review).
- Lead architecture discussions regularly, proposes solutions to address 'ilities' e.g scalability, securability, usability etc
- Be an effective communicator who can be the technical spokesperson for the Team/Area in broader architecture and technology discussion
- Lead high profile initiatives/projects from inception to completion. This includes working closely with PMs on definition, prioritization, and overall project execution, and influencing PM when needed.
- Understand business cases/customer needs and regularly contribute to technology direction.
- Work well with multiple teams under the same Engineering Area and effectively contributes to the overall success of the Area.
- Build relationships with teams across other Areas and uses that effectively to understand cross area dependencies
- Work with PM and can influence PM on features and product direction
- Participate in high profile and critical customer engagements & blocking issues as needed.
- Present own ideas to Senior Management to influence product and process strategies
To be successful, you have:
- Mastery of two or more mainstream programming languages, such as Go or Java
- Mastery of developing and working with thoughtfully designed HTTP APIs, such as REST or GraphQL
- Mastery of test driven development, developing different levels of automated tests, such as unit test, functional test, integration test, system test, or performance / load test
- Expert in cloud technologies, such as AWS, Azure, or GCP. Ideally with certifications
- Expert in container technologies, such as Docker. Ideally with container orchestration such as Kubernetes or Docker Swarm
- Expert in stream processing platform, such as Flink, Storm or equivalent
- Expert in messaging system, such as Apache Pulsar, Kafka or equivalent
- Proficient with CI/CD, such as Jenkins, GitLab CI, or equivalent
- Proficient with modern version control system, such as Git
- Proficient with development on multiple operating systems, such as Linux or Unix
- Able to learn new technologies quickly
- Capable of leading and mentoring the senior members in the team
- Strong communication skills, both verbal and written
- 12+ years of relevant industry experience
- Bachelor’s degree in Computer Science, Computer Engineering or equivalent
Not required, and would be good to have:
- Experience with Splunk software or a similar analytics solution
- Experience with leading or contributing to open source projects
- Experience with working in a direct customer facing environment
What We Offer You:
- A constant stream of new things for you to learn. We're always expanding into new areas, bringing in open source projects and contributing back, and exploring new technologies.
- A set of exceptionally passionate and dedicated peers, all the way from engineering and QA to product management and customer support.
- Growth and mentorship. We believe in growing engineers through ownership and leadership opportunities. We also believe mentors help both sides of the equation.
- A stable, collaborative and supportive work environment.
- We don't expect people to work 12-hour days. We want you to have a successful time outside of work too. Want to work from home sometimes? No problem. We trust our colleagues to be responsible with their time and dedication, and believe that balance helps cultivate an extraordinary environment.