Senior Staff Software Engineer - Query Execution

Dremio
Santa Clara, CA, United States
24 days ago
Apply on arc.dev
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Working hours
Regular working hours
Job source

Tech stack

Query Performance Java (Programming Language) Adobe InDesign Artificial Intelligence Apache HTTP Server Big Data C++ (Programming Language) Code Generation Profiling Code Review Computer Programming Databases
+23 more
Data Structures Software Debugging Distributed Systems Memory Management Electronic Data Interchange (EDI) Apache Hadoop Java Virtual Machine (JVM) Open Source Technology Operational Databases Performance Tuning Software Engineering Database Engines Parquet Multithreading Cloud Platform System Concurrency Apache Spark Caching Parallel Computation Data Lakes Avro Data Management Asynchronous Programming

Job description

Dremio’s Query Execution team builds the runtime responsible for executing analytical queries at scale. The team sits between query planning and table scans, owning the systems that turn query plans into efficient, reliable execution.

As a Senior Staff Software Engineer, you’ll work on query operators, expression evaluation, memory management, execution scheduling, runtime planning, and performance optimization. Your work will directly affect query performance, scalability, and reliability across Dremio’s cloud data platform.

What You’ll Be Doing

  • Build the execution engine: Design, implement, test, and support query operators, expression evaluation, execution scheduling, runtime planning, and resource management.
  • Improve runtime performance: Optimize vectorized processing, concurrency, parallelism, memory usage, data exchange, and disk spilling.
  • Diagnose difficult problems: Investigate query correctness and performance issues using query profiles, profiling tools, telemetry, benchmarks, logs, and production data.
  • Optimize Java and the JVM: Improve CPU utilization, allocation behavior, garbage collection, thread behavior, and other runtime characteristics.
  • Collaborate across the query engine: Work with Query Planner, Datalake, Product, Support, and field engineering teams on end-to-end query improvements.
  • Use AI-assisted development tools: Apply AI tools to code comprehension, debugging, test generation, documentation, and incident analysis.
  • Apply engineering judgment: Validate AI-generated code and recommendations through review, testing, benchmarking, and engineering judgment.
  • Raise the engineering bar: Participate in design and code reviews, contribute to technical direction, and mentor other engineers., * Query engines: Distributed query engines, database engines, or large-scale data processing systems.
  • Execution techniques: Vectorized execution, query operators, expression evaluation, code generation, or runtime optimization.
  • Runtime systems: JVM profiling, memory management, caching, networking, data exchange, execution scheduling, or disk spilling.
  • Data platforms: Apache Arrow, Apache Iceberg, Parquet, Avro, Spark, Hadoop, or cloud object stores.
  • Open source: Contributing to open-source projects., Dremio is not responsible for any fees related to unsolicited resumes and will not pay fees to any third-party agency or company that does not have a signed agreement with the Company.

Requirements

  • Software engineering experience: 5+ years developing production software, preferably in database systems, query execution, distributed systems, or related areas.
  • Programming skills: Strong Java skills; experience with C++ is a plus.
  • Computer science fundamentals: Strong foundation in data structures, algorithms, concurrency, multithreaded programming, and asynchronous programming.
  • Database and distributed systems knowledge: Understanding of database internals, query processing, distributed execution, and performance optimization.
  • Performance engineering experience: Experience profiling and optimizing CPU, memory, garbage collection, thread behavior, or other runtime characteristics.
  • Problem-solving ability: Ability to solve ambiguous technical problems and work effectively across team boundaries.
  • Engineering judgment: Ability to evaluate tradeoffs, validate solutions rigorously, and make sound decisions when working with unfamiliar or AI-assisted implementations.
  • Communication and ownership: Strong communication skills, a sense of ownership, and a commitment to delivering high-quality software.

About the company

About Dremio

51-200

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on arc.dev
Prepare application

Good distractions

Loading talks and stories from around this role…