SENIOR SOFTWARE DEVELOPMENT ENGINEER
We are looking for skilled systems developers to work on the internals of the database and solve problems of compiler design and implementation, distributed concurrency control, load distribution, managing data statistics, fault tolerance, and scaling further and faster.
Participate in a team-based, collaborative development process that starts with in-depth high level design and ends with code review.
Coordinate with the QA team on creating automated verification and regression tests.
Work on bugfixes to support maintenance of existing deployments.
Some features you might work on: I/O Flow Control, Clustering, Group Management, Distributed Flow Control, Distributed Locking, Concurrency Control.
Provide code reviews for ongoing development efforts.
Mentor more junior team members on design and implementation.
Work with Support Escalation on supporting Strategic Accounts.
Significant experience with systems-level development in C for enterprise-quality software.
Proven ability to work on complicated, production-scale projects with minimal supervision.
Proficient in concurrent and asynchronous system principles.
Solid systems experience in one or more of: File systems, Linux kernel development, Compilers, writing a web server, developing a game engine, working on a database, developing a caching engine, a media server, proxy server, or similar.
A Computer Science degree from an accredited four-year university.
Start-up experience – candidates should enjoy working on hard computer science problems in a small, fast-moving start-up environment.
Experience with modern source control systems (Mercurial, Git).
Experience as a technical lead, software architect, or other technical design experience.
San Francisco or Seattle