Bachelor’s degree in Computer Science, a related field, or equivalent practical experience.
5 years of experience with software development in one or more programming languages.
5 years of experience with data structures or algorithms.
3 years of experience in designing, analyzing, and troubleshooting distributed systems.
2 years of experience leading projects and providing technical leadership.
Nice to haves:
Experience working in computing, distributed systems, storage, or networking.
Experience in designing, analyzing, and troubleshooting large-scale distributed systems.
Experience with C++/Python.
Ability to debug, optimize code, and to automate routine tasks.
Excellent problem-solving approach, with effective verbal and written communication skills.
What you'll be doing:
Engage in and improve the whole life-cycle of services from inception and design, through to deployment, operation and refinement.
Support services before they go live through activities such as system design consulting, 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 mechanisms like automation, and evolve systems by pushing for changes that improve reliability and velocity.
Practice sustainable incident response and blameless postmortems.
Perks and benefits:
Intellectual curiosity, problem-solving approach, and openness are encouraged.
Collaborative work environment with diverse backgrounds and perspectives.
Opportunity to work on meaningful projects and career growth.
Support and mentorship for learning and development.