The pandemic showed that software engineers can work productively from home. But most of us have also realised that working remotely all the time is hard to sustain as a healthy business operating model.
- How do you onboard new employees?
- How do you catch early when someone needs help?
- How do you build trust, ensure alignment and inspire motivation?
Trust is fundamental for your employer-employee relation in something as complex as software development. Alignment and motivation are crucial for developer performance. How do you nurture these as a manager in a remote environment?
Back to the office
The obvious response is to call everyone back in the office. Work nine to five in a big room office. Surely synergy is bound to happen and you can see when your employees are slacking off, right? Throw in a pizza night now and then and show off your ping pong table and your popcorn machine. Problem solved.
Good luck with that, I will pass on an invitation to join your team.
Being in the same physical space as your coworkers can produce lots of chance opportunities to learn and teach, to socialise, and to build trust.
But don’t be surprised if the magic doesn’t happen. There is more to it than that.
Why the old ways won’t work
Here is what your software engineer see:
Commuting one plus hour to sit in an open office space with noisy coworkers, most of whom you have no working relationship with. The two or three people you need to align with closely are in an offshore location, or best case in the other end of the building. You reach out to them easily on chat. However, when you are in the office, you cannot take a quick call from your desk without disturbing those around you. So you go hunting for a meeting room. Which means unplugging your laptop and getting your screen real estate reduced to a lousy 17”. At home you can jump in the call immediately.
Lunch time you go buy your lunch out at the same three nearest sandwich stops because you couldn’t be bothered bringing lunch from home when you got up way too early to rush through the morning traffic. While when working from home, you go to your kitchen and open your fridge (which you ideally remembered to fill in the weekend).
At the end of the day you see the daylight fading as you hurry into the evening rush hour. Only to get home too late to cook a healthy meal for your family so you got stuck with the same old take away or — god forbid — the 12 minute frozen pizza.
So you feel less productive when working in the office. This is when trust, alignment, and motivation are established. No surprise that smart employees will look for better options. But what are these?
Back to the future
Most of the job postings advertise a hybrid working environment. Three days in the office, two days working from home. Is it the best of both worlds — or the worst of both worlds?
Here is the thing: It all comes down to purpose. When you hire me to deliver a specialised technical solution to a complex business problem for a non trivial salary, I am motivated to deliver a great solution with minimal waste. You don’t pay me to sit at a desk and look busy 8 hours per day. You don’t pay me to sit in a traffic jam somewhere. You pay me to get the job done.
For me the essential question to ask is — what is the purpose of me going to the office today?
When to go to the office
When I am onboarding on a new team or when I onboard a new employee, it makes sense to sit physically close to the person you train or learn from. For the first weeks or months, working in the office is an obvious way to achieve this. Go out for lunch together. Get introduced to coworkers from other teams and other business units. First week on a new team you need help with all sorts of practical issues. How to get help from IT. How to do time reporting. Where to find the best coffee. Make sure there is someone nearby who is ready to help.
When I work on a complex task, study legacy code, refactor for testability, write documentation, I much prefer to work from home. There is no distracting office chatter. I can find the information I need online. I can ping a question or two for a coworker to answer when they have a break between tasks.
Every visit to the office should be a chance to play, interact, and have fun with coworkers to build trust, motivation, and alignment.
However, I can also get stuck in a task, set off in a wrong direction, or completely misunderstand the situation. So a daily check in with my team and a weekly or bi-weekly alignment meeting with my manager are essential to keep me happy and productive. To catch early when things are about to go off track.
Every visit to the office should be a chance to play, interact, and have fun with coworkers to build trust, motivation, and alignment. An on-site visit to a customer. An inspiring workshop with coworkers. Or a social event in the office.
The recipe for success
So before you call back your employees to the office, before you give notice on your co-working space and set up endless video calls with all your remote employees, let me share my personal insight: It’s not about whether you work from home or from the office. It is about how to make the most of it when you are in the office.
Hire smart people you trust. Hand them inspiring problems to solve. Genuinely care for them and show that you do. They will reward you with great software.
When you ask your software engineers to come to the office:
- Provide a quiet work environment with good facilities.
- Eat lunch together.
- Socialise and have fun together to build trust and alignment.
My recipe for running a successful team of software engineers:
Hire smart people you trust. Hand them inspiring problems to solve. Genuinely care for them and show that you do. They will reward you with great software. And they will love working for you.
Now available
I'm open for new assignments within software development in the Stockholm region. I've worked as a software engineer, software architect, software project manager, product owner, and tech lead. I've returned to hands on coding (C#/.NET Core/Kubernetes) in 2021 and enjoy bridging between technology and business. I'm looking for a role as Tech Lead, Team Lead or Software Architect. Get in touch.
