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 commemorate each other’s success. Learn more about Splunk careers and how you can become a part of our journey!
Getting a vast variety of massive data ready for analysis is never easy. Splunk is looking for Principal Software Engineersto join our Cloud and Data Platformteam to lead the design and development of sophisticated products to collect, transform and enrich data in a fast, scalable and reliable way both for Cloud and On-premise customers.
Join a team who is passionate about ensuring code hygiene, using open source libraries, continuous integration and delivery, and strong belief in automated testing at multiple levels (unit, feature, system, integration, production). You will work with team members in a variety of locations, so excellent team collaboration is important. We rely on daily standups to facilitate communication and get help when needed and use current tools (Slack, Confluence, video conference) to communicate decisions and stay connected.
- You will work closely with product, architects and the team to build exciting features, reusable components and products.
- You will collaborate with engineers to breakdown complex features into incremental deliverables
- You will implement features using current technologies/programming languages
- You will produce high quality production code for a contained complex feature set or function area
- You will analyze and optimize back-end code, and pursue simplicity, efficiency, reliability and performance
- You will use independent judgment to take existing code, understand its function and change/enhance as needed
- You will mentor junior level engineers and provide technical guidance, and engage in design and code review for other team members
What you'll need
- A strong foundation in computer science, with strong competencies in operating systems, networks, data structures, algorithms, distributed systems and software design
- A deep understanding and development experience using one or more open source technologies, e.g. Kafka/Streaming, Kinesis, Spark, Flink, Hadoop/MapReduce and Kubernetes
- Excellent problem solving, collaboration and communication skills, both verbal and written
- A demonstrated capability for creative thinking, intellectual and entrepreneurial exploration
- Experience developing, debugging, and performance tuning highly concurrent systems
- Extensive knowledge and production programming experience in at least one of Java/C++/Go
- You have expertise with developing and interfacing with thoughtfully designed HTTP APIs (REST or GraphQL)
- Experience designing and developing REST-based services with well-defined contracts
- Proven experience in multi-threaded programming and distributed systems
- 7 + years of progressive software development experience with a proven track record of ownership and delivery
- Self-starter who is comfortable taking the lead on a task, collaborating with other engineers to design and implement features
- Familiar with agile software development process
Nice to have:
- Strong understanding in one of major Cloud technologies, e.g. AWS, Azure and Google Cloud
- Experience in working within a Continuous Delivery (CD) development model
- Experience developing solutions within container orchestration systems like Kubernetes
- BS, MS or PhD in Computer Science or related engineering discipline
What we offer you:
- A constant stream of new things 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 hardworking and dedicated peers, all the way from engineering and QA to product management and customer support.
- Breadth and depth. You want to work on an area that spans backend and frontend and SDKs? We have that.
- 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 work in an open environment, have a shared kitchen and sit down for a quick sync every morning.
- We target a 40 hour work week and respect work/life balance. We want you to have a successful time outside of work too. Would you like 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 a great 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.