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]


11 comments ↓
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…
(Oh, and that’s with Fog Creek Software. The first internship/apprentice team wrote CoPilot.com in a summer.)
We offer a 3 month intern program that is like an apprenticeship - read all about it here: http://www.freshview.com/intern/
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.
If there aren’t many out there have you considered running one yourself Rob?
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.
@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.
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.
Open source works for this. There are several of us who have obtained nice careers by receiving mentoring during open source project.
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
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
Leave a Comment