Senior Software Engineer – Distributed Systems

Senior Software Engineer – Distributed Systems Job Description Template

Our company is looking for a Senior Software Engineer – Distributed Systems to join our team.

Responsibilities:

  • 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;
  • Help build the world’s best distributed server infrastructure which companies will rely on for mission-critical OLTP needs;
  • Agile.

Requirements:

  • 5+ years of experience as a professional software developer;
  • Experience providing mentorship and guidance, including code reviews, training, and feedback;
  • Experience using either C, C++, or Java, with excellent and creative problem-solving abilities;
  • Experience practicing advanced optimization techniques;
  • You think distributed systems problems are cool;
  • You can hack in C, but you also like the intoxicating power of working in higher-level languages;
  • You’re a self-motivated, independent, and high-performance person. You learn quickly and you enjoy worthy challenges;
  • You’re a good communicator and an excellent team mate;
  • You might even have some real-world functional programming experience;
  • You like working in organizations that strive to have a good balance between doing it right and moving quickly;
  • You have 4+ years of commercial or open source software experience (prefer experience with packaged, downloadable software);
  • 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;
  • Deep experience with at least one of message queues, task queues, and caching;
  • Solid experience in at least one compiled and one interpreted language;
  • Experience with designing, building, and maintaining microservices (or big functional pieces in a monolithic system).