Dremio: Software Engineer - Query Execution
DremioWeWorkRemotely - Full-Stack٧/١٠/٢٠٢٦
إعلان
Headquarters: Portugal - Remote
Be Part of Building the Future
Dremio is the unified lakehouse platform for self-service analytics and AI, serving hundreds of global enterprises, including Maersk, Amazon, Regeneron, NetApp, and S&P Global. Customers rely on Dremio for cloud, hybrid, and on-prem lakehouses to power their data mesh, data warehouse migration, data virtualization, and unified data access use cases. Based on open source technologies, including Apache Iceberg and Apache Arrow, Dremio provides an open lakehouse architecture enabling the fastest time to insight and platform flexibility at a fraction of the cost. Learn more at www.dremio.com.
About the role
Dremio’s Query Execution team builds the runtime responsible for executing analytical queries at scale. The team sits between query planning and table scans, building the systems that turn query plans into efficient, reliable execution.
As a Software Engineer, you’ll work with experienced engineers to build, test, and support well-scoped improvements to the execution engine. You’ll learn how Dremio’s query runtime works while contributing to areas such as query operators, expression evaluation, memory management, scheduling, and performance.
What you’ll be doing
Build and support execution-engine components: Implement, test, debug, and maintain well-defined changes to query operators, expression evaluation, execution scheduling, and resource management.
Develop reliable software: Write clear, maintainable Java code; add unit and integration tests; and follow established engineering practices for code review, testing, and documentation.
Investigate issues: Help diagnose query correctness, reliability, and performance issues using query profiles, logs, telemetry, benchmarks, and production data.
Learn runtime and performance fundamentals: Build familiarity with vectorized processing, concurrency, memory usage, parallelism, data exchange, and disk spilling.
Collaborate with the team: Work closely with senior engineers and partner teams to understand requirements, break work into manageable tasks, and deliver incremental improvements.
Use AI-assisted development tools: Apply AI tools to code comprehension, debugging, test generation, and documentation, while validating results through testing, review, and sound engineering judgment.
Grow your engineering skills: Participate actively in design discussions and code reviews, seek feedback, and steadily take on broader technical responsibility.
What we’re looking for
Software engineering foundation: Up to two years of professional software development experience, or equivalent experience through internships, coursework, or substantial personal projects.
Programming skills: Proficiency in Java or another object-oriented programming language; willingness to learn and work in a large Java codebase.
Computer science fundamentals: Understanding of data structures, algorithms, and basic concurrency concepts.
Problem-solving ability: Able to work through well-defined technical problems, ask good questions, and apply feedback to reach a solution.
Quality mindset: Commitment to writing tested, maintainable code and learning established development, testing, and review practices.
Communication and collaboration: Able to communicate progress, surface blockers early, and work effectively with teammates.
Education: Bachelor’s degree in Computer Science, a related technical field, or equivalent practical experience.
Bonus points if you have
Exposure to database internals, query processing, distributed systems, or large-scale data processing.
Familiarity with performance-oriented software concepts such as profiling, memory management, concurrency, or vectorized processing.
Experience with C++, Apache Arrow, Parquet, Apache Iceberg, Spark, Hadoop, or cloud object stores.
Contributions to open-source projects.
What we value
At Dremio, we hold ourselves to high standards when it comes to People, Thinking, and Actio
