Software Engineer – Distributed Systems Job Description

Software Engineer – Distributed Systems Job Description Template

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

Responsibilities:

  • You will own (design, build and test) significant features in our microservice-based architecture;
  • 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;
  • Agile;
  • Help build the world’s best distributed server infrastructure which companies will rely on for mission-critical OLTP needs;
  • Perform complex system level tests, enhance and resolve issues in existing codes and perform unit testing and integration testing;
  • Write design specifications and functional specifications for software architecture design;
  • Enjoy working in a startup environment. Able and willing to wear multiple hats and do what it takes to get the job done;
  • Develop and define new software product features.

Requirements:

  • You are impact and result driven and biased towards execution;
  • You are passionate about code quality, extensibility, coding standards, testing and automation;
  • Expertise developing, testing and debugging production-quality, scalable, multi-threaded, concurrent systems;
  • Strong computer science fundamentals (data structures, algorithms, and concurrency);
  • Experience with distributed systems concepts and client-server architectures;
  • 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 like working in organizations that strive to have a good balance between doing it right and moving quickly;
  • 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 might even have some real-world functional programming experience;
  • You have 3+ years of commercial or open source software experience (prefer experience with packaged, downloadable software);
  • BS, MS or Ph.D. in Computer Science, Computer Engineering;
  • BS, MS, or Phd in Computer Science or Engineering.