Dave Hoover On Being An Apprentice Developer

posted 26 October 2012

Dave Hoover. Lead mentor at Code Academy. Head of Groupon’s Apprenticeship Program. Author. Programmer.

David has a book called Apprenticeship Patterns. You can check out the whole book online here.

The class got to sit down and chat with him. Here’s the essay version of my notes.

His rails shop Obtiva was acquired by Groupon in 2011. David then went to work heading Groupon’s Apprenticeship Program. It looks for entry level developers that can be accelerated and given a position at Groupon. He noted that the kind of people he picked were relentlessly resourceful. The kind of person where if they tell you they’re going to do something, they just get it done. He would never have to worry about this person’s longterm success. They’d find a way.

The most successful people out of Code Academy and Groupon’s Apprenticeship keep learning afterwards. They self-organize mastermind groups and meetups. They keep learning and pushing themselves together.

They fully embrace the role of the apprentice. They keep on learning.

There are times that, as apprentices, we’ll feel overwhelmed and intimidated by what we don’t know. This is something we have to master. Fortunetly, there are strategies to practice. Pinpoint and recognize the physical and emotional state of overwhelm. Then do this:

Retreat into competence. Do something less advanced than what you’re trying to do. Spend time in a confident knowledge base, then slowly branch out.

Expose ignorance. Accept that it’s time to learn. Find mentors and ask as many questions as you have to. Make meaningful connections between what you know and what you want to know. Keep going.

Also, master dealing with the state of burnout. This happens when you spread yourself too thin by a) taking on pet projects, and b) applying for jobs. Here, it’s hard to say no and easy to take on whatever comes your way. In these two areas, it’s especially important to conciously keep a narrow focus.

Aim for companies that’ll help you grow as a developer. Do your homework. Look for a range of skllsets. Avoid a place where everyone is singularly advanced. The ideal learning situation is to be taught by people who are slightly more advanced than you. During the interview process, ask a lot of questions about the company. You want to avoid working for companies that aren’t culture fits or that aren’t going to support an apprentice well.

A pitfall that bootcamp grads fall into during this process is being unclear of their skill level and being placed into a position where they’re expected to do things they can’t do. Be honest about being a junior developer. Enlightened employers don’t care about someone’s degree or background if they can code and learn.

One of the main resources that apprentices bring to the table is enthusiasm. Unleash your enthusiasm. Make it a practice. Do your homework, wow them, and conciously practice being enthusiastic. Cultivate passion. Become damn good at your craft. Go to meetups and learn/teach there. The onus is on you to succeed.

When asked what would make us the best programmers, David Hoover told us to code code more, practice better, and write better Rspec.

Love the practice. Practice more. Practice better. Write better Rspec.

Get so good they can’t ignore you