Principal Software Engineer - Federated Search

Salary depends on experience
Posted on 02/21/18
San Francisco, CA
IT Consulting/Services
Salary depends on experience
Posted on 02/21/18

Role:

Are you interested in being part of a small team tasked to build the next-generation industry-leading platform for machine data? Splunk is looking for Software Engineers to join the effort to define and build the future of Splunk. You will be joining a team that's developing our Federated Search infrastructure used for searching data in Splunk and a variety of other big-data systems

We give our engineers an environment in which they can contribute from day one while also providing opportunities for learning and growth. You'll learn how our entire stack works - from data ingestion and storage to searching, reporting and building dashboards – all in distributed environments. The work you’ll do will directly impact the experience of our customers.

We are an engineering- and product-focused company. Our engineers take a leading role in designing, architecting, building and testing our product. Engineers at Splunk have a wide impact, from developing new capabilities like metrics ingestion and analysis to working with customers to see their work be used to solve real-world problems.

What we provide:

  • Opportunities to develop and grow as an engineer. We are the forefront of our industry, always expanding into new areas, and working with open source and new technologies.
  • A set of talented 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. You want to go deep into optimizing how we compress data for fast random-access retrieval? We have that too, and more.
  • 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.
  • Balance. 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 commitment, and believe that balance helps cultivate a positive environment.

What you provide:

  • Desire to Learn and Adapt. We have a lot of projects going on at once, and you'll have to learn to navigate the code and features. You'll constantly be learning new areas and new technologies.
  • Passion. Our customers are passionate about Splunk and we want the same from our engineers. We want you to actively own your work and be excited about your projects.
  • Understanding of Distributed Systems Programming. Examples of area you may be knowledgeable in may include multi-threaded programming, distributed file systems, distributed concurrency control, consistency models, consistent hashing, CAP theorem, multi-process execution models, good grasp of data structures and algorithms, etc. You don't need to be an expert on everything, but you should have foundation to build on.
  • Experience with distributed architectures/systems. You have experience in writing optimized and scalable software systems that work on a large number of nodes. You have solid understanding of map reduce fundamentals, lambda architecture, and have developed applications on systems like Spark/Flink/Hadoop and Kafka.
  • Ability to work with multiple programming languages. We have code in several languages, ranging from C/C++ and Java to Python and JavaScript. In this position you'll be mostly using Java and/or C++.
Not the right job?
Join Ladders to find it.
With a free Ladders account, you can find the best jobs for you and be found by over 20,0000 recruiters.