We are seeking a Principal Software Engineer to join the Data Federation Team working on various distributed components of the Splunk Cloud offerings that help customers in collecting and analyzing high volumes of machine-generated data. We ensure code hygiene, use open source libraries, employ continuous integration and delivery, and have a strong belief in automated testing at multiple levels (unit, integration, system). We are seeking someone who shares our passion to join our team and be part of our future success. You will work with team members in a variety of roles including QA, Performance, System testing, SRE, Cloud teams, etc. and so excellent team collaboration is important.
- Understand the challenges and trade-offs to be made when building and deploying new systems to production
- Work closely with architects and the team to build exciting features, reusable components and products.
- Analyze and optimize back-end code, and pursue simplicity, efficiency, reliability and performance.
- Use independent judgment to take existing code, understand its function and change/improve as needed.
- Engage in design and code reviews of the product, and use your knowledge of customers’ experiences to dedicatedly prevent future problems.
- BS EE or CS degree; 12 + years related experience (or Masters and 8 + years or PhD and 5+ years experience) or Equivalent practical working experience
- Experienced in developing and maintaining multi-threaded server applications written in C/C++ on Linux platforms.
- Worked on distributed systems involving various aspects of OS layers, network communications, and RESTful services.
- Followed best software development practices and participated in code reviews.
- Primarily focused on developing code, and efficiently produced elegant, clean and re-usable code with no unnecessary complication or abstraction.
- Participated in designing and estimating sprint-sized software deliverables.
- Knowledge of Cloud technologies is a PLUS
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 team of incredibly capable and dedicated peers, all the way from engineering to product management and customer support.
- A stable, collaborative, and supportive work environment. We work in an open environment, work together to get things done, and adapt to the changing needs for the team. We keep it real by being open and honest. We are a collaborative team that understands the value in open communication— it's how we interact with our customers.
- Balance. We don't expect people to work 12-hour days. We want you to be successful outside of work too. We trust our colleagues to be responsible with their time and commitment, and believe that balance helps cultivate a positive environment.
- Fun. We are committed to having every employee want to give it their all, be respectful and a part of the family, and have a smile on their face while doing it.