Senior Software Engineer ( Distributed Systems)
e6data Verified employer
Actively hiring · Posted 1d ago · JEV2611FF5C252871
Job description
Core Responsibilities
Work on the core functionality of the e6data compute engine, keeping query performance as our north star.
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 distributed systems, data structures, algorithms and system design.
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 and Java. However, proficiency in them isn’t a strong requirement—instead, solid systems fundamentals are.
Crisper Must haves (non-negotiables)
The candidate is able to demonstrate strong programming skills in the interviews and should be able to solve distributed systems challenges.
Relevant experience distributed systems and perf related topics is expected
Examples are - Distributed databases, messaging systems, distributed storage, understanding of CAP theorem, 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 Concurrency
Atomics, locking, threading System Design
Scope and build distributed systems with many moving parts.
Able to reason about consistency and availability of the system
Work done on relevant topics (perf and distributed systems related) in Rust/C++/Java will be given strong attention.
How to apply
- Sign in or create your free profile — takes about two minutes.
- Apply with one tap — your profile is shared directly with e6data.
- Track your application and get updates by email and WhatsApp.