Job Summary
We are looking for an experienced Engineer to build and scale services in a cloud environment within our Infrastructure team. Our Infrastructure Engineers work with a high-energy, fast-paced team responsible for supporting initiatives and operations across Toptal.
This is a remote position. We do not offer visa sponsorship or assistance. Resumes and communication must be submitted in English.
Responsibilities:
The following information is intended to describe the general nature and level of work being performed. It is not intended to be an exhaustive list of all duties, responsibilities, or required skills.
1. Toptal services are deployed across hundreds of servers. You will be responsible for designing, building, deploying, and maintaining highly available production systems based on Kubernetes.
2. Collaborate with the development teams and help them streamline their deployment processes, observability, and self-service capabilities.
3. We are embracing DevOps practices, where the Infrastructure team develops systems, automation, tooling, and workflows and consults/mentors developer teams to enable them to own the whole lifecycle of the software they are making.
4. Implement monitoring for automated system health checks, develop procedures, and maintain system troubleshooting and maintenance documentation.
5. Collaborate regularly with Engineering teams to improve the company’s engineering tools, systems, procedures, and data security, not just administer clusters and cloud services.
6. Join daily scrum standups (GMT-3 to GMT+5). Expect pair programming, engaging in peer code reviews, and using collaboration tools like Slack and Zoom.
7. Design, develop, document, analyze, create, test or modify computer or cloud based systems or programs.
In the first week, expect to:
8. Join our boot camp team and begin onboarding into Toptal.
9. Learn about our team’s processes and get familiar with the code that maintains our infrastructure resources.
In the first month, expect to:
10. Gain insight into our system topology and how the whole system is structured.
11. Understand our monitor systems, alerting systems, and security.
12. Participate in team meetings and get familiar with the ongoing projects and initiatives.
13. Talk and meet with people from the operations squad.
In the first three months, expect to:
14. Start working on support tasks to familiarize yourself with the core tools, setup, and everyday challenges.
15. Exercising discretion and independent judgment, provide excellent customer service by understanding and addressing the teams’ needs and expectations through effective communication and collaboration while learning about our infrastructure.
16. Deliver internal infrastructure and services such as monitoring, logging, automation, and data services targeted at our internal users.
17. Support the development of CD pipelines and next-generation Kubernetes-based infrastructure platforms.
In the first six months, expect to:
18. Support Infrastructure design, architecture, and implementation.
19. Have opportunities to be involved in systems design, identify new technologies to support the business, and resolve infrastructure compatibility and performance problems as they arise.
20. Participate in the on-call rotation schedule (during business and after hours) to support all infrastructure-related systems.
21. Report any downtime or performance issues the system faces, investigate to determine what caused them, and coordinate with other teams to resolve them.
22. Handle incident resolution if a developer is not needed.
23. Participate in our Disaster Recovery and incident analyses.
In the first year, expect to:
24. Communicate with key partners on project engagements.
25. Partner closely with our Engineering teams to develop infrastructure automation and management solutions that focus on scalability, observability, automation, reliability, security, and quality in Google Cloud Platform.
26. Plan and coordinate testing of changes, upgrades, patches, new releases, and new services.
27. Participate in technology initiatives that enable developers to deliver their services to our customers with minimal friction and high quality.
Qualifications and Job Requirements:
28. 5+ years of experience with Kubernetes environments, including production operations, troubleshooting, debugging, cluster provisioning, and management.
29. Previous experience managing infrastructure configuration and provisioning through code for large, distributed systems on public cloud platforms (AWS, GCP).
30. Solid understanding of Linux debugging, LAN and WAN networking, IP addressing, Load Balancing, VPNs, and routing.
31. A strong understanding of modern systems and service-related security methodologies.
32. Hands-on experience with system and application metric collection and alerting services like Graphite, Grafana, Prometheus, InfluxDB, Sensu, etc. A keen focus on what makes a system observable.
33. Proficient in scripting languages like Python, Bash, Ruby, etc.
34. You have experience with continuous integration, deployment patterns, and tools like Jenkins or Argo CD.
35. Proficiency in deploying automation with tools like Ansible, terraform, and version control.
36. Experience with Docker, Docker Compose, and building optimized Docker files.
37. Experience running RDBMS. PostgreSQL experience is an added advantage.
38. Excellent troubleshooting skills. Experience in resolving complex problems through various troubleshooting protocols and processes.
39. Eagerness to help teammates, share knowledge with them, and learn from them.
40. Outstanding written and verbal communication skills.
41. Ability to work in a fast-paced, rapidly growing company and handle a wide variety of challenges, deadlines, and a diverse array of contacts.
42. You must be a world-class individual contributor to thrive at Toptal. You will not be here just to tell other people what to do.