At Qumulo, I like to say I’m my own boss. Technically, along with every other engineer at Qumulo, I report to our VP of Engineering, Karim Fanous. But Karim doesn’t assign me work, check in on my progress daily, or really “manage” me in any way. It is my responsibility, along with my team, to decide what to work on. Our product management team comes up with a list of projects that are most compelling to customers. The engineering teams can then choose to work on a project from that list or advocate for one that is compelling to them. If two teams want to work on the same project, they work it out between themselves — no management needed.
Lucky for us, building a scale-out filesystem means solving a lot of hard technology problems, so we always have enough exciting projects to go around. Every engineer at Qumulo is building a new distributed algorithm, optimizing our code for high-performance data transfer speeds, or finding ways to make never-before-seen classes of filesystem analytics visible. If you want to work on something another team is building, you can simply join that team.
We design features as a team: we gather as many ideas as possible, nominate the best ones, discuss their benefits, and, pretty quickly, the team members converge on an approach. When we start coding, anyone can pick up any task, but we often have two developers take a task and pair program. Every few sprints, my team has peer-to-peer feedback sessions to ensure we’re all growing our abilities as engineers. We even team-source traditionally manager-owned tasks: every member of the team has a peer advisor they choose to meet every couple weeks to discuss their current project, what they’d like to work on, and how to build their career.
For the past year my team has chosen to work on performance, which means making filesystem operations, like creating and reading files, go faster. When we took on performance, our charter was “make our clusters go faster”. That’s it. Beyond that vague direction it’s up to our team of four engineers and a product owner to figure out how to make it happen. Never having worked on performance before, I was thrilled that we could choose to take on a new challenge, and I’ve become one of Qumulo’s performance experts over the last year.
Where traditional teams rely on top-down direction from a manager, we get ours first-hand. We interview our customers, we get insights from Qumulo’s Customer Success team, and we analyze fleet-wide performance data collected through our online monitoring service, MissionQ. I was recently able to visit a few of our customers in Los Angeles who make movies to talk about their performance needs which is a level of direct interaction I’ve never had at a previous job. After gathering all the data, we decide as a team which performance features to build and we set the schedule for their release. And then we get to work.