Are apprenticeships scalable?

April 2011

Back at the beginning of the year I had lunch with a university professor interested in the notion of software craftsmanship. This is an extract from an email he sent me at the time:

I wonder about how scalable the apprenticeship model is. It seems to be predicated upon mentorship, where each apprentice has a mentor. This means you need a large number of mentors if you have a large number of apprentices. They will have to be found and paid. This will cause difficulties... If you want 1 teacher per 10 students you'd have to find an pay 10 times as many as now. How does the Software Craftsmanship movement intend to deal with this?

Buried in this problem is an inherent assumption about the way programming is taught. It assumes the current university model of teaching undergraduates: employing researchers who spend most of their time away from their students doing what they’d really like to be doing, whilst having to teach classes to pay the bills.

If you try and use an apprenticeship model in this context, you run into severe funding issues: who will pay for all the extra researchers?

A different way

Why don’t universities do real software projects? Why can’t we have master practitioners being paid by real clients to do real work, and have the students along for a ride, learning as they go?

The funding issues will be cleared up as business will be paying. Students work for free, or perhaps room and board. Either way they won’t be saddled by exhorbitant fees.

If this makes sitting in a lecture hall listening to information difficult to fund, then great. That’s one of the most inefficient ways to learn: why do we persist in trying to sustain it? There is value in book learning, and the industry does currently rely on students to achieve that through university education. But the best way to pick up those principles is through real-world examples on real projects, supported by appropriate exercises designed to drive home specific points. It is certainly not through sitting in a lecture hall.

Maybe this model is a step too far for a traditional university. Perhaps they’re not be the best place to learn our craft. Our current university system is designed to create great professors, not great practitioners. Perhaps it’s time for a change.

Share


More articles

How to Build a Robust LLM Application

Meal Generator

Last month at Cherrypick we launched a brand new meal generator that uses LLMs to create personalized meal plans.

It has been a great success and we are pleased with the results. Customers are changing their plans 30% less and using their plans in their baskets 14% more.

However, getting to this point was not straightforward, and we learned many things that can go wrong when building these types of systems.

Here is what we learned about building an LLM-based product that actually works, and ends up in production rather than languishing in an investor deck as a cool tech demo.

Read more

Why Hybrid Work Works

As someone who lives an hour and a half from my London office, I love working from home. I can help my teenagers out of the door in the morning, and I am present when the family comes home. I can have coffee with my wife Ellie before we start work. I prepare dinner during my lunch break, and receive deliveries. I can contribute more effort during my day to Cherrypick, free from distractions, interruptions and the long commute. I would struggle to work effectively five days a week in London.

I also love working from the office. It is an opportunity to spend real time with the people I work with. Communication is easier and I spend less time on screens. I can train less experienced colleagues much more efficiently than video chat. I can ask for and give advice and help in person, cutting down long feedback cycles. I would struggle to work effectively five days a week from home.

Much of the debate around hybrid working appears to be a zero sum argument about why working from home is “better” or “worse”, and why working in the office is “more” or “less” productive.

One is not better than the other; they are just different. I think we need both for a balanced life.

Here are some pointers for how to have a productive conversation about hybrid in your team.

Read more

The Job Is Not To Build

Startup CTOs or founding developers are the first technical people in the business. It is natural to think your job is to write code and build software. This is backwards.

Your first job is not to build software. Your role is to use your technical expertise to help the startup figure out fast if you have a valid solution to a compelling problem, and then a valid product for a big enough market.

You might do this through building software, but you might not need to.

Here is a story of how I did this wrong, and how you can do it right.

Read more

The First Thing A Startup CTO Must Do

Perhaps you are a technical co-founder who has managed to raise funding and you have been catapulted into the startup life. Perhaps you have just been brought in to handle the startup’s tech after the first round came in.

As the CTO, or the most senior technology person in the company, there are so many calls on your attention at this stage.

There is plenty of interesting new tech to build. There are potential customers to speak to (hopefully). There are investors to keep updated, who will want to know when the company is going to grow. There are people to hire. It can feel like you are drowning in possibility.

In the midst of all of that, we neglect this one thing at our peril.

Read more

Blogging again after a long hiatus

It has been a long time since I wrote on this blog. Roughly 10% of the world’s population wasn’t even alive yet when I last posted - that’s sobering!

Read more