4 ms·
I just started a software development apprenticeship at my company and it's going amazingly. Recruitment for other development positions generally cost $1000+ a
by thomaskcr 12y ago
I just started a software development apprenticeship at my company and it's going amazingly. Recruitment for other development positions generally cost $1000+ and really didn't give us anyone impressive (our good candidates/people came from active recruiting). I used ad-words for $120 and indeed for $40 and got over 100 applications for my development apprenticeship.
We chose people with skills and experience we wanted, and selected for traits we felt would make good developers. (Passionate about learning for example). From the start we've been able to really teach good habits as well as focus on how we do things (testing, continuous integration, version control, etc). Some of the exercises involve rebuilding key components from management systems with the hopes we'll have not only great programmers, but experts on our business when they go from apprentices to full time developers. We're also going to get exactly the employees we want, starting from desirable employees with very little to no programming experience.
If anyone is interested in starting a similar program, I will be more than happy to share my materials, some of the things I would change about what I've done so far, etc. I highly recommend it. The cost is relatively low, we balance the pay with the fact that the people instructing can't do work while they're teaching/helping - so during the apprenticeship it's basically a decently paid internship. They're already producing higher quality work than we've gotten from any outsourcing we've done - we'll be finishing a project by the end of the program that we completely controlled the quality of, got an MVP done pretty inexpensively, and we'll have basically custom built the team for that application. All while teaching the group an entirely new career, I've seen what investing in career growth via continuing studies can do for employee retention, I really think that taking it to this level will give us some great retention numbers in the near future as well.
- barry-cotter 12y agoWould you consider writing something in more detail on your programme, whether as a comment or as a post on your company/personal blog? I was talking to an App Academy graduate recently. She did it in New York about two years ago, and made the actual programme sound a disaster. She thought the success was more due to only letting good people in than teaching well. The mentor was never there and the two tutors who were had graduated from the previous cycle; some of the people doing App Academy had more experience. How long does your apprenticeship last? How much does it pay? How is it structured? Bootcamp style or intern style? Applicant pool versus actual apprentices?
- thomaskcr 12y agoThat does sound like a disaster. I try to spend at least 6 hours a day directly available (working in the same room as them) even if they're just working on problem sets. I really love programming, and I want everyone else to love it too - so I worked really hard before starting this to make sure it was successful. I spent a lot of time with a few different teachers I hired to give feedback on my lectures, teaching method, etc. I'm trying to constantly evaluate what is working and what isn't. My biggest failure so far was the talk I was most excited for. I put together a talk that went from doing math with voltages, to building logic gates with resistors/diodes, to building adders with logic gates, to building a register and then a really small CPU, then doing some basic assembly operations using those available items, and then showing the higher level function that was comprised of those instructions. I've always wondered how 1s and 0s can do all of this stuff, so going from the bottom up (simplified heavily) was something I thought others would enjoy hearing as much as I enjoyed writing. I really underestimated the amount of assumed knowledge I put into this talk and I had never given it before so it was greeted with confusion. I've got some more talks I'm excited for I've actually tested out with my teacher coaches though who didn't know how to program. One of my favorites coming up is "comparative anatomy of programming languages". I told them to budget for 4 months, we're blasting through it pretty fast though. Pays $14/hr for projects that are for the company. So if I give a talk or they're in the office just working on a problem set, then that's not paid. But they have their apprenticeship project that will be delivered as part of the program, all of that is paid, and then any incidental projects (I may see if someone is around this weekend and wants to write some code that was really easy to abstract from something I'm working on for example). Any grey area goes their way -- for example company meetings they get paid for, or we have company training classes weekly that they've been going to and that's paid. I basically start every morning answering questions, then I give a talk of some type and a problem set. Problem sets are basically designed to make them better at googling and reading documentation -- I don't introduce every concept, but I try to give a broad overview and then if something is confusing or frustrating I'll go into more detail. Usually just being around to answer questions is enough. I've discovered presentation mode in pycharm and phpstorm so that has been great for coming up with random problems and just walking through my problem solving process including my google queries. Got 100+ applications (stopped counting after a while), I really wanted candidates so good I felt bad denying some of the others and that is basically what happened. I've got a really solid group of 4. Hope that answers some of your questions, I really do want to write up everything though and share it -- including my notes, problem sets, etc. It's just about finding the time!
- djb_hackernews 12y agoThis sounds great but without the formal concept of an apprenticeship like the Germans have I'm not sure how I see it working out for you in the long term. Given current market forces your interns will leave you in 4-6 months. At that point you will have spent the most resources in training them up and not reaped the benefit of cheap labor. In Germany, apprenticeships last for over 2 years, with your employer responsible for your schooling (which the SC program is doing), in coordination with the unions and the government. It's a system of checks and balances. You can't go out and get work unless you finish your apprenticeship. Finishing your apprenticeship is cultural as well. I'd definitely like to hear more about your program and what you are doing to address turnover.
- thomaskcr 12y agoHaving them sign something was brought up a few times, in the end I decided against even seeing if it was an option. (I'm not even sure it's possible). Its a smaller group of apprentices, before the program started I talked to each one about salary expectations for them after the program and then also about how I'm investing a lot of my time into them, so I'm hoping they do the right thing and pay that forward. In the end, if someone doesn't want to be there then I think forcing them to stay is worse than talking to them about why and then how we can make it a smooth transition for both of us. Plus, I'm super proud of what I've built here. If they left, I'm pretty confident they'll make a future manager happy. I'm working hard to create confident problem solvers -- so it's not really the worst thing for my ego if they do awesome somewhere else. As long as I retain a few over the next 5 years, I'll be happy. So basically, we have some really interesting problems we're working on, the company is a pretty nice place to be, I don't want people being here against their will and business karma (I know if I can't keep them all I won't screw them over with no notice, hoping that comes back to me). The cheap labor thing ends when they become full time -- my goal is to get them to full time as fast as possible since the goal of the program is to produce full time programmers. By that time, they're being paid what we would hire a dev for -- the biggest benefit is easier to find developers, we know exactly what we're getting, and most have other skills/experience that add more value to the team.