MonkDB
Role Summary - (Locations:Hyderabad, Bengaluru, NCR, Mumbai and Pune)
Role Summary
Backend / Core Database Engineer
You will contribute directly to planner and execution paths, data types, functions, UDF frameworks, ingestion/export pipelines, and service interfaces. The role demands strong engineering discipline—clean code, deep testing, clear documentation, and ownership from design through production.
This is a hands-on role for engineers who enjoy working close to systems fundamentals and take pride in correctness, performance, and long-term maintainability.
Key Responsibilities
Core Engineering
- Design and implement
scoped features
across: - Query planner and execution engine
- Custom data types and built-in functions
- UDF frameworks and execution runtimes
- Avro-based import/export pipelines
- gRPC handlers and service interfaces
- Write production-quality code with attention to correctness, performance, and extensibility.
- Work within clearly defined scopes while understanding downstream impact on the database engine.
Quality, Performance & Reliability
- Identify, fix, and prevent defects in owned components.
- Improve performance in bounded areas using profiling, benchmarking, and JVM tuning.
- Add and maintain:
- Unit tests
- Integration tests
- Performance benchmarks
- Ensure regressions are caught early through disciplined testing practices.
Documentation & Engineering Rigor
- Produce clear and concise:
- Design notes and technical RFCs
- API documentation
- Operational runbooks and troubleshooting guides
- Ensure documentation reflects real system behavior and remains up to date.
- Follow secure coding standards and internal data governance policies.
Operations & Ownership
- Participate in on-call rotations for owned components.
- Engage in post-incident analysis and contribute to long-term fixes, not just immediate patches.
- Demonstrate strong ownership—features are “done” only when they are stable, documented, and observable in production.
Requirements
Technical
- 4–6 years of strong backend engineering experience.
- Proficiency in
Java (17+)
; exposure to Java 23
is a strong plus. - Solid foundation in:
- Data structures and algorithms
- Concurrency and multithreading
- JVM internals (memory, GC basics)
- Debugging and profiling tools
- Working understanding of:
- SQL parsing, ASTs, or query execution concepts
- Backend system design trade-offs
- Strong testing mindset with awareness of performance and failure modes.
Professional
- High ownership and accountability for delivered work.
- Strong ethical judgment, especially around data handling and system integrity.
- Comfortable working within structured engineering processes and reviews.
- Clear communicator with a bias toward written documentation.
Nice-to-Have
- Prior exposure to:
- Database internals
- Search engines (e.g., Lucene-style systems)
- Distributed systems fundamentals
- Experience with:
- Netty and/or gRPC
- Serialization formats such as Avro or Parquet
- Basic understanding of:
- UDF runtimes
- Sandboxing or controlled execution environments
Interview Loop
Coding Round
- DSA fundamentals
- Practical debugging scenarios
Systems Fundamentals
- Concurrency, threading, memory, JVM behavior
Code Review / Refactoring Exercise
- Read, critique, and improve real-world backend code
Behavioural Round
- Ownership mindset
- Ethical decision-making
- Documentation and collaboration habits
Success Metrics (First 6–12 Months)
- Delivers scoped features on time with:
- Adequate test coverage
- Clear documentation
- Demonstrably reduces defect rates in owned areas.
- Produces clean, readable, and maintainable code.
- Becomes a reliable owner for specific engine components.
Qualifications
- Bachelor's degree in Computer Science (or related field)
- 4+ years of relevant work experience
- Expertise in Object Oriented Design, Database Design, and XML Schema
- Experience with Agile or Scrum software development methodologies
- Ability to multi-task, organize, and prioritize work