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).