Why We Don’t Have DevOps Team at HappyFresh

Yudi Rahono
HappyTech
Published in
3 min readDec 17, 2018

--

DevOps Engineers are such in demand today, for at least two reasons. First, from the demand side, the wide implementation of agile methodologies has encouraged more collaboration between development and operations. Second, from the supply side, it is not easy to find developers who have a good understanding towards system operations, server management, scalability, and other kinds of infrastructure technology.

At HappyFresh, we believe DevOps is a culture, not a team or an individual role.

We realise that not many developers fully understand how and when users use the features they’ve created or the codes they’ve written. We have our own reasons to make DevOps a culture instead of a team or a position.

Brief Overview: DevOps for Dummies

How do we explain DevOps to a non-technical person? I would usually start by explaining about the release cycle in software development.

Image source: datacenterjournal.com

In companies that have DevOps team, developers usually work until the “Test” step or at least until the “Release” step. Then, the DevOps team or DevOps Engineers will be the one responsible to deploy the feature. They need to think about and prepare the infrastructure that enables the operations of the feature, including the server scalability.

To write a piece of code is one thing, but to understand how to make a line of code become usable is another thing. This is what’s required from the DevOps team.

How We Make DevOps a Culture

Our decision to not have a DevOps team goes back to one reason: we want all developers to have a greater sense of ownership over the codes they write. We want all our developers know in what circumstances their codes are used. This is challenging, but so far we’ve done these 3 things to make DevOps a culture at HappyFresh.

1. Our teams take turn in release/deployment

Every 2 weeks, we assign a different team to handle release/deployment. For every sprint, one development team will be responsible for deploying application to production, making sure the server is ready, and doing any other DevOps tasks.

2. We highlight our DevOps culture in HappyFresh engineering interviews

When interviewing candidates for software engineering roles, our hiring managers always ask classical questions: “Think about a feature you recently created or codes you recently wrote in your previous job/project. What kind of process happened since the first time users type your website address until they hit your code?

We don’t straightly reject candidates who can’t answer the question, but at least by asking that, it will communicate our expectation towards the engineers in HappyFresh.

3. We train HappyFresh engineers to understand infrastructure

After our engineers pass their 3-month probation period, we then give them trainings about DevOps. We show them what they should do when it’s their turn for release/deployment responsibility. We teach them about the servers and automation tools we use. That way, younger, more junior engineers who might not have previous experience in infrastructure could catch up with how we run things related to DevOps.

However, DevOps culture might not be for every company.

There are always pros and cons in everything. Our approach to make DevOps a culture benefits us in terms of sense of ownership. We pride ourselves for having engineers who understand the big picture of how, where, and when a piece of code they write lives. However, we also realise that not having a DevOps team requires a greater time investment, since we need to train all HappyFresh engineers to understand DevOps.

It’s not for everyone, but if you dare trying to be more collaborative in your DevOps practice, it’s worth a try.

-

HappyFresh Engineering team is always hiring top talents with the right mindset, check out HappyFresh career opportunities here: http://hppy.fr/techrecruitment

--

--