Software Engineer in Distributed Systems
This role involves working on large-scale distributed systems to ensure their reliability and performance. As a system developer, you will design, build, deploy, operate, and refine these services.
Responsibilities:
* Engage in the whole lifecycle of services from inception and design through deployment, operation, and refinement.
* Support services before they go live by developing software platforms and frameworks, capacity planning, and launch reviews.
* Maintain services once they are live by measuring and monitoring availability, latency, and overall system health.
* Scale systems sustainably through automation and evolve systems by pushing for changes that improve reliability and velocity.
* Practice sustainable incident response and blameless postmortems.
Requirements:
* Bachelor's degree in Computer Science or related field, or equivalent practical experience.
* 8 years of experience with software development in one or more programming languages.
* 3 years of experience leading projects.
* 3 years of experience designing, analyzing, and troubleshooting distributed systems.
Preferred Qualifications:
* Experience working in computing, distributed systems, storage, or networking.
* Expertise in designing, analyzing, and troubleshooting large-scale distributed systems.
* Ability to debug, optimize code, and automate routine tasks.
* Systematic problem-solving approach coupled with effective verbal and written communication skills.
We offer competitive compensation and benefits, opportunities for professional growth, and a dynamic work environment. You will have the chance to work on challenging projects that make a real impact on users.