Backend Software Engineer

Engineering Vancouver, British Columbia


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!

Role:

Our DSP (Data Stream Processor) I/O team is looking for Software Engineers to be part of the Cloud and Data Platform. Our team builds, ships and operates the platform and solutions to collect data as a key service to Splunk on premise and cloud platform, with high availability, scalability, security, and development experience in mind. We are responsible for large scale data collection platform, a broad range of scheduled or stream connectors to consume data from major cloud providers, as well as the developer ecosystem such as SDK, API, tooling, templates, guide, tutorials and more.

In this role, you will

  • Develop and own moderate complexity features or sub-systems.
  • Break down a complex task and estimate sprint sized software deliverables
  • Design for testability. Automate effective test cases, and make necessary test framework improvements as required.
  • Consider subsystem reusability, modularity, and scaling as part of design.
  • Spend most of the time developing code, and efficiently produces elegant, clean and re-usable code with no unnecessary complication or abstraction.
  • Begin to lead feature or sub-system design/code reviews and be recognized as the go-to developer for that feature.
  • Participate in design discussions, propose and discuss solutions to system and product changes that are directly related to your area of focus.
  • Receive guidance on overall product design from Senior Engineers
  • Coordinate activities of junior engineers assigned to the same feature or subsystem.
  • Participate in the technical evaluation of junior engineers during hiring process
  • Start to build relationships with cross functional teams
  • Work with Product Managers on clearly defining user stories and acceptance criteria

Requirements:

To be a successful candidate, you have:

  • Skillful on two mainstream programming languages, such as Go or Java
  • Skillful on developing and interfacing with thoughtfully designed HTTP APIs, such as REST or GraphQL
  • Skillful on test-driven development, writing various levels of automated tests, such as unit test, functional test, integration test, system test, or performance / load test
  • Familiar with CI/CD, such as Jenkins, GitLab CI, or Bitbucket pipeline
  • Familiar with modern version control system, such as Git
  • Familiar 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
  • 3+ years of relevant industry experience
  • Bachelor’s degree in Computer Science, Computer Engineering or equivalent

Plus:

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 streaming processing platform, such as Flink, Storm 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.

Thank you for your interest in Splunk!