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.