As the world’s leading provider of cloud-based software and technology solutions delivered by managed service providers (MSPs), Datto believes there is no limit to what small and medium businesses can achieve with the right technology. Datto offers Unified Continuity, Networking, and Business Management solutions and has created a one-of-a-kind ecosystem of MSP partners. These partners provide Datto solutions to over one million businesses across the globe. Since its founding in 2007, Datto continues to win awards each year for its rapid growth, product excellence, superior technical support, and for fostering an outstanding workplace. With headquarters in Norwalk, Connecticut, Datto has global offices in the United Kingdom, Netherlands, Denmark, Germany, Canada, Australia, China, and Singapore. Learn more at datto.com.
You will report to the Manager of Software Engineering.
A Look Inside the Job:
The BCDR Cloud Team enhances and maintains the software powering offsite data storage, disaster recovery and business continuity operations that is distributed across more than 3500 storage and compute servers protecting over 500 PB of data around the world -- we refer to it as the Datto Cloud. The Datto Cloud is responsible for hosting backup data replicated from over 80,000 backup appliances that are deployed across all 7 continents. In addition to hosting this replicated data, the cloud provides business continuity and disaster recovery services such as: VM image exports, file exports, virtualization, ransomware protection, and full business continuity via virtual networks, virtual machines and secure VPN connectivity.
Our technology stack includes modern Symfony-based PHP, Python, GoLang, MySQL, NGINX, Ubuntu, and BASH. On top of that, we work with lots of low-level technologies, such as the zfs file system, multiple hypervisors, and container orchestrators such as Kubernetes. As you may have noticed, this is not your average PHP webdev gig! You’ll be working on one of several product scrum teams with each consisting of approximately five software engineers, two quality engineers, a scrum master, and a product owner.
More than someone who checks every box, we’re looking for people who are excited to work and grow at Datto. If that's you we hope you apply for the role!
You enjoy teamwork
You come with new ideas and a unique point of view. You look forward to collaborating with a diverse team and thrive in a fast paced, agile environment. You eagerly seek and give help. Transparency tops your list of values, and you contribute to a culture of respect and inclusion.
Inquisitive and focused, you see every challenge as an opportunity. You would rather create the future than wait for it. You are a passionate technologist looking to teach and learn from the best in software development.
You’re customer focused and take pride in your work
You put extra attention into details with all you do. You care about the work you provide to customers and how it reflects on yourself and Datto. When you find or see something wrong, you attempt to resolve it. You look for opportunities to not only better yourself, but others around you. You aim to be the best that you can be and always do the right thing.
What You’ll Do
- Design, test and build applications and services that will allow MSPs to easily recover from disasters.
- Build new tools to automate the creation and management of a disaster recovery.
- Work with product management to develop new features that improve the MSP experience and ensure reliable and secure data backup and recovery for our customers.
- Improve the performance and reliability of our software.
- Identify gaps in processes and tasks. Be an advocate of continuous improvement.
- Enhance troubleshooting techniques and utilities to ensure quick resolution to service impacting issues.
- Passionately promote Datto’s core values. Promote collaboration and team growth.
- Be a positive role model that others want to follow and be inspired by.
Skills You’ll Need
- Strong developer with object-oriented design and problem-solving skills
- 5+ years of experience delivering reliable and maintainable software
- 2+ years experience with relational database systems
- Strong fundamentals in data structures, design patterns, and algorithms
- Proficient with developing RESTful API services
- Proficient with developing highly available and fault tolerant distributed services
- Exposure to debugging low-level Linux issues
- Proficient with Linux and shell scripting
- Knowledge of networking concepts (VLAN, TCP/IP, Multicast, Unicast, OSI)
- Understanding of infrastructure (firewalls, iptables, ipsec, hypervisor, storage, monitoring, security, etc.)
- Experience with Developing solutions with Golang
- Strong written and verbal communication skills
- B.S. or M.S. in Software Engineering, Computer Science, or a related field (or equivalent experience)
- Experience developing automation of VM environments
- Knowledge with open source projects such as libvirt and QEMU
- Knowledge of file systems - specifically ZFS
- Knowledge of overlay networks/SDN with VMs (e.g., OpenFlow, Open V-Switch)