Save Job
Posted 1y ago

Software Engineer (Perf)

@ e6data
India
RemoteFull Time
Responsibilities:Working in Rust, Improve performance, Architect features
Requirements Summary:Strong Rust coding skills; experience with performance-focused/system topics; CS fundamentals.
Technical Tools Mentioned:Rust
Save
Mark Applied
Hide Job
Report & Hide
Job Description



This is a remote position.

Experience bracket: 3 to 8 years of experience


At e6data, we are building the next generation of hyper-performant and distributed compute engine in Rust for SQL and AI query processing. We are looking for engineers to work on the engine's core by building new capabilities in Rust extracting every last drop of performance. You will be a key team member responsible for end-to-end delivery of one or more such core capabilities. 

Core Responsibilities

  • Work in Rust on the core functionality of the e6data compute engine, keeping query performance as our north star.

  • Improve existing engine capabilities and query performance. 

  • Be part of the core team involved in scoping, designing, architecting and building out entire features. 

  • Write clean, well-documented, and maintainable code that follows established coding standards and best practices.

Must haves (non-negotiables) 

  • Strong coding skills demonstrated through one or more passion projects you’ve worked on.

  • A keen understanding of what it means to write performant code.

  • Demonstrable strength in data structures and algorithms.

  • Delivered a complex programming outcome, preferably with a distributed system design.

  • You have a strong work ethic, are self-directed, and are willing to ramp up quickly and deliver the engineering outcomes that will make our customers successful.

  • The primary programming language will be Rust. Proficiency in Rust or equivalent language is a strong requirement along with solid programming fundamentals.



Requirements

Crisper Must haves (non-negotiables) 

  • Able to go through 3 technical interviews/discussions discussing prior work and solve coding problems.

  • Some relevant experience on perf and systems related topics is expected

    • By systems related - examples are - networking, embedded, kernels, databases, compilers, etc

    • By perf - examples are - work done on data structures, profiling, algorithms, etc beyond trivial stuff like caching, using a database more effectively etc.

  • We will probe on a list of topics - and they must have good level of skill on these topics

    • Data structure / algo

      • Hashmaps - how they work. Be able to talk about chaining vs probing

      • Given a datastructure - able to reason about complexity

    • Programming

      • Able to distinguish between doing something synchronously vs asynchronously

      • How does garbage collection work in VM languages

    • Hardware

      • Cache hierarchy

      • Bonus points if they are aware of SIMD

    • Concurrency

      • Atomics vs locks

    • Design

      • Build a cache. Extend it to be constrained by the number of entries. Extend it to be constrained by mem usage

  • Demonstrable work done on relevant topics (perf or systems related) in Rust/C++ will be given strong attention.


What’s in it for you

  • Challenging work solving some of the most complex problems in distributed systems engineering and database internals. 

  • Best-in-class compensation (top 90 percentile).

  • An engineering-driven, hybrid workplace culture.


We believe in hiring smart people, giving them the right platform and direction, and getting out of their way. Your growth will be limited only by your abilities.