No great software or product is built alone. Here are ways to become a better team member as a developer or engineer.
Want to improve your skills as a developer? Instead of locking yourself away to hone your programming talents, consider another source: Your team.
"It's a pretty ingrained stereotype that developers are these lone highly excellent performers, but no software is built alone, and great products are also not built alone," said Kate Heddleston, engineering manager at Shift Technologies, Inc. "You need people to review your code, and you usually need to bounce ideas off people."
Asking others with more expertise than you and training newer engineers also require strong communication skills, Heddleston said.
SEE: IT Hiring Kit: Programmer (Tech Pro Research)
"It feels exactly like sports to me," Heddleston said. "You learn the programming over time, but this collaboration, this ability to learn inclusively, recognizing that your teammates have done something well, and all the skills you learn in a team sport are going to be important for software because you spent all this time working next to people."
Here are 10 ways to become a better developer through teamwork.
1. Create an environment of psychological safety
Make it safe for people on your team to express opinions and ideas without judgement. "You don't shoot down teammates, and you don't throw people under the bus," Heddleston said.
The importance of this environment was demonstrated at Google, with its 2012 Project Aristotle that studied hundreds of Google teams to determine the factors that influenced performance. The study found that there were two key differences between more and less productive teams, one of which was psychological safety--the idea that members are confident team is safe for interpersonal risk taking, and that team members will no embarrass, reject, or punish someone for speaking up.
2. Encourage everyone to participate equally
It's incredibly challenging to build software on your own, Heddleston said. "Recognize that you need your teammates," she added. "It's so much easier to do collaboratively."
This requires encouraging all team members to participate in the project, Heddleston said. Google's Project Aristotle found that the second component for productive teams was equal participation. As a developer, you can work to notice when people speak up, where ideas come from, and make sure people get credit for their work. You can also amplify unheard voices in meetings.
3. Assign credit accurately and generously
Giving credit to people accurately for their work is key for establishing trust on a team, Heddleston said. To foster a culture where people assign credit to others, you can make sure you take time at the end of each project to thank the people who helped you--especially those who are quiet and don't self-promote often, or those who are new and perhaps lack confidence. You should be honest and specific when offering credit and praise to others' work, Heddleston said.
SEE: Hiring kit: Python developer (Tech Pro Research)
4. Amplify unheard voices in meetings by repeating what they say
Certain groups, including women, tend to get spoken over more during meetings or in group settings, Heddleston said.
"One of the ways you can be a good teammate is to not only give people credit, but also amplify their voice," she added. "Repeating ideas they have, making sure that ideas are heard, and making sure it gets back to them is a really great way to make sure that your teammates want to speak up and are willing to participate."
5. Give constructive, actionable feedback and avoid personal criticism
The best feedback happens in real time, and focuses on what someone can improve upon, rather than criticizing their work or their personality, Heddleston said.
"It's pretty rare that someone wants to be bad at something, so just say, 'Hey, this what would help you make you better,' as opposed to spending a bunch of time talking about why things are bad," Heddleston said. Women also tend to get more personal criticism than men, studies show.
To give constructive feedback, you can ask your teammates if they are open to receiving feedback, and focus it on their work as much as possible, Heddleston said. Clearly identify any issues, and explain how you think the person can make things better.
6. Hold yourself and others accountable
This comes down to "do what you say you'll do," Heddleston said. This allows you to become a trustworthy teammate. "If you say you're going to do something in a certain amount of time, do it. And if you can't do it, get help. And if you really can't do it then adjust your timeframe," she added.
7. Cultivate excellence in an area that is valuable to the team
Developers should gain skills that contribute to the team, Heddleston said. "There are a lot of areas of domain expertise within our field, so there are a lot of ways to be a good programmer, and a lot of types of programming that you could be doing," she added. "It's pretty fluid and creative."
SEE: Job description: iOS developer (Tech Pro Research)
8. Educate yourself about diversity, inclusivity, and equality in the workplace
In the same way developers stay up to date on programming languages and tooling, every member of a team needs to educate themselves about how gender and race discrimination can play out in the workplace and how to create more egalitarian environments, Heddleston said. For example, you can read and research how to listen and amplify voices that are typically shut down, she added.
"Your opinion is only as valuable as your education," Heddleston said. "If you don't know anything about Kubernetes, your opinion on Kubernetes is not valuable to me. So, if you don't actually know anything about diversity and inclusion, your opinion is not very valuable."
9. Maintain a growth mindset
Successful developers must believe they are capable of learning, changing, and growing, and that others on their team can do the same, Heddleston said. Research shows that this growth mindset helps teams not get demoralized by setbacks, she added.
10. Advocate for companies policies that increase workplace equality
Speak up about ways you think your company can become a more inclusive and egalitarian workplace for every member of a team. Some examples with strong effects include implementing the Rooney Rule (which requires that for any key position, you have to interview a diverse set of people), evaluating candidates for promotion in a group to reduce bias, and making meetings and salaries more transparent, Heddleston said.
- How to build a successful developer career (free PDF) (TechRepublic)
- Programming languages: Your best options (ZDNet)
- How to become a developer: A cheat sheet (TechRepublic)
- Want to learn programming? This startup pays you cryptocurrency to study Python (ZDNet)
- 7 programming languages that every developer should learn in 2018 (TechRepublic)