What are the responsibilities and job description for the Principal Software Engineer - Agents (BCDR) position at Datto Inc.?
Principal Software Engineer - Agents (Business Continuity & Disaster Recovery)
Datto, the world’s leading provider of IT solutions delivered through managed service providers, is looking for a Principal Software Engineer to own the architectural direction and lead the technical implementation of our BCDR agent software.
Datto’s Business Continuity and Disaster Recovery (BCDR) products provide block-level backup solutions for physical, virtual, and public cloud based systems.
In the event of data loss, customers can recover data in a variety of ways including; restoring files or directories, mounting volumes as iSCSI targets or Samba shares, launching a backup as a local or remotely hosted virtual machine, or by redeploying a backup to a production environment.
Datto’s BCDR solution architecture includes agent application and kernel driver software for Windows and Linux, Linux powered backup appliances running on physical hardware and virtualized in public/private clouds, and multiple backend services/APIs powering Datto’s private cloud.
A Look Inside the Job
As the Principal Software Engineer for Agents you will lead strategic engineering and architectural projects and initiatives for the BCDR agent software. You’ll partner with the agent engineering teams, your peer technical leaders, and others within the engineering organization regarding architecture, design, and other processes and standards (e.g. code style, design principles and best practices, etc.) to ensure consistency and scalability of the product and organization.
At Datto, a Principal Engineer has no direct reports, however you’re a critical leader in the engineering organization taking responsibility for the short and long-term success of the products and the business overall. This position requires strong communication and leadership skills to influence peer groups and others cross functionally. While this is a technical leadership role, it will require significant direct contribution to the code base for the projects you’re involved with.
About You
- You have a passion for software engineering, and continuous learning
- You have excellent communication skills
- You are a self-starter and thrive in a fast paced environment
- You offer new ideas and a unique point of view
- You look forward to collaborating with diverse teams and enjoy mentoring
- You are inquisitive and focused, and see every challenge as an opportunity
- You would rather create the future than wait for it
- Transparency tops your list of values, and you contribute to a culture of respect and inclusion
In this job you will:
- Own the agents architecture and technical roadmaps balancing innovation with practicality to drive long-term results
- Lead by example as a hands on contributor
- Serve as the BCDR agent software subject matter expert (SME)
- Drive results through leadership, collaboration, and influence
- Champion best practices, high quality code, and proper test strategy.
- Be a positive role model that others want to follow and be inspired by
- Champion, drive, and maintain secure coding best practices and life cycle
- Deeply understand production environments adjusting architecture and designs as the install base scales
- Ensure observability, metrics, and analytics are part of the overall strategy
- Define how the product is going to be supported in production including logging, troubleshooting, and monitoring
- Assess the risk of any software release and protect the technical integrity of the product
- Organize and facilitate company wide software engineering initiatives to improve organizational competency and/or processes
- Advocate for technical quality and stability in balance with delivering product features
- Act as the "glue" for the Engineering organization and understands the roles and responsibilities of the different functions of the Engineering teams to provide guidance and stabilization
Required Experience:
- Masters Degree in Computer Science, Software Engineering or closely related engineering field and/or equivalent work experience
- 8 years of software engineering experience developing in C / C
- 3 years of experience leading technical teams / large scale projects
- Deep understanding of WIndows OS application development, APIs, and internals (processes, threads, handles, synchronization, VSS, drivers, virtual memory, kernel objects, performance counters, performance analysis, networking)
- Strong understanding of low-level programming in Windows or Linux, kernel debugging, and crash dump analysis
- Excellent root cause analysis and troubleshooting competency
- Experience designing and developing software applications using Clang, Visual Studio, and Git
Beneficial Experience:
- Experience developing file system drivers for NTFS, ReFS, EXT, XFS
- Experience developing solutions in Microsoft Azure or other public clouds
- Familiar with Secure Coding Practices and the OWASP Top 10
- Familiar with zfs or similar COW filesystems
Note: We are looking for candidates willing to join us directly as W2 employees (No 3rd party candidates)