Senior Software Engineer - Stream Processing- Backend Java

Splunk (Vancouver BC, Canada) 13 days ago

Join us as we pursue our disruptive new vision to make machine data accessible, usable and valuable to everyone. We are a company filled with people who are passionate about our product and seek to deliver the best experience for our customers. At Splunk, we’re committed to our work, customers, having fun and most importantly to each other’s success. Learn more about Splunk careers and how you can become a part of our journey!


DSP (Data Stream Processor) I/O team is looking for Senior 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

  • Own and be accountable for the design and development of multiple features in the ultra-high performance system, processing massive amounts of data
  • Pay extra attention to non-functional requirements (Performance, Scalability, Reliability, High Availability etc.)
  • Be a role model that ensures the team is following Agile software development and quality standards
  • Regularly lead design and code reviews, and participate in architecture discussions
  • Help team estimate development work, often across a multiple sprint timelines
  • Understand the business use cases and contribute to product direction by prototyping innovative ideas
  • See opportunities for engineering improvements or directions, and evangelize these successfully
  • Receive guidance from principal engineers in their area on thinking beyond their current product features and more towards overall product architecture
  • Participate in customer engagements & partner concerns and drive overall resolution
  • Build healthy relationships with multi-functional teams
  • Work with product manager to influence product feature definition


To be a successful candidate, you have:

  • Expertise on two or more mainstream programming languages, such as Go or Java
  • Expertise on developing and working with thoughtfully designed HTTP APIs, such as REST or GraphQL
  • Expertise on test-driven development, developing different levels of automated tests, such as unit test, functional test, integration test, system test, or performance / load test
  • Proficient with CI/CD, such as Jenkins, GitLab CI, or Bitbucket pipeline
  • 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 coordinating and coaching the junior members in the team
  • Strong communication skills, both verbal and written
  • 6+ 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 cloud technologies, such as AWS, Azure, or GCP. Ideally with certifications
  • Experience with container technologies, such as Docker. Ideally with container orchestration such as Kubernetes or Docker Swarm
  • Experience with stream processing platform, such as Flink, Storm or equivalent
  • Experience with messaging system, such as Apache Pulsar, Kafka or equivalent
  • 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 talented 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.

We value diversity at our company. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, or any other applicable legally protected characteristics in the location in which the candidate is applying.

For job positions in San Francisco, CA, and other locations where required, we will consider for employment qualified applicants with arrest and conviction records.

Senior Software Engineer - Stream Processing- Backend Java

Apply On Company Site
Back to search page