Senior Software Engineer, Service Mesh
Job description
About the role
As a Senior Software Engineer specializing in Service Mesh at Roblox, you will play a pivotal role in enhancing our platform's infrastructure. Your expertise will contribute to the development of robust and scalable service mesh solutions that facilitate seamless communication between microservices. This position requires a deep understanding of distributed systems and a passion for building high-performance applications. You will collaborate closely with cross-functional teams to ensure that our services are reliable, efficient, and secure, ultimately enhancing the experience for millions of users worldwide.
Key facts
What you'll do
- Design and implement service mesh architectures that improve the reliability and observability of microservices within the Roblox ecosystem.
- Collaborate with product managers and other engineers to gather requirements and translate them into technical specifications for service mesh features.
- Develop and maintain high-quality code, ensuring adherence to best practices in software development, including code reviews and testing.
- Optimize service-to-service communication, focusing on latency reduction and throughput enhancement to support a growing user base.
- Monitor and troubleshoot service mesh performance issues, implementing solutions to enhance system resilience and stability.
- Work with DevOps teams to integrate service mesh solutions into CI/CD pipelines, ensuring smooth deployment processes.
- Contribute to the documentation of service mesh architecture and operational procedures to facilitate knowledge sharing across the engineering team.
- Stay updated on industry trends and emerging technologies related to service mesh and distributed systems, applying this knowledge to improve our infrastructure.
- Mentor junior engineers, providing guidance on best practices in software engineering and service mesh technologies.
- Participate in on-call rotations to support production systems, ensuring high availability and quick resolution of incidents.
- Collaborate with security teams to implement best practices in securing service communications and managing access controls.
- Engage in regular team meetings to discuss project updates, challenges, and opportunities for improvement in service mesh implementation.
Requirements
- Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
- A minimum of 5 years of experience in software engineering, with a focus on distributed systems and microservices architecture.
- Proficiency in programming languages such as Go, Java, or Python, with a strong understanding of their ecosystems.
- Extensive experience with service mesh technologies, such as Istio, Linkerd, or Consul, and a solid understanding of their operational principles.
- Familiarity with cloud platforms like AWS, Azure, or Google Cloud, and experience deploying applications in cloud environments.
- Strong understanding of networking concepts, including HTTP, TCP/IP, and service discovery mechanisms.
- Experience with container orchestration tools like Kubernetes and Docker, and knowledge of their integration with service mesh solutions.
- Excellent problem-solving skills, with a proactive approach to identifying and addressing technical challenges.
- Strong communication skills, with the ability to articulate complex technical concepts to both technical and non-technical stakeholders.
- A collaborative mindset, with a passion for working in a team-oriented environment and contributing to collective success.
Nice to have
- Experience with observability tools such as Prometheus, Grafana, or Jaeger for monitoring service mesh performance.
- Familiarity with API management solutions and their integration with service mesh architectures.
- Knowledge of security best practices in microservices communication, including mutual TLS and OAuth.
- Contributions to open-source projects related to service mesh or distributed systems.
- Previous experience in gaming or entertainment technology sectors, understanding the unique challenges of high-traffic environments.
Skills & tools
- Programming Languages: Go, Java, Python
- Service Mesh Technologies: Istio, Linkerd, Consul
- Cloud Platforms: AWS, Azure, Google Cloud
- Containerization: Docker, Kubernetes
- Monitoring Tools: Prometheus, Grafana, Jaeger
- Version Control: Git
Practical notes
- The position is based in San Mateo, CA, and may require occasional on-site presence.
- Candidates should be prepared for a comprehensive interview process that assesses both technical and soft skills.
- This role may involve participation in after-hours support for production systems as part of an on-call rotation.
- Roblox is committed to diversity and inclusion, and we encourage applications from candidates of all backgrounds.
Join us at Roblox and be a part of a team that is shaping the future of online gaming and social interaction. Your contributions will help us create a platform that empowers millions of users to connect, create, and play.