Software Engineer, Backend

EngineeringHybrid Remote, Canada


Description

Splunk, a Cisco company, is building a safer and more resilient digital world with an end-to-end full stack platform made for a hybrid, multi-cloud world. Leading enterprises use our unified security and observability platform to keep their digital systems secure and reliable. Our customers love our technology, but it's our caring employees that make Splunk stand out as an amazing career destination. No matter where in the world or what level of the organization, we approach our work with kindness. So bring your work experience, problem-solving skills and talent, of course, but also bring your joy, your passion and all the things that make you, you. Come help organizations be their best, while you reach new heights with a team that has your back.

Role Summary

The Software Engineer develops and owns moderately complex features or subsystems, ensuring scalable, high-quality solutions. They break down tasks into sprint-sized work, estimate efforts, and design for testability through automation. Writing clean, reusable code is essential, focusing on modularity and scalability. The engineer participates in design and code reviews, collaborates with Product Managers on user stories, and contributes to product evolution. They also coordinate junior engineers and foster a collaborative environment, enhancing cross-team collaboration and knowledge exchange.

Meet the Products and Technology Team

Want to build security and observability products people love AND work with people as smart (and humble) as you are? Our products and technology team delivers digital resilience at enterprise scale with a self-service Splunk portfolio that offers unified security analytics, full stack observability and real-time visibility of streaming data. Learn more about the team, meet our leaders, and hear from Splunk technologists and engineers at splunk.com/careers/products-and-technology.

What you'll get to do

You will be working on next-generation services related to data ingestion and processing of data in motion within a highly scalable, cloud-native distributed system. This system processes petabytes of data and enables customers to transform, filter, and route data efficiently.

In this role, you will:

  • Develop and own moderate complexity features or subsystems for data ingestion and stream processing services; break down tasks into sprint-sized work with accurate estimates.
  • Design for testability by automating test cases and improving test frameworks, and write high-quality, elegant, reusable code focused on efficiency and maintainability.
  • Contribute to system design and architecture, ensuring modularity, reusability, and scalability; lead design/code reviews as a key contributor.
  • Collaborate with Product Managers to define user stories and acceptance criteria, and work with Senior Engineers on product design and architectural decisions.
  • Coordinate and mentor junior engineers, participating in hiring evaluations, and engage with external teams to drive integrations and enhance cross-team collaboration.
  • Foster a strong team culture, promoting knowledge sharing, continuous learning, and innovation.

Must-have Qualifications

  • 5+ years of related experience with a technical Bachelor's degree or equivalent practical experience. Expertise in two or more programming languages, such as Go or Java.
  • Skilled in developing and working with HTTP APIs (e.g., REST, GraphQL) and test-driven development, including various levels of automated tests (unit, functional, integration, system, performance/load).
  • Proficient in developing/debugging TCP-based protocols, CI/CD tools (Jenkins, GitLab CI, Bitbucket pipeline), and modern version control systems like Git. Experienced with development on Linux or Unix systems.
  • Experience with streaming/messaging frameworks (Flink, Pulsar, Kafka) and large-scale data processing technologies such as Apache Spark. Familiar with distributed systems, edge computing, and network programming.
  • Ability to coordinate with full-stack engineers beyond your team, learn new technologies quickly, and mentor junior team members.

Nice-to-have Qualifications

We’ve taken special care to separate the must-have qualifications from the nice-to-haves. “Nice-to-have” means just that: Nice. To. Have. So, don’t worry if you can’t check off every box. We’re not hiring a list of bullet points–we’re interested in the whole you.
  • Experience with cloud technologies (AWS, Azure, GCP), ideally with certifications, and container technologies (Docker) and orchestration tools (Kubernetes, Docker Swarm).
  • Experience with streaming processing platforms (e.g., Flink, Storm) and analytics solutions like Splunk.
  • Experience leading or contributing to open source projects and working in direct customer-facing environments.

Splunk is an Equal Opportunity Employer

Splunk, a Cisco company, is an Equal Opportunity Employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, gender, sexual orientation, national origin, genetic information, age, disability, veteran status, or any other legally protected basis.

Note:

Thank you for your interest in Splunk!