Does Anyone Know of a Real Software Apprenticeship?

A Software by Rob reader writes:

Today, after typing in “learning .net through apprenticeship” into my Live search bar, I was pleased to see as the number 1 hit: Software Training Sucks: Why We Need to Roll it Back 1,000 Years … .  As I read the article, I found myself nodding in agreement and wishing for a solution. You see, as a programmer who hasn’t done what I would consider real programming since back in the BASIC and COBOL days, I’ve been struggling trying to pull myself up by my bootstraps learning C# by meticulously going through books and online material

I am right now in a position where I’ve made a commitment to stop what I’m doing to devote full time to learning a new programming model and I chose .NET over the LAMP stack. Since publishing your article, have you heard of anyone who has gotten creative with apprenticing new programmers?

A very interesting apprenticeship model I’ve encountered in the past few years, albeit in another industry, is one in the entertainment industry. My daughter had an aptitude for audio recording and, through research, found a company out in L.A. that does recording apprenticeships. She was chosen as an apprentice and within 10 months they were pleased with her work and hired her full-time as an assistant engineer.

Is there any reason in your opinion that such a model (or something close to it) could not work apprenticing .NET developers?

I haven’t heard of any real apprenticeship programs for .NET developers. I think it would be an excellent model for improving development skills, building morale, etc… but it would take a very special company, probably one run by a software developer, to even consider such a thing.

Has anyone heard of such a company? [Consider this permission to shamelessly plug your company]

Update:

I was recently contacted by a company in the UK offering a real software apprenticeship program. Details are below:

e-skills UK (an industry body for IT skills) is piloting a Software & Web Developer Apprenticeship in the UK, working with Microsoft and QA (a training company). Ten IT companies of all different shapes and sizes will be recruiting 20 apprentices, who will receive a 12 month structured apprenticeship programme. This starts with a 4 week programming boot camp, with 5 further weeks of technical training, on topics such as Data Modelling and Software Testing and, dotted throughout the year.

The key is that the apprentices will be working for the rest of the time, learning their trade as developers from the technical mentors in their companies, but also being productive employees. The pilot will be focusing on C# and the.NET framework, and the apprentices will be aged between 16 and 20, using this as an alternative route to going straight to college/university.

To get in touch, email ben.sweetman@e-skills.com or follow him on twitter @bensweetman.

Start Small, Get Big
Growth Secrets for Self-Funded Startups. It'll Change Your Life.
What you get for signing up:
  • A 170-page ebook collecting my best startup articles from the past 5 years
  • Previously unpublished startup-related screencasts
  • Exclusive revenue-growing techniques I don't publish on this blog
"The ideas and information Rob provides should be required reading for anyone that wants to create a successful business on the web." ~ Jeff Lewis
Startups for the Rest of Us...
If you're trying to grow your startup you've come to the right place. I'm a serial web entrepreneur here to share what I've learned in my 11 years as a self-funded startup founder. Luckily several thousand people have decided to stick around and join the conversation.

For more on why you should read this blog, go here.

12 comments ↓

#1 Karl Katzke on 07.29.08 at 9:41 pm

Joel on Software’s Joel Spolsky offers at least one internship/apprenticeship every summer. Competition is fierce to get into the program, but it’s the most thorough one I’ve heard of and people who go through it successfully usually do end up getting hired after college…

#2 Karl Katzke on 07.29.08 at 9:41 pm

(Oh, and that’s with Fog Creek Software. The first internship/apprentice team wrote CoPilot.com in a summer.)

#3 Ben Richardson on 07.29.08 at 11:40 pm

We offer a 3 month intern program that is like an apprenticeship – read all about it here: http://www.freshview.com/intern/

#4 Oolis on 07.30.08 at 2:21 am

Pretty standard here in Germany, almost all computer science students have to do a period of apprenticeship as part of their degree.

Although I would be suspicious of a .net specific one. Software developers should be taught fundamental concepts that are independent of any specific technologies. Those sorts of decisions are best left to the team itself on a per project basis. Although an ALT.net environment would be appealing…

I guess in other countries hiring a graduate assumes some training would be required so is probably equivalent to an apprenticeship in practical terms.

#5 Dan W on 07.30.08 at 7:40 am

If there aren’t many out there have you considered running one yourself Rob?

#6 MM on 07.30.08 at 8:50 am

Internships are great & I don’t dispute their usefulness, but I wouldn’t consider them the same as an apprenticeship — no matter how intense they may be.

#7 Rob on 07.30.08 at 8:51 am

@Dan – I’ve actually done this three times. The first time the person decided they didn’t want to be a programmer after all. Family commitments (and personal choice) lead them to leave the field and return to their former career in sales.

The second time was while working for a former employer, and I mentored a smart, young developer. We both learned a lot from the relationship and it was quite successful. If I recall, this was the original inspiration for the apprenticeship article.

The third time was a “remote” attempt, which meant an hour+ on the phone each day. If you do mentor someone at some point…don’t do it from afar 🙂

I do hope to return to mentoring one day.

#8 Mark M on 07.30.08 at 9:21 am

I think part of the problem with doing a true apprenticeship (learning is the focus) and not an internship (building is the focus) is that you need to have a teacher of some kind to teach the apprentice.

How many current software developers are good teachers who could do this, how many of that set would be willing to do this, and how many companies would be willing to let a developer play the teacher role? In a world driven by short term goals, it takes a very long term view to support an apprenticeship. For these reasons, this is why I think we see very few true apprenticeships.

I think to reverse this, it would take the action of some third party, either the universities mandate an apprenticeship, the government mandates it, or the ACM pushes strongly for it.

#9 Matt Hinze on 07.30.08 at 2:17 pm

Open source works for this. There are several of us who have obtained nice careers by receiving mentoring during open source project.

#10 Samuel Neff on 07.30.08 at 4:18 pm

I wouldn’t call it an apprenticeship exactly, but we usually look for applicants based on their own personal history and not specifically to match their technical skills to our most immediate needs. We often hire, and generally even prefer, developers that do not have experience in the specific technologies we use but instead are generally interested in technology or development and show an aptitude for learning. Once hired we work intensely with new developers on learning our specific technologies (C#, Adobe Flex, C++/H.265/RTSP) and hope to teach them to be the best developer than can be. We follow this up with lots of backing including one-on-one guidance, internal group discussions and presentations, lots of books and conferences. Any techie geeks interested into getting into development or developers interested in switching technologies, feel free to contact us for openings. careers,blinemedical,com.

Sam

#11 Günther Noack on 08.25.08 at 2:56 pm

Oolis,

regarding the state of apprenticeships in Germany; Being close to graduating with a diploma, I haven’t seen any opportunity to do something like that (*excluding internships*) as part of your curriculum here yet. Judging by the minimum level of software development expertise needed to graduate here, I would have to disagree with your opinion that companies don’t need to train fresh graduates. From what I’ve heard and seen, this is common practice in Germany (, just like anywhere else in this world).

Best regards,
Günther

#12 Kevin Taylor on 12.22.10 at 6:00 pm

You can apply for a real software apprentice position at Obtiva in Chicago and Denver:
http://obtiva.com

We’ve had 8+ apprentices graduate out of our program since 2007.