How to Be a Good Team Player in the World of Programming
Knowing how to be a team player in the workplace is a soft skill that everyone requires. Most jobs require collaboration. However, programming is one of those career paths that places a strong emphasis on the ability to work with others. This sixth article in the soft skills blog series is about designing programming activities that teach students how to be a team player.
7 Essential Soft Skills Every Programmer Needs
It is important to be a competent programmer. It is vital to know how to write and edit code. However, that is not enough to be successful in the workplace. A programmer must also possess soft skills. Soft skills describe a person’s work habits. They indicate how a person will approach a task, interact with others, and resolve conflicts. There are several soft skills every programmer needs:
Qualities of a Team Player
You may imagine a programmer sitting alone in a room just writing code, interacting with no one. However, that is not the reality. Programming is a dynamic career that requires a diverse team to bring a complex project to completion. It requires team work!
A team player:
- actively listens to others
- contributes ideas
- shares responsibilities
- helps team members
- communicates progress
- aims towards a common goal
Many Students Like Being in a Team, But Dislike Group Work
In school many students despise group work. This is not because they don’t like to be part of a team. Rather it is that most collaborative activities are poorly designed. This allows some members to do very little, while a few people do the bulk of the work. Since there is a shared mark everyone benefits, which often seems unfair.
I recently met an adult taking an online course. They told me that they had a strategy. First, they waited for the keeners to get started on a task. When most of the work was completed they jumped in to help. It looked like they were part of the team – but they were not actively involved throughout the whole process.
I spoke to another student in high school last week about their experiences with group work. They told me that they often did not put in a lot of effort because inevitably someone would change what they did anyway. They felt that their contributions were undervalued and for this reason they did not engage in group work.
So, whether you are a keener doing the bulk of the work, faker pretending to contribute, or an underachiever doing the bare minimum – school assignments that include group work are often not rewarding for anyone. But they need to be because the workplace requires good team players.
So, what can be done?
3 Ways to Teach Students How to Be a Team Player
Programming is a collaborative activity in most workplaces. To prepare students for the future, design lessons that encourage teamwork. The activity might be a peer review , game test, code swap, or joint programming task. There are three elements you should include to engage learners and teach them how to be a team player:
- Define Job Duties
- Expect Accountability
- Share in the Team’s Success
1. Define Job Duties
Whether it is a team of two or four, every member should have a specific role. This defines a person’s job duties, so students understand how to contribute to the team. For example, if it is a pair and share activity, the roles might be demonstrator and player. Whereas, if it is a joint programming task, the roles might be determined by the code section the person will write. It is important to outline clear expectations at the start of the coding project. This discussion is a great way to practice actively listening, contributing ideas, and sharing responsibilities, all of which will help a person become a good team player.
2. Expect Accountability
One of the reasons students shy away from group work is the lack of accountability built into school projects. However, teachers can change this by creating reporting systems that document contributions. For example, comments can be used to identify sections of code written by a particular programmer. Alternatively, students can self-report how they personally contributed to the assignment. Terms such as programmer, editor, test player, idea generator, or problem solver can be used to explain how they helped team members.
DESIGN A TASK LIST:
Regarding accountability, an important part of being a good team player is communicating progress. Members rely on each other to complete a task on time. If there is an issue, informing the team will let them know help is required. Teachers can support teamwork by creating a task list with deadlines. Each person can use it to report their progress and indicate whether they require assistance.
3. Share in the Team’s Success
PROVIDE TEAM RECOGNITION:
You have heard there is no I in TEAM. A good team player aims towards a common goal. When the program is completed…everybody wins! Ideally, you want to create a learning community in which students recognize the contributions of their team members. They should not take credit for the work themselves or shift blame when there is an issue. To help students develop this mindset, consider posing these Team Recognition reflection questions:
- Which member’s contribution could the team not have done without?
- What idea did you have that a team member made even better?
- Who found a solution to a bug in the program that was causing an issue?
- If you could give someone in the group an award for each title who would it be? Cheerleader, Idea Machine, Problem Solver, Helping Hero
- Where do you think you could have helped more? Why didn’t you?
- If you could pick a word that other team members would use to describe you, what would it be? For example: helpful, trustworthy, dependable, dedicated
- What word would you not want team members to use to describe your work habits? For example: lazy, unreliable, bossy
USE AN EQUITABLE GRADING SCHEME:
But wait! What about the team that does not function well? Does sharing in the team’s success also mean sharing in the failure of others? In school projects, occasionally a person does not want to do their fair share (or anything). Instead, they just want to sit back and reap the rewards of others’ hard work. Teachers can solve this problem by creating a equitable grading scheme. Yes, there should be an overall group mark. However, there should also be an individual marking component that considers team members’ contributions. This will keep learners engaged and will shape a positive attitude towards teamwork.
How to Be a Team Player When Python Programming
If you are looking for a programming unit that includes team work, check out TechnoPython. It has peer reviews, code swap, and game tests. These small group activities will teach students how to be a good team player.