Software Engineer, Query Processing / Database Internals (C++)
What you’ll be doing…
You’ll be developing cutting-edge software for the best visual data analysis products available. Query processing is one of the most complex technical challenges in Tableau.
You will compile, optimize and rewrite queries for all different types of data sources. In addition to traditional relational query optimization, you’ll work on optimizing federated queries across multiple data sources with diverse, often non-relational, data models.
You will be expanding the analytical product capabilities and performance of the Tableau products through query optimization and through our custom in-memory columnar storage engine. You will be constantly challenged to leverage your creativity and your technical prowess to improve Tableau.
Some of the things you’ll be doing include…
- Extend and improve Tableau’s query pipeline that creates analytical queries enabling visualization of data.
- Improve query performance through new algorithms, caching, concurrency, and scaling. These queries can operate on dozens of database platforms, enabling individual users and enterprises to rapidly federate and explore their data through insightful visualizations.
- Create innovative algorithms to provide a better experience with live queries against an ever more diverse set of data sources. These may include API-based web data sources, cubes, graph data, relational and NoSQL systems such as Hadoop.
- Leverage your creativity and technical prowess to extend our customer’s ability to see, understand, and “reach out and touch” their data; in whatever form that data it happens to be.
Who you are…
- Data Rock Star! You love to help people visualize and understand their data. You are always looking for new ways to discover meaning in data. Your mind is sharper than your sword! You can slice, dice, drill down, roll up, drill through, aggregate, pivot, correlate, trend and forecast any data while juggling cubes blindfolded behind your back! You can find your way in and out of any cube in a split second no matter how many the dimensions! You are a “data geek” that has a deep passion for data and building robust, scalable and high-performance systems for working with large, increasingly diverse sets of data.
- Passionate. You love to code and have a passion for solving complex problems, be they at work or in your spare time on your own projects. You are always looking for efficient, elegant solutions.
- Experienced. You have 3-5+ years experience developing in C++ and a thorough understanding system programming with modern C++ is required. Although not required, it’s a bonus to have good understanding of database theory and query processing concepts and algorithms – query parsing, optimization and execution. Industrial product development experience is a plus. It’s also a plus to have experience designing, developing, enhancing and maintaining the query pipelines of commercial database products.
- Relentlessly High Standards. You believe in automation and writing tests for your own code as a way of maintaining high quality in your products. You understand what it takes to write software that is used by thousands or millions of people. You love writing things that “just work” – things that are robust, scalable, and that perform well.
- You are a Recruiter! Tableau hires company builders and, in this role, you will be asked to be on the constant lookout for the best talent to bring onboard to help us continue to build one of the best companies in the world!