What are the responsibilities and job description for the Senior Software Engineer – Database Internals position at Quanta Search?
Responsibilities
As a member of the development team, you will be responsible for subsystem design, design reviews, and of course, portions of the implementation. You should be an experienced C developer and be comfortable with development of concurrent systems in an asynchronous programming model. Your experience in the following areas is highly desired:
Systems Design and Implementation
- Distributed Group Membership and Reliable Communication
- Distributed Concurrency Control and Transaction Management (2PL, MVCC, 2PC)
- Distributed Lock Management and Distributed Deadlock Detection
- Fault Tolerance in Distributed Systems
- High Concurrency B-Tree Implementation
Database Query Processing/Optimization and Language Design
- Distributed Query Planning and Optimization
- Design and Implementation of Rule-Based Languages (Prolog/Datalog)
- Compiler Design, Implementation, and Optimization
- SQL Parser Implementation
- Columnar Databases and/or Analytics
Network Protocol Design and Implementation
- Design and Development of High-Performance Protocol Stacks
- Experience with Asynchronous Programming models
Qualifications
- Distributed database development
- File System Development
- Unix/Linux/BSD Kernel and Systems Development
- Large Scale Systems Architecture and Implementation
- Understanding of database QoS technologies
- Experience working in virtualized (cloud) environments
- 5-10 years of prior experience in systems development
- Excellent technical communication skills, the ability to elaborate complex technical concepts and collaborate effectively with fellow engineers
- Language requirement: English, our corporate language
- Problem-solving mindset
- A passion for high-quality software and ability to work with a small team in a distributed company