Description
At Snowflake, we are powering the era of the agentic enterprise. To usher in this new era, we seek AI-native thinkers across every function who are energized by the opportunity to reinvent how they work.
Within the broader Berlin engineering team, Database Search focuses on workload optimization: building core database-engine capabilities that help customer queries run faster by finding and processing data efficiently. The team works on indexing methods, index selection and maintenance, data pruning and skipping, and query optimization for selective SQL queries and other workloads.
As a Software Engineer, you'll take on challenging problems inside the database engine, designing, implementing, and improving components across indexing, query optimization, and execution. You'll drive work from investigation through tested implementation and collaborate with teammates to deliver robust solutions for demanding customer workloads.
Responsibilities:
- Implement, test, and improve database-engine features across indexing, data pruning and skipping, query optimization, and execution.
- Investigate performance and scalability bottlenecks using debugging, instrumentation, and measurement, then drive fixes through validation.
- Write maintainable, reliable code and tests in C++ and/or Java.
- Build and improve components in a highly parallel database engine, reasoning about how changes affect query execution end to end.
- Work with teammates and partner engineering groups to refine designs, deliver changes, and share results.
- Evaluate changes against customer workloads and system behavior, and measure their performance impact.
Requirements:
- Experience building software through professional work, internships, research, or substantial personal or open-source projects.
- Proficiency in C++ and/or Java, with an interest in writing efficient, reliable systems software.
- Foundational knowledge of data structures, algorithms, and software design.
- Familiarity with SQL and core database concepts, or a strong interest in developing that knowledge.
- Foundational understanding of concurrency and multithreading.
- A proactive, self-motivated approach to hard problems: you take initiative, pursue issues to root cause, and work through ambiguity while communicating progress and incorporating feedback.
- Professional proficiency in English.
- A degree in Computer Science or a related field, or equivalent practical experience.
Helpful experience:
- Exposure to database internals, query engines, storage engines, indexing, or query execution.
- Experience analyzing performance in concurrent, multithreaded, or otherwise performance-sensitive systems software.
- Familiarity with SQL workloads or columnar data formats such as ORC or Parquet.
For more fresh new jobs, check out yubhub.co.