Collaboration and teamwork

Note: The content in this article is currently incomplete, sorry about that! We are working hard to improve the MDN Learn Web Development section, and we will have places marked as incomplete ("TODO") finished soon.

As a professional in the web industry, you are going to have to work with other people on projects during multiple phases — brainstorming ideas, writing proposals, implementing code, and more. This article looks at how to work together with others.

Prerequisites: N/A
Learning outcomes:
  • Effective techniques to practice collaboration with teammates, including sharing useful information.
  • Learn to ask useful questions and help one another.
  • Widen the net to meetup groups or open source projects to find people to help and collaborate with.
  • Learn to not fear failure, and instead embrace it as an effectve learning tool.

Getting on with others

As a professional in the web industry, you are going to have to work with other people on projects, and while brainstorming ideas and proposals. Not everyone is born with an innate ability to work in a team, so it is beneficial to start incorporating some best practices early on and putting work into areas where you think you are lacking.

Recommendations:

  • Learn about empathy, humility, conflict resolution, and cooperation. In all engagements, stay polite and respectful and do not use offensive language.
  • While working in a team in the real world, you will frequently be expected to do peer reviews. Practice how to deliver feedback constructively and respectfully. When receiving feedback, practice how to not take it personally, and focus on the positives and what you can learn.
  • Participate in pair programming, or work in teams on assessments to experience working with other people.
  • Practice running projects like a real software project, with a timeline, plan, and responsibilities. Learn about the software development lifecycle. Pick up some basic project planning skills and tools to be able to estimate and plan your work/project.
  • As part of the course, blog about your work, learnings, and roadblocks, share your code repositories, get peers to critique your work, and offer updates to fix issues in other people's work.

Participate, help people, ask questions

  • Join a Slack channel, Discord, or a similar space, ask peers for help, share resources, and discuss the work to be done. For example:
  • Practice asking and answering questions. Even if they seem somewhat trivial, always come up with one or two questions to ask when discussing or reviewing peer work. It is essential to practice explaining what you are doing and asking the right questions to find out what you need to know.
  • Help each other, rather than waiting for a teacher or senior dev to go around and help everyone. Less able peers will get help more quickly, and more able peers will become mentors and experience the satisfaction that it brings.
  • Observe and learn from other experienced folks how to engage in discussions as well as how to approach problem-solving/debugging.
  • Join an open-source project to practice the skills you learn, engage with folks in the community, and learn from observing others (see How to Contribute to Open Source Projects – A Beginner's Guide for useful information).

Learn to embrace failure

A very common issue that causes students and new developers to shy away from experimentation and taking risks (for example when starting new projects or exploring new ideas) is fear of failure. Spend some time learning about the value that can be gleaned from making mistakes, and the lessons that can be learned and applied in the future in similar situations.

Here are some tips to improve this skill:

  • Define a safe space/peer group where people are free to ask questions and failure will not be judged harshly.
  • Look to your local community and try to find meetup groups with people who can either give you help and advice or are facing the same issues you are and can provide moral support or experiment together with you.
  • (For educators) Set up the marking schemes for your assessments so that you can still get a reasonable number of marks even if you didn't get the correct result provided the process is well documented. Award extra marks for innovation.
  • Run show 'n' tell or one-on-one sessions part-way through a project with peers and mentors to get feedback and insights into where you are going wrong and get advice on how to get back on the right path.
  • Run retrospective meetings to analyze projects, look at what didn't go so well, and talk about how to improve things next time.