James Winfield.

Why Engineers Should Be Able To Work From Home

Cover Image for Why Engineers Should Be Able To Work From Home
jameswritescode
jameswritescode
Posted underUncategorized

Yeah, we had an edict.

Back to the office.

I’m not sure where these come from – my suspicion is that government is behind these edicts, as all large companies seem to have enacted such policies despite evidence that working from home for engineers (and similar roles) is more productive, leads to happier and more committed employees, and should therefore lead to better outcomes for the employer.

My return to one day a week in the office hasn’t actually been that bad. Sure, I loathe spending 2.5 hours commuting – it is such a waste of time and energy. I get notably less done, the office is noisy – sometimes too hot, sometimes too cold, often too bright, always with really slow wi-fi. I don’t have a £600 Herman Miller chair which is perfect for my back to sit on.

But…I have enjoyed meeting my colleagues in person once more, I have enjoyed going out for lunches with them, it has been nice to have in-person meetings. And my employer has actually done more than I expected to remediate the issues reported and listen to us. Had I written this immediately after the edict, then I doubt I would have had anything positive to say. I would very much still prefer to be 100% remote – had it been 3 days then I would have ignored it and suffered the consequences – as much as I care about my job and my employer, there are other roles out there.

Give Me Reasons!


Anyway. Enough about me and possibly too much about my employer. These are the reasons why software engineers should be allowed…heck…encouraged to work from home (where personal circumstances permit).

Deep Thinking


I’m pretty sure when that I moaned on Facebook about the edict, some of my friends who cannot work from home probably rolled their eyes at my perceived entitlement.

Yet my motivation for working from home is being the best employee possible, which means writing excellent code, thorough reviews of other’s code with the end goal of delivering world-class software.

I’ve done other roles before becoming an engineer, and they were very much task-based. One task takes one minute, 5 minutes, 10 perhaps – but if you were interrupted by colleagues, noise, the weather, the need to moan about the temperature in the office, a daydream about a beach – it was no problem. Just get back on with the task, then do the next task, etc.

Engineering is different. I need deep thinking. I need to have as much of the system in my head as possible, so that I can write performant code which isn’t duplicating code elsewhere (often in codebases with 100,000’s of lines of code, if not millions), isn’t going to cause side-effects – and sometimes to be able to refactor whole codebases at once.

I tend to take 10-20 minutes to get into my flow, depending on the complexity of what I’m building – and there is a wind-down process too. Sometimes winding down is just as difficult…one can be really in the flow yet have a meeting in 1 minute’s time…stopping oneself, knowing that you’ll have to mentally re-engage and go through a flow to get back to where you were, is frustrating.

It’s understandable that offices should be noisy and disruptive, as people are collaborating with each other…but this does not work with deep thinking. Even seeing people walk past can be distracting.

Learning & Development


I don’t know if all software engineers do this – but if they don’t, then they will fall behind.

Engineering is such a fast-paced industry and career, that you have to spend time outside work upskilling, contributing to open source, running your own side-projects, reading about new technologies, trying new technologies – it is absolutely never-ending. Stressfully so, in fact.

When do I do this? Weekends, sometimes – but mostly before work. During the timeslot that pre-pandemic I was stood up on a rammed and delayed tube train, cursing my commute, desperate for a sausage sandwich and a Red Bull, and totally not in the frame of mind to productively write clean code.

Since 2020, most mornings before work, I’m either reading something about new CSS properties, what the new NextJS release is, what new array methods are coming to JavaScript, how other people review code, etc etc. If I had to travel to the office 3+ days a week, this simply wouldn’t happen.

Why am I a senior engineer, and I think a fairly decent one after just 7 years of being an engineer without a computer science degree? I think…I know this outside of work upskilling has a lot to do with it. And very much my employer benefits from this.

Neurodiversity


This doesn’t apply to me, but I’ve never been in a space where I’ve known so many people with neurodiversity around me – engineering is the kind of role that can attract such people just because of the heads-down nature of the role. I think I’m right in saying that people with neurodiversity are often more attracted and more suited to engineering roles – it’s a skillset that works.

But neurodiversity isn’t necessarily something, from my limited understanding, that is so comfortable with the hectic office environment, with commuting, with naturally disruptive work spaces.

Inclusivity


Engineering has an issue with attracting women to the discipline. I’m not telling you anything new there.

A remote-working policy (or at least remote-first) offers more opportunities for women, particularly with children or planning to have children, to be able to be engineers. This should very much be encouraged.

Websites that have been partly built, designed, written by women will naturally have more understanding of their customers – as likely circa 50% of their customers will be women.

Inclusivity…Again


One of the benefits of a remote-working policy is that you can have people from all over the country…or world, working on your product.

If you have a UK-wide website, why would you just want people from London working on it? Why would you not also want input from people in Newcastle, Glasgow, Stoke, Pontypool, Plymouth, Belfast – etc, etc. Likewise if your website is global, then surely you’d want input from around the world, into your product?

Only a remote-working policy allows this.

Personal Reasons


Hopefully the previous reasons apply more widely, but I also want to touch on more personal reasons.

As I’ve already mentioned, I’ve become a much more developed engineer since the pandemic. As an eye-rollingly vague and unproveable estimate, I reckon I’m 10x the engineer that I was in early 2020 when I was working in the office 3-4 days a week and suffering the painful commutes. Of course, this is arbitrary and I cannot disprove the counter-factual – maybe I would still have developed as much having been in the office. I wouldn’t, I know that, but it is impossible to prove for sure.

One thing I do know is that I have lost nearly 20kg of weight. I was pretty unhealthy before covid happened – this has now reversed. Working from home means I have far less temptations – my fridge doesn’t have Gregg’s bacon rolls in it, or a wide range of chocolate/cake…or any chocolate/cake. I can fully control my habits and desires.

Commuting also costs money – £30 a day, which works out to £135 a month. £1,620 a year. Let’s assume that I work for another 25 years – that’s £40,500 on commuting and overpriced lunches:

£13.50 that was, in a local caff. I could have made it at home for £3.50.

Hopefully this piece shows that I’ve made my peace with the policy – I disagree with it, but also it is nice to meet colleagues in person occasionally. Were I designing my perfect role, then I’d probably look for something with monthly or fortnightly meet-ups with colleagues anyway.

I do strongly believe that engineers should not only be able to work from home, but be encouraged to, assuming they have the right set-up…long may remote working, or at least remote-first working, continue.

Comments

Add a Comment


More Stories

Cover Image for Checking Accessibility On Your CI Pipeline With @axe-core/cli

Checking Accessibility On Your CI Pipeline With @axe-core/cli

I said I would write more technical output on my blog, as well as just about my journey, though I feel this post can combine …

jameswritescode
jameswritescode
Cover Image for Where Am I As A Software Engineer in 2024?

Where Am I As A Software Engineer in 2024?

I kind of feel like I should have a look back at the end of every year and assess where I am in my beloved …

jameswritescode
jameswritescode