Senior Software Engineer – Database Internals (Xpand)

Job Description

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

Technical Skills

  • 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

Personal Skills

  • 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

Job Location

Seattle, Washington or Remote

Apply Here