Software Development: Working Well with Others
Software development was one of those jobs that was supposed to lead the way in teleworking. With the rise of affordable high speed Internet connections and portable computers, it seemed like a perfect job to do from home. Many workplaces, and workers, however, strongly prefer working together in the same physical location. Here are a few reasons why:
Rubber ducking is a technique where you explain to a person (or an innate object, such as a duck) a problem you are working through. Sometimes just the act of explaining a situation can elicit a solution or a new avenue of investigation. Explaining to an actual person can be a more effective variant for some people.
In addition to simply listening to a problem, coworkers can give advice! Another developer may have run across the same problem or seen something similar in the last. Sometimes they can offer alternative algorithms, libraries, or platforms.
As you develop in your career, you will often become the person who gives advice to other developers. This isn’t just great for the people receiving advice. Thinking through someone else’s problem can be a welcome break from your own, and it can help you to deepen your understanding or when and why to apply certain strategies.
A Different Viewpoint
It’s easy to get trapped into a very narrow way of thinking when you’re working alone. It’s helpful to get feedback from a variety of different viewpoints. There’s a lot of missed opportunity when backend developers are isolated from front end developers, or when user experience is developed with input for a narrow subset of the user base.
A lot of great stuff gets overheard in an office. Sometimes it’s about that new poke restaurant opening up down the street (which is a pretty great thing to overhear as well), but sometimes it’s about a new tool or project or team that you might be interested in. All sorts of side projects end up becoming great features or products.
It may not be fair, but a lot of career advancement depends on being literally visible. It’s much easier to be viewed as a leader or a senior team member when you’re seen helping your team. This is especially important at larger workplaces where your advancement may depend on peer feedback.