Software Engineer Intern (Backend) - Cloud Infrastructure
USA, Canada, Remote /
At Yugabyte, we are on a mission to build an open source, high-performance, distributed SQL database for powering global, internet-scale applications.
As a software engineering intern in the Platform & Cloud team, you will be designing and implementing a distributed control plane to manage the life cycle of YugabyteDB. The control plane is responsible for unified multiverse management of YugabyteDB across public cloud providers (AWS, Google Cloud, Azure), Kubernetes environments (open-source, GKE, EKS, PKS, AKS), and on-prem data centers including fault-domain aware provisioning, rolling upgrades, security, monitoring, and day-2 operations (backups, scaling etc). We are looking for passionate students who exemplify collaboration, who are driven and thrive in a fast-paced startup environment, and who have a strong desire to learn how to build an internet-scale, extensible control plane with strong emphasis on simplicity and user experience.
You’ll work alongside the best and the brightest engineering talent in the industry. As a core participant of your team, you’ll design your changes, estimate engineering efforts, implement and test your changes, push to releases, and triage production issues.
- Work under the direction of senior developers on a project that you will get to present to other interns and rest of the engineering team
- Work with your team members on timely and relevant projects that may be included in a future software release
- Create back end services using Java, SQL, REST, Ansible, Kubernetes, Docker, and Python
- Contribute to our suite of automated tests and testing infrastructure
- Enrolled and working towards obtaining a BS or MS in Computer Science or related field
- Strong understanding of CS fundamentals and how to apply them to code
- Understanding of algorithms and data structures and how to efficiently implement them into a solution
- Ability to produce clear, efficient and concise code
- Working knowledge of Java and Python
- Familiarity with containers and cluster managers like Kubernetes
- Ability to quickly learn new technologies
- Course work in distributed systems and databases
- Academic or professional/internship experience working in a professional coding setting is a plus