Lead Developer – Distributed Systems

If you like distributed systems, then you’ll like this! As a Lead Software Engineer in our Distributed Systems team, your job will be to design and implement cutting-edge distributed, scale-out data infrastructure software systems. You will be part of a team working on hard problems, including distributed caching, distributed key-value and document data stores, data replication & conflict resolution, scale-out fault tolerance and data-layer reliability. You’ll work with Erlang, Golang, C/C++ and possibly a few other languages thrown in for good measure. You will probably bring Unix systems and server tech kung-fu to the team.

Sounds interesting? Read further…

Job Location



You have 4+ years of commercial or open source software experience (prefer experience with packaged, downloadable software)

About you

  • Bachelors in computer science or equivalent.
  • You’re a self-motivated, independent, and high-performance person. You learn quickly and you enjoy worthy challenges
  • You’re particular about your toolset, because you have it set up just how you like it and when you’re at your best you’re insanely productive
  • You can hack in C, C++ but you also like the intoxicating power of working in higher-level languages like Go.
  • You think distributed systems problems are cool
  • You might even have some real-world functional programming experience
  • You’re a good communicator and an excellent team mate
  • You like working in organizations that strive to have a good balance between doing it right and moving quickly


  • Create the world’s best distributed server infrastructure which companies will rely on for mission-critical OLTP needs
  • Discuss and debate with your peers as you help figure out product requirements and the architectural approach to getting things built
  • Design and implement needle-mover features with simplicity, elegance and economy
  • Research industry and academic leading-edge algorithms for distributed consensus, replication, consistency, availability and scalability
  • Think quality; think leverage. Develop high-quality software and use unit, component, and end-to-end automation tests so we know we have high-quality software
  • Be agile

If solving Real-world Hard problems excite you, what are you waiting for? Write to deepa.m@careerxperts.com

Apply Now