Human Who Codes Newsletter - Return-to-Office


Thoughts on Return-to-Office

If you’ve been following tech news in the past month, you’ve likely heard about Amazon’s strict return-to-office policy, which will require employees into the office five days per week beginning in January 2025. The climate for tech workers has changed dramatically over the past three years, and Amazon, along with other companies, now shows no fear of losing employees with strict return-to-office mandates. For the first time in a long time, tech companies aren’t on a hiring spree. In fact, investors are rewarding them with each successive round of layoffs. But let’s delve deeper into why return-to-office policies are more prevalent, and why some companies are taking a hard-line approach.

Layoffs in disguise. The tech industry has faced a wave of layoffs over the past couple of years. For the first time in over 20 years, investors are prioritizing tech company profits, and many companies scrambled to make their bottom line look better. Headcount is always a significant portion of expenses, so layoffs make financial sense. However, after a few rounds of layoffs, the appearance of a company in turmoil becomes less attractive to customers, investors, and employees. As a result, companies look for ways to “encourage” employees to quit.

While states and countries often have rules around layoffs, including minimum notice timelines and severance packages, none of that applies to employees who quit. Creating an environment where some employees quit allows a company to quietly and inexpensively trim their headcount. Strict return-to-office policies are, in fact, layoffs in disguise.

Hallway conversations. While tech workers are quick to point out the many benefits of working from home, they often overlook the many benefits of working in an office. One of those is the elusive hallway conversation that is impossible to replicate remotely. Steve Jobs made these unexpected meetings central to the design of the Pixar headquarters, placing the bathrooms and cafe in a central atrium. This required all employees from all departments to trek to the same location multiple times a day, increasing the probability of chance encounters. He then implemented the same design concept with Apple headquarters.

Accidentally bumping into people can spur all kinds of interesting conversations and opportunities. One time at a conference, I was waiting in line for food and started talking to the person behind me. We discussed our mutual love of high-quality programming books, and it turned out he was a book publisher. I mentioned that I had just self-published my first e-book, and he expressed interest in seeing it. After the conference, I emailed him a copy, and he offered to create a print version. The print edition of the Principles of Object-Oriented JavaScript was published in 2014. I doubt this would have happened at a virtual conference.

Mentoring, learning, and leadership. Remote work can be particularly challenging for early-career workers. In the past, younger workers benefited from in-office work, where they could observe their more experienced colleagues and receive direct, just-in-time mentoring. I remember early in my career being pulled into my manager’s office after a meeting. He told me that my behavior wasn’t professional, reminding me that I was no longer in school and needed to be more mindful of what I said in front of others. From that point on, I paid more attention to “reading the room” and understanding the social dynamics at work.

This is especially important for those looking to develop leadership skills. Leaders are forged in face-to-face situations, dealing with difficult conversations and colleagues, and gauging a team’s willingness to accept change. As an introvert, I don’t think I would have developed my leadership skills if I had been working from home during those formative years. Being in the midst of situations, needing to walk by the same people every day, is truly how these skills develop.

While companies may be trying to quietly lay off employees, we shouldn’t overlook the potential opportunities that a return-to-office policy can bring. Humans are, first and foremost, social creatures. We evolved in groups and thrive on regular social interactions. You never know when a moment of serendipity might lead to an opportunity, a promotion, a friendship, or even a romance. Life is richer when we interact with a variety of people, and for most of human history, the workplace has been a central hub for these interactions. Perhaps we don’t need to entirely discard this experience.

Key Takeaways

  • Companies may use strict return-to-office policies to reduce headcount without formal layoffs, creating an environment that encourages employees to quit voluntarily.
  • In-office work fosters spontaneous and valuable interactions, which can lead to professional opportunities and deeper collaboration that remote work often misses.
  • Early-career employees and aspiring leaders benefit significantly from face-to-face mentoring and real-time feedback, which are harder to achieve remotely.

Understanding JavaScript Promises

I just updated my e-book, Understanding JavaScript Promises, for 2024! It now includes information about Promise.withResolvers() and a whole new chapter on using and creating abortable functions.


Stuff I've Enjoyed this Month

🎬 The problem with frameworks by Dev Tools Made Simple
In this short video, Uncle Bob breaks down how all frameworks trap consumers and why this isn't likely to change anytime soon.

🎬 The Wordpress drama keeps getting worse by Theo - t3.gg
If you've been following tech news in the last month, you might have heard a lot about Wordpress. This video breaks down the most important events in the back-and-forth war between Wordpress and WP Engine.

🎬 Why can't I vote online? by Cleo Abram
Because you're a technologist, you probably already think that voting online is a bad idea. But is there a way to make it work and be secure? This video lays out the actual problems and potential solutions that could make voting online possible in the future.

📝Principal Engineering Community Tenets by Amazon
The Amazon team has put together the core tenets that they believe make great principal engineers. This is worth bookmarking to come back to periodically.

📝Why I'm skeptical of rewriting JavaScript tools in faster languages by Nolan Lawson
It seems like every day there's a new JavaScript tool being rewritten in Rust, Zig, or Go for performance reasons. But is this the world we want? Nolan digs into the details of whether JavaScript is actually slow and whether or not we want to delegate our tools to a small group of people who know other languages.

📝Liskov's Gun: The parallel evolution of React and Web Components by Baldur Bjarnason
There's been a big debate over whether or not web components should be used as the foundation for UI frameworks like React. This very long post outlines the history of web components and React, how they relate, how they don't, and what it all means.


What I'm Working On

🏠 Real Estate: Thankfully, my rental properties have all been stable this month. Personally, I reconfigured the cabinets above my kitchen sink. They were inexplicably low so I kept banging my head on them. I hired two contractors to shorten the cabinets and I'm really happy with the result. Follow my Instagram for real estate photos.

💻 Open Source: I updated humanfs so that the walk() method will continue working even if a directory is deleted while the traversal happens. This can happen in Node.js because it returns a full list of entries in a directory that is then traversed, but between the time the list is retrieved and the traversal happens it's possible for a directory to be deleted, which in turn used to cause an ENOENT error.

💻 ESLint: We officially announced support for linting JSON and Markdown. I've continued working on implementing language plugins, specifically, I started work on a CSS language plugin. Within the next month, a prototype should be available for use.

Human Who Codes Newsletter

A once-per-month newsletter discussing topics important to senior-level software engineers, with a particular focus on frontend technology and leadership.

Read more from Human Who Codes Newsletter

Thoughts on Weaponizing Open Source When you think of open source software, you might think of it as a gift from someone to the world. They’ve written something of value, and instead of trying to make money off of it, they’ve posted it online for anyone to use (and potentially make money off of) for free. While many projects start that way (Linux, ESLint, etc.), there’s another way open source comes into being: as a weapon against a company’s competition. Android. Perhaps the best example of...

Thoughts on Rates of Change One of the first things I realized about working in codebases is that different parts of the codebase change at different rates. There are some files that are touched very frequently while others can go months, or even years, without being touched. This fascinated me, partly because it reminded me of my closet (why do I even still have those jean shorts?), and partly because people seemed to put such little thought into optimizing their projects to reflect this...

Thoughts on Node.js, Deno, and Bun If you started working in the tech industry after 2005, what’s going on now may seem like a shock. Large tech companies continue to lay people off despite record profits. Smaller tech companies are also laying people off, and in some cases, having “quiet layoffs,” where they find other ways to reduce headcount, including offering employees three months of salary to voluntarily leave the job. As a result, there are more software engineers looking for jobs in...