Description
We are developing our own KV in-memory DBMS for caching and fast data access, based on an open source project, taking into account increased requirements for security, reliability, availability, and maintainability. We are looking for an experienced C engineer ready to write code and take on the role of a player-coach.
Responsibilities
- Making changes to the core that define the quality of the DBMS: performance, memory, network layer, resilience, behavior during errors and failures
- Cooperation and coordination in solving work tasks - quickly gather the full picture, propose a solution option, create a PoC, agree with the team on the approach, and then bring it to a production-quality implementation
- Analyzing bugs and regressions: project crashes, memory leaks, hangs, latency degradation under load. Propose workarounds, find root causes
- Working with the team - short sync-ups, analyzing logs/ASan reports, providing debugging tips, unblocking colleagues, code reviews
- Maintaining architectural integrity and the quality of changes (being the point of convergence for technical decisions: not managing processes, but actively participating in them).
Requirements
- From 6 years of experience in C development under Linux for systems/high-load projects
- Confident skill in working with memory: object lifetime, allocations/fragmentation, common errors (UAF/double free/leaks) and the ability to find them
- Confident debugging skill: core dumps, gdb/lldb, reading stack traces/dumps, ability to quickly narrow down a problem to a specific area
- Practical knowledge of performance: how to measure, where to look for bottlenecks, how to avoid blind optimization; experience in improving p95/p99
- Knowledge of concurrency and event-driven approaches at a level sufficient to safely change the core (locks, the effect of a minor change on latency)
- Ability to run ASan (MSan, TSan is also a big plus), interpret reports, and turn findings into reproducible regressions
- Instrumental proficiency with AI for analysis, generation, and automation.
Will be a plus
- Experience with fault tolerance and distributed scenarios - network partitions, split-brain, quorums/leader election - at least at the level of understanding and practice
- Experience implementing security features - audit, secret masking, rate-limiting, hardening configs/permissions
- Experience with profilers (perf/flamegraph), or at least a habit of always confirming optimizations with measurements
- Experience in small teams where it is important not to overcomplicate but maintain quality.
Conditions
- Hybrid work format
- Annual bonus and yearly salary review
- Status of an accredited IT company with all its benefits
- Extended health insurance from day one and preferential family insurance
- Sber Corporate University, internal educational platform, participation in IT conferences
- Office with a view of the embankment, recreation areas, and a gym
- 90 days of remote work from any region of Russia
- Preferential mortgage from Sber, SberPrime+ subscription, discounts from partners and services of the group of companies.
Responsibilities
Requirements
Conditions