DigitalOcean’s software engineers develop next generation cloud infrastructure technology that will change how millions of developers build, deploy, and scale web applications. Our mission is to simplify cloud infrastructure; this requires knowledge in many different fields including distributed systems, virtualization, software defined networking, scale out storage, real-time data processing, and user interface design. You will work on a small project team and own product delivery from concept to production. We do not limit engineers to a specific product domain, which allows you to switch teams or projects on an ongoing basis, growing your skills and knowledge base.
As a back-end software engineer, the software you write will run on tens of thousands of hypervisors across our global infrastructure network. You will define the next generation of cloud services,making developers lives easier by architecting new services to power the hypervisor, scheduler, storage, database and event driven systems. This is a unique opportunity to deliver the best user-experience in the industry to the millions of developers around the world.
Teams include Metrics, Librarian, Compute, Image Management.
What You'll Be Doing:
Build out a service oriented architecture to promote beneficial abstractions
Review and iterate architecture to ensure scale along with our incredible growth
Design, build, and deploy new features for our next generation cloud platform
Give back to the community by contributing to open source projects we use
Work closely with product, front end developers, site reliability engineers and designers
Manage your own time and focusing on the continuous delivery of projects
What We'll Expect From You:
Expertise with at least one of the following languages: Go, Ruby, Python, C/C++, Java
Networking knowledge of the IP stack, bonus for IPv6 and SDN
Understanding of UNIX storage subsystems
Familiarity with Distributed Systems programming
Deep understanding and knowledge of virtualization (libvirt, KVM)
Deep understanding of Linux (kernel, processes, tracing, monitoring)