featured

By Sarah June FischerOctober 30, 2014

Peer programming: 5 reasons learning in a group beats studying on your own

Pair programming, a common term used in agile work environments, is the practice of two programmers sharing one workstation. At Code Fellows, we learn in groups, which I like to think of as *peer* programming, which is two (or more) programmers learning from each other in one unified setting.

With the rise of online education and the accessibility of development training videos and tutorials, getting started in programming is on the other side of a quick Google search. But learning the syntax of a programming language is only part of becoming a well-rounded developer.

As students come through our program, whether they start in beginner courses or get accepted straight into a Development Accelerator, many say the same thing: they were trying to learn on their own and realized that they needed in-person guidance.

Whether you are just starting your education or have been studying online for a while, here are five reasons to consider a learning environment surrounded by peers and instructors.

#1: In-person instruction

Nick, a Full-Stack JavaScript alumni, wanted to learn cutting-edge technology so that he would be able to better serve his customers when he returned to his job as a web developer.

“There’s only so much you can learn from tutorials online before you need hands-on instruction and someone to answer your questions,” he said. “You can spend four hours on Google to answer a question, or you can ask [your instructors] and they can answer in 30 seconds.”

Especially at a digital trade school where the teachers have years of experience — and connections — in the field, instructor-lead education provides full access to someone who knows how students can reach their goals. Their guidance increases the quality of projects that students create, trains them in industry best practices, and saves them from hours of hunting down the answers or solutions on their own.

#2: Collaboration

Our students spend a large portion (3+ hours) of their day working on group projects and individual assignments. Even with TAs and instructors available for questions, students are learning from each other by posing a question to listeners nearby or helping another classmate with a new topic covered in class.

This collaboration trains them in teamwork and communication. Ben, a graduate of the Front-End UX Design & Development program, shared his take on the team atmosphere: “I love the collaborative aspect. Tackling a project with your peers really solidifies what you’ve learned.”

Jeff, an alum of the iOS Development Accelerator, felt the same way, saying, “I had an interest in developing but I wasn’t having much success teaching myself. So I wanted to get experience learning in an environment with others in pair programming.”

#3: Learning from fellow students

Sean, who completed the Front-End UX Design & Development program this fall, emphasized the value of the group, saying, “I like learning from my peers a lot — I think it adds to the value of the class.”

Full-stack JavaScript graduate (and now a professional web developer) Chelsea was drawn to the program for the same reason. “This program inspired me because you’re around a bunch of different people who are all learning. You can share what you don’t know and learn from others,” she said.

Our students aren’t the only ones who have realized that, if they want to propel their education, they need to learn from their peers. For years, educators have been studying the most effective ways for students to learn in all levels of education, and continue to arrive at the same conclusion: Students who are paired up with others learn more effectively:

The best answer to the question, “What is the most effective method of teaching?” is that it depends on the goal, the student, the content, and the teacher. But the next best answer is, “Students teaching other students.” There is a wealth of evidence that peer teaching is extremely effective for a wide range of goals, content, and students of different levels and personalities.1

#4: Enthusiasm for the subject

Lucas, a graduate of the JavaScript course, highlighted the benefit of being surrounded by other students who were enjoying the class as much as he was. He said, “I really wanted a structured learning environment. I’ve never been in environment where people are as excited as I am about what we’re learning.”

Students pitch ideas for projects and work on several different group web or mobile apps throughout their eight weeks in class. Group size ranges from two to five members. This is preparation for the team dynamic that students will experience in their careers, and hones teamwork and communication skills.

Learning solely through self-education can’t provide two very important aspects of education: motivation and enthusiasm from peers, and the opportunity for group bonding. These lead to more satisfaction in completed projects, group work, and the subject in general — aspects completely lost when student are learning alone.2

#5: Preparation for a career

Group learning doesn’t just affect how you learn the material — it affects how you continue to grow in your skill set. The habits and methods you form now will continue into your career.

While more companies in the tech industry are doing away with brick and mortar offices (Attomatic, Mozilla, and Upworthy come to mind), they still encourage a team atmosphere through quarterly or yearly retreats. They also budget for desks in coworking spaces and increase communication among team members. Working remote doesn’t mean working alone.

For most roles, culture fit, the ability to work with and learn from others, and stellar communication skills are as (or more!) important to a company as specific technical skills.

Advice from the community

What is the final benefit of joining a cohort of students who all share the same goals? An expanded network and guidance from others who have all been through the same experience. So, what advice do our alumni have for current and future students?


“Don’t give up — you’ll feel like nothing makes sense and then it will suddenly click.”

– Katie, Front-End UX Design & Development Accelerator

“If this is something that you really want to do, then go after it and stick with it. Because it’s totally worth it. It’s a great opportunity.”

– Ramin, Ruby on Rails Development Accelerator

“Programming, like many things in life, is a journey: deciding where and how you start is important to get you off on the best foot, but then you just need to keep moving forward. So pick your stack, build your foundation, and ask others to help — you’re going to need it.”

– JD, Full-Stack JavaScript Development Accelerator