Development is a Team Sport
Developers are often seen as people who sit in front of a computer all day and just need to be able to write code. While that’s true to some extent, development is no longer a field of solo warriors. It’s become more of a team sport.
Over the years, the requirements for development have grown to the point where it’s very difficult for one person to cover all the different skills needed to produce a product that people enjoy using. People want beautiful graphics, an easy-to-use interface, great accessibility, amazing speed, and the ability to access their data anywhere on any device or platform.
Becoming an expert in one of these fields is difficult enough, but covering all of them seems impossible. There are definitely people out there who can do it all, but they don’t enjoy all the different aspects of development, which makes it difficult to bring them all to the next level.
Additionally, it’s just more fun to achieve something together. Even though developers generally like spending a lot of time in front of their screens, we also enjoy spending time with people, like all humans. At Platogo, we especially cherish our diversity. We come from many different countries all over the world, and we’re a multicultural team. This diversity makes our product better, but it also makes communication a little harder at the beginning.
Communication in development
So, out of all the different skills a developer needs, why communication and what kind of communication? At Platogo we define communication as being able to communicate your ideas to others and understand the ideas of others. Communication is a two-way street. You can be the best speaker in the world, but if the other person doesn’t interpret your words the same way you do, there will be a misunderstanding. The interpretation of an idea into words and then back into an idea is based on the individual, and no two people are the same. The skill of communication is learning to explain your ideas in an objective way that can be understood by more people in the same way. Or even better, understanding where the other person is coming from and adapting your communication style so that they can interpret you better. From the other perspective, it’s about broadening your interpretation of the information you receive or even better, understanding where the other side is coming from and adding that information to your interpretation.
Developers are in a unique position where they have to translate everyday language into a language that machines can read. As any developer knows, this can be tough. It can be even harder to translate a problem in your code back into everyday language so that others can understand it. This translation is a specific form of communication for developers, but many other fields also have their own specific language. As a person becomes more skilled at communication, they become better at translating their field-specific language into everyday language. Communication is a lot broader than that. Even if two developers are from the same field, know the same coding language, and are trying to communicate their ideas to each other, it can still be complicated and sometimes even frustrating, because of all the other factors that affect communication.
Communication is a skill that we can all improve on, and it’s not always easy. Especially if it’s hard for you. Humans tend to avoid things that are hard, so at Platogo we force ourselves to communicate more with each other. We make room for it on all levels, from discussing code issues to just having time for small talk. The more time we invest in communication, the better we get at it. We have a lot of initiatives running to improve our communication, but we’ll focus on three very different ones here.
Platogo’s Knowledge Monday
Every week, we have a “knowledge monday.” Some people call it “meeting monday.” The goal is not to have as many meetings as possible, but to make room for exchanging knowledge by communicating with each other in a more structured way. We started this initiative because we noticed that knowledge doesn’t flow as easily when your company is three times bigger than it was three years ago. We also don’t just want to give everyone all the information; we want to make sure that the right people have time to talk to each other. This is actually harder than it sounds, because many developers are eager to start coding instead of communicating their thoughts and ideas with others. It’s a full day of hard work of exchanging knowledge and improving our communication skills.
Learning in Virtual Coffees
For years, we’ve had a 30-minute virtual or in-person coffee every week. Our chat bot randomly matches 2/3 of Platogo every week to just chat. They also share their appointments with others so that more people can get together to talk about anything that’s important to them. It may not seem like a productive use of time, but it is, as it leads to a better understanding of each other, sometimes as simple as everyone learning to better use the English language. We started doing this because we and the rest of the world could no longer meet in the office. But since we made a significant improvement in communication, we continued this initiative even after being able to return to our office. With a hybrid setup, it helps everyone stay connected, regardless of whether they are in our office, at home, or on a workation.
Pair Programming for the win
Our developers engage in pair programming from Tuesday to Thursday every week. This is our biggest initiative to help them improve their communication and other skills. Each week, we pair up our developers and have them work together on our prioritized features. The style of pair programming is up to them, but they should spend the majority of their work time doing it. Although there are many different styles of pair programming, they all involve two developers working on one screen together. Regardless of their experience level, developers will always learn from and teach each other. This goes beyond explaining how a section of code works. It also involves experiencing different work styles or ways of problem solving. We have been doing this for more than five years. It is always intense, but it has resulted in a platform that has been running for over ten years with nearly zero technical debt. It has also helped us stabilize our roadmap. The team that develops the platform is also in charge of operating it. If only one person can fix an issue and needs to also work on the most important feature, this leads to unexpected delays in development. By having everyone working on every feature we develop, we stay flexible. Everyone is able to jump in to help if any issue arises. Even in development itself, having two developers who know what they are working on helps if someone gets sick. It also relieves the pressure and gives them time to recover, knowing that someone else is there who knows what they are doing. However, the biggest impact is on communication, as direct communication between two developers helps them better understand what is being asked of them and teaches them how to better share their ideas.
Communication is a skill that we can all improve on, and it leads to fewer misunderstandings and conflicts. At Platogo, we’re committed to improving our communication skills and understanding each other’s cultures and perspectives.
by Dominik Go