DevOps in the enterprise: how to succeed as a freelancer

DevOps in the enterprise

[Engels] How to move the needle and succeed as a freelancer

5 februari 2020

After some years of working in a boutique consultancy, I decided to switch to freelancing (uurtje-factuurtje as they call it in Dutch). Looking around for projects, I’ve chosen the most counter-intuitive option: a (financial) enterprise. In this blog post, I share my insights on what it means to join an enterprise as an external, how to avoid corporate politics and most importantly how to make an impact and actually deliver.

When I see a greenfield project, in my mind conjures up the idea of decorating a new house, in a new neighborhood. Everything is possible in regards to furniture, there is “no legacy”. You can paint the walls in whatever colour you want and the neighbors are nice; they’re going through the same process as you. That is completely different from an enterprise project, which can look like trying to renovate parents’ old house. You might paint their bedroom in a new color and even install some smart lights. You will also have to stay with them during the renovation (and you should like it). The neighbours are not so happy with the noise you make during redecoration. With all that considered, you would be crazy not to go for a “new house” project, right?

The reality is that after you renovate a few new houses, and you are somehow good at it, you may want to help other people renovate their older houses. Can you actually do that? That’s the main challenge with enterprise projects, and if you consider yourself a senior engineer, you should challenge yourself to try it. If you don’t already know by now, this entire process is more about changing the people, it’s not really about the colour of the paint or the furniture.

Based on my experience, here are some thoughts and ideas that helped me make this journey beneficial for both parties.

DevOps-Enterprise-Freelancer-Suceed

People first

For me, every project starts and ends with the people involved in it. If it’s not a remote gig, you will spend more time interacting with the people involved in your project/department/squad (or whatever name your team has) than with your family. If you don’t like them, your project has all the chances to be miserable. Choose wisely and ask yourself if you can see yourself working with those people 8 hours/day before you commit.

Watch your time

Enterprises are into agile and DevOps – very broadly used and abused terms nowadays. This means a lot of projects are in progress simultaneously and people are usually very busy participating in meetings, firefighting or sprint ceremonies. You need to reserve time to actually work on the implementation of what you came to do assuming you have a clear project to work on.

Follow the 80/20 Rule (the Pareto principle)

It is important to understand where you can make an impact and focus on that. The expectations are high if somebody external is brought in. At the same time, you need to keep in mind that you are only 1 person, you need to manage the stakeholders’ expectations. Focus on the parts that will bring immediate value and externalize the rest.

Focus on the small wins

Always go for the small wins and incremental delivery. The bigger the change, the harder it is to “sell it”, especially with new technologies or tools. Incremental deliveries will de-risk the project and will make the changes more digestible. Split the project into chunks that can translate into measurable outputs for the team, business or customers.

Early adopters are your friend

Look for early adopters. Choosing properly who will be the first consumers will help you to keep the ball rolling and will create momentum. This will also validate your approach and will create some visibility for the new project. This can escalate quickly and eventually can have a big impact on the enterprise.

Knowledge transfer

As an external, always try to automate yourself out of the process. Once something is implemented, you should try to move out and support the (preferably) internal people who will maintain and enhance the system after you’re out of the project.

Continuous development

Learn new stuff as you go further. In every project, there are opportunities to get better at something. Even if you’re implementing the same solution you did for a previous project, there is always room to improve and to go the extra mile.

I’ve noticed the same patterns for most of the projects I’ve been consulting in the past. There are constraints in implementing a project in enterprises, but that shouldn’t make the journey painful. You need to know how to approach it and where to put your focus. Despite the challenges, working with enterprises comes with major rewards.