For the month of April, we’re focusing on the bread and butter of PayFast: our devs. They work tirelessly behind the scenes to make sure our payment gateway runs efficiently to process payments for the tens of thousands of online stores that have partnered with us. In this guest blog post, Schalk Wepner, one of our Senior Developers, writes about what inspired him at DevConf 2022.
During DevConf 2022 I had the privilege (thank you for the ticket PayFast!) to attend a talk about the importance of Team Community. The main question they sought to solve was how to build a team/community. The problem with this statement is that we first need to understand what a community is.
What is a community?
A community can be defined as follows:
“…a group of people living in the same place or having a particular characteristic in common. The condition of sharing or having certain attitudes and interests in common.“
Thus, in simple terms, a community is individuals working together with a like-minded purpose and understanding or a common goal. That seems simple enough, but how do we ensure that we know that we have the same values and principles?
The simplest answer is sharing and communicating. We, as the individuals that are forming the community, need to communicate our needs and values so that we can form an understanding and appreciation of everyone else in the community.
When communicating, it is important to remember to approach the conversation from a why perspective and not a what perspective. A what perspective leads to a combative conversation style that is very difficult to navigate. Rather try to have a why conversation. This is much more inviting and shows the community (or a single person) that you would like to understand things, rather than just point and criticise.
This will allow us to then know and understand the community.
Once we understand the community and become part of it we will be able to
- share the burdens,
- learn fast and
- master our environments quicker.
How do you build a community?
Now we know what a community is and what we provide and gain from it, the next question to answer is: what or how do you build a community? Communities are built on the following principles:
- Establishment of the community standards and reason for existing
- A concerted effort to invest time
- The creation of a fail friendly environment
- A finite understanding of responsible ownership
- A specific interest and integration of self
- Establishment of a culture of empathy
How do you build a dev community?
As a developer, in theory, this sounds very complicated. Seeing that we (the developers) are not really known for our outgoing and open personalities, how does this look on a day to day basis?
Here are some pointers:
- Take a chance and be open about your needs and values. Focus on being honest, even if it is just one person.
- Be empathetic to your colleagues, try to be approachable and accommodating.
- When failure occurs, be positive about the situation, focus on the failure and not the person at fault and learn from the situation.
- Invest time in building relationships, spend time with people, pairing, chatting, making mistakes and learning.
- Help to define the interests and reasons for the community to exist, why are we here? What are we doing?
- Be the person you needed when you were the new person in the community.
Even if you are not a developer these pointers are still valid. This covers everyone in the community. Listed here are the basic daily building blocks to build and foster a great and strong community.
How do you make a safe and fun environment?
Once you have mastered this and your community is built or established, there are a couple of rewards and outputs that flow out of the community. Most notable is a safe and fun environment. Yes, that is correct, SAFE and FUN are products of a great community and not inputs into the community.
You can not make an environment SAFE, but what you can do is:
- Make the environment fail friendly
- Ensure it the environment puts learning first
- Enforce positive accountability
Once you have these elements in place you will eventually create a safe environment.
You can not make an environment FUN, but what you can do is invest time and effort into understanding the environment and becoming part of it, and through doing this find stimulating ways of working.
By investing time into the community, you will start to understand it and that will lead to a fun working environment.
So, in summary, everyone wants a safe and fun environment. This is achieved by building a great community of shared values and goals, by being open, honest and empathic towards each other.