5 ms·
For developers that have the academics, but not the experience, I've always said that the industry needs to adopt the apprenticeship programs that other trades
by michaelchisari 12y ago
For developers that have the academics, but not the experience, I've always said that the industry needs to adopt the apprenticeship programs that other trades have. Where you do a mixture of work for the company, and trade schooling run by the industry to teach you the specific skills you need.
For example, an IBEW apprentice will do a lot of gruntwork on the job site. Pulling wire, for instance. But they'll get exposed to how things are done, to trade industry expectations, and what a project looks like from start to end. Part of the week, they spend in a classroom learning the specifics of their trade. Not just the high level theory, but the nitty gritty, based on real world applications and problems. This apprenticeship lasts from 2-5 years depending.
I don't see why this model wouldn't work really well with programming.
- porpoisemonkey 12y agoApprenticeship requires a constant stream of mentors. I'm not sure there is an ample supply of professional programmers who would be interested in taking on the responsibility of mentoring in addition to their full-time jobs.
- smoe 12y agoIt really depends what those professionals are used to. I did an Apprenticeship as Software Developer in Switzerland. That is, 1 year of school followed by 3 years alternating between the company and the school. So once you start at the company you already have a viable amount of knowledge in programming, databases, networking, etc and supposed to be able to work on your own. You don't get constant mentoring at the company, but can ask one of the developers or fellow apprentices when you're stuck with one of the tasks you get assigned. Or for example, any time a developer had a small task that he felt, I couldn't do by myself, or it was too time critical he just asked me to sit beside him and watch, listen and take notes while he did the work. How it works is different in any company but the outcome should be the same: real world experience on real projects with real clients and their time/budget constraints. That means, once your finished and a professional yourself, it isn't a question of interest but a completely normal thing to help out the apprentices. Because that's how you got to the point where you are.
- aianus 12y agoWhat would the programming equivalent of pulling wire be?
- michaelchisari 12y agoTechnical support.
- click170 12y agoThis. We may laugh, but starting in technical support gives you an idea of how your users are using your product, if your documentation is accurate and helpful, what the pain points for people not in the department you are destined for are, and gives you an idea of how the product works. It also quickly weeds out the people who can't effectively communicate before they get to the programming team.
- davidgerard 12y agoWe've been rotating the sysadmins through customer service. Not taking calls (our CS calls tend to be long and detailed, and a n00b isn't going to help), but being there for the CS people. It's been marvellously instructive. It also cheers the CS people that someone cares. Now we need to get the devs doing the same.
- UrMomReadsHN 12y agoThat exists, its called a co-op. I couldn't graduate without doing x months of co-op.
- walshemj 12y agoWhen did block release training or work experience start getting called co-op given that in various areas of the world a coop co-op means a cooperative like Mondragon. I have only seen it (co-op) used in the last few years.
- UrMomReadsHN 12y agoWell I finished school longer than a few years ago and cooperative education (co-op for short) has been around since the early 20th century. http://www.ceiainc.org/history http://www.ceiainc.org/history http://en.wikipedia.org/wiki/Cooperative_education http://en.wikipedia.org/wiki/Cooperative_education