Bridging the Developer Experience Gap

Posted on Sep 28, 2020 in

I founded to help every developer advance their career.

It started with a pilot that kicked off last year. The goal was to help early-career developers overcome the experience gap and get their first jobs in industry. I'm proud to report that the results have been outstanding:

  • 100% job offer rate (highlights: DigitalOcean, thoughtbot, American Airlines, theSkimm)

  • $53k/year average increase to base salary (equity, health insurance, perks excluded)

  • Six months average time to job offer (from three to ten months)

The developers came from a wide range of backgrounds:

  • 100% from underrepresented groups in technology

  • Education: From no college to masters degree

  • Gender: Majority identify as women

  • Age: 20s to 40s

  • Parents

  • Transitioning from established careers

Today, we're opening our doors for early-access and inviting you to join the network to advance your developer career.

The Experience Gap

Breaking into a career as a software developer is a classic chicken-and-egg problem: it's next to impossible to get a job without relevant work expereience and it's equally, if not more difficult, to get the necessary experience without a job.

There's no doubt that the barrier to entry for programming has drastically reduced in the last decade. Software development is more accessible as a career in large part thanks to the deluge of free and inexpensive online resources and the rise in popularity of trade school style coding bootcamps.

Even so early-career developers still face the paradoxical "experience gap" when applying for their first jobs.

Studying Didn't Help

I've heard repeatedly from developers struggling to get their first job due to a lack of experience and I personally experienced the same challenge in my career. When I was starting out, I applied to close to 30 software developer roles and I was consistently turned away due to a lack of experience.

So, the question is, "how do I get the skills I need to advance my career as a developer?" I've spent many years trying to answer this question in service of my own career.

My first crack at it was to go the academic route. I racked up a mountain of debt studying computer science at a private university. The experience was somewhat valuable, but school didn't prepare me for a job in industry.

I also tried to teach myself. I read books and tutorials. I worked on side projects. Progress was unbearably slow. I'd spend hours and sometimes days or weeks at an impasse because I lacked some fundamental understanding that was necessary to solve my problem.

Solving Real Problems with People

My biggest leaps forward as a developer always came from working with people to solve real problems.

A few years before I got into industry I was lucky enough to make friends who were more experienced developers. They helped me get into Linux and build some small web applications with PHP. Most people aren't so lucky to have ready access to experienced people who are willing to help.

The biggest step change in my ability as a developer came from an experience with a coworker. I needed to upgrade an open source web framework on a widely-used production application. It was uncharted territory for me and incredibly daunting. Any misstep could cause a major outage.

Someone that I looked up to volunteered to pair program with me on the project. It was the first time I had ever pair programmed. They helped me write automated tests and make the necessary changes one by one, each time fully verifying that there were no adverse side effects.

We managed to complete the upgrade, but what stuck with me were these new techniques that completely changed how I program. They're commonplace to experienced developers. While you can learn about pair programming and testing in school, the techniques don't really sink in and become useful until you've been able to apply them in the real world.

That pairing session was the most impactful learning experience of my developer career. It gives me confidence that the best way to learn is by doing the work with guidance from an experienced collaborator.

The Obvious Solution: Give People Jobs

I've spent my career at the intersection of software development and education. I've worked in ed-tech, helped start an online university, marketed APIs by teaching, and given millions of students free access to real-world developer tools.

The problem of the experience gap had been troubling me for some time. I put care and thought into how to help early-career developers overcome the seemingly insurmountable hurdle.

I came to a simple, albeit impractical, conclusion: just give people jobs. If they have a job they will get experience and, in turn, will become more hireable.

Last year, I decided to see what would happen if I did just that. I announced that I was hiring for a Software Developer Apprentice on Twitter and within a week I had more than 500 qualified candidates. To be qualified didn't require experience, but it did require knowing how to code, being highly motivated, and having a demonstrated need for the opportunity. - Original Apprenticeship Announcement

At first I was surprised, but it seems obvious now that there would be essentially infinite demand for such an opportunity. I originally intended to work with one person, but there were so many deserving candidates that I ended up selecting a small group.

I found that the time I spent with the apprentices was both rewarding and impactful. Giving early-career developers real projects and providing hands-on support gave them the experience they needed to get hired by some great companies.

All of the apprentices who participated in the pilot received job offers for full-time developer roles from great companies including DigitalOcean, thoughtbot, American Airlines, and theSkimm.

Connecting Candidates, Coaches, and Projects

It's not practical for us to hire every developer candidate – that would never scale. Instead, we been hard at work building a platform to connect developer Candidates with expert Coaches to work on real-world Projects.

The platform involves three major components. Candidates, Coaches, and Projects:

  • Candidates get exposure to the tools and techniques that are essential for a career in industry.

  • Coaches give back, learn valuable leadership skills, and also solidify their skills through pair programming, code review, teaching, and mentoring.

  • Projects involve helping non-profits, contributing to open source, and doing real work with engineering teams from our hiring partners.

Early-access for Candidates Begins Today

Following on from the success from the pilot, we're opening the doors to the platform to developer Candidates for early-access. Starting today, you can sign up to be matched with a Coach who will help you create and execute a personal project-based learning plan. is free during early-access.

We're excited to help you advance your careeer. Meet your Coach.

Written by John Britton | Founder of
I'm a software developer and former nomad who is passionate about education and helping developers advance their careers.

Take your developer career to the next level

Join to be matched with an expert Coach. Together, you'll create and execute a personal project-based learning plan.