We mentor early-career developers. Here’s what they need to succeed.

Andrew Hedges - Aug 19 '20 - - Dev Community

Note: This article first appeared on LinkedIn.

Knowing how to code is just one aspect of being a professional web developer. Another super important skill is knowing how to collaborate effectively on a software team. Most coding bootcamps don’t teach this skill or don’t teach it effectively. This leads early-career developers to stumble in interviews and require a lot of ramp up time in their first tech jobs. The Collab Lab is a program Stacie Taylor and I created to help solve this problem.

The Collab Lab Turns One

In the year since we launched, The Collab Lab has helped 44 early-career web developers learn how to work on software teams. We provide remote, collaborative project practice for developers who have worked to develop a baseline of technical skills, but who haven’t yet had the experience of working on a technical team.

Our two dozen volunteer mentors are all professional web developers and engineering leaders. We structure our projects to be simplified, but otherwise very real-world in how they’re run. Participants employ pair programming to complete stories managed on a project board. They present weekly demos of their progress and participate in learning modules and retrospectives. Participants report feeling more confident in interviews and more prepared for their first developer job.

What helps early-career developers?

Through the course of running 12 projects of 8 weeks each over this last year, we’ve learned a ton about how to make early-career developers successful. It boils down to the following 5 themes:

  • Structure
  • Process
  • Interdependence
  • Context
  • Encouragement

Sure, call it SPICE if it helps you remember it. 😅

Structure

Early-career developers benefit from clear guardrails and easy-to-consume written documentation on processes and requirements.

At The Collab Lab, that takes the form of a project brief that acts as a one-stop shop for the information germane to the project. It includes a summary of important links, our expectations of the participants (including pair programming), our weekly project cadence, and even some low-level details such as how we name branches in our code repositories.

Some senior developers might find it overkill, but I’d argue that even experienced teams benefit from having this information clearly documented.

Process

In any organization, but especially in a remote one, written documentation of processes helps developers understand what to expect—and what is expected—day-to-day.

That project brief I mentioned before clearly outlines how our developers will know what to work on as well as the steps for determining when a user story is done. For many of our participants, this is their first experience working on a software team. By documenting the code review and approval process, they can refer to the expectations when things get confusing.

Interdependence

The Collab Lab has been a distributed endeavor from the outset. We use Slack and GitHub to coordinate our projects at a distance. On these remote teams, we encourage interdependence. We emphasize that this isn’t school. Our participants are not being judged or graded. They’re a team working together to get something done.

Each week, our teams of 4 break into 2 pairs. The expectation is that each pair will spend a significant amount of time each week synchronously pair programming. As early-career developers, they’re more likely to succeed at the task at hand if they can create a Venn diagram of knowledge to apply to the problem.

Another practice we emphasize that encourages interdependence is working in the open. This transparency is a core value at Zapier, where I’m an engineering manager. Being “noisy” in Slack helps everyone feel more connected and keeps the team up-to-date on both progress and blockers as the weeks progress.

Context

When we kick off new projects, we ask each participant to watch a video run-through of a previous team’s working application. This is possible because we do the same project each time, but for most organizations the equivalent could take the form of a click-through prototype or even just design mock-ups.

Another way we provide context to our developers is by using the following user story format:

  • As a ______
  • I want to ______
  • So that ______

For example, the following is one of the stories from the smart shopping list project:

  • As a user
  • I want to add new items to my shopping list
  • So that I can start recording purchases

This format is helpful to early-career developers because it’s not just a to-do list of requirements. It provides a description of the value being provided to the end user, including the “why” of the feature. This empowers our developers to come up with creative solutions to the problems presented to them.

Encouragement

When we train our Collab Lab mentors, we literally tell them to be cheerleaders for their teams. Their more formal role is a hybrid of senior developer and product owner, but the most important thing they do most weeks is help the people on their team have confidence they can do the thing.

Because we work in Slack for the most part, this cheerleading often takes the form of lots of GIFs and emoji. ✨ That might not be a great fit for your organization’s culture (in which case I feel sad for you 😅), but because we work remotely, we find it builds much-needed emotional connection among our participants and mentors.

Connection and encouragement—including the praxis of growth mindset by focusing on formative, not summative feedback—go a long way toward overcoming imposter syndrome, that all-too-common feeling that you’re a fraud who’s going to be found out any minute now. By modeling vulnerability and celebrating setbacks, our mentors create a space where it’s safe to experiment and grow.

Increasing the diversity of your team by hiring bootcamp grads only works in the long term if you do the hard work of creating an inclusive, supportive working environment.

Is it worth the effort?

There are myriad benefits to hiring early-career developers. The enthusiasm they bring to a team is contagious, and they can serve as motivation to better document requirements, systems, and processes. It’s also a group that tends to include more people from groups underrepresented in tech, so it’s a great way to increase diversity on your teams.

But like anything worth doing, you may need to make changes to make the effort successful. Harnessing that enthusiasm takes planning and organization. Increasing the diversity of your team by hiring bootcamp grads only works in the long term if you do the hard work of creating an inclusive, supportive working environment.

There are no shortcuts in life or tech, but if you lay the proper groundwork, you’ll set yourself up to help your early-career developers succeed.

Andrew Hedges, Founder of The Collab Lab, is an engineering manager at Zapier, a fully-remote workflow automation company. He holds a Masters of Education from the University of Maryland College Park in counseling and human development. Andrew lives in beautiful Portland, Oregon.

Stacie Taylor, Co-Founder of The Collab Lab, is an engineer at Zapier. She is a former product manager turned engineer and a fierce advocate for early-career developers. Stacie lives in sunny Sacramento, California.

Follow The Collab Lab on Twitter.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .