5 ms·
In South Carolina, a Program That Makes Apprenticeships Work
- sq1020 12y agoApprenticeships give people more viable skills than probably 75% of majors at four year universities. The fact is that you have an enormous glut of college graduates who studied sociology, political science, and communication who can't find work in anything related to what they studied so they end up working at a tech company doing customer service, doing a nursing program, working as bartenders, or as we all know learning how to program.
- deleted 12y ago[deleted]
- oddevan 12y agoAs a born-and-raised-and-still-living-here South Carolinian, it's always nice to see "positive" coverage of my state. Speaking to the article itself, I can't imagine having gone through one of these instead of college; I was too set in the college mindset at the time and still treasure the experience (though I'm well aware of its shortcomings). On the other hand, any sort of "learn on the job" scenario would have been TREMENDOUSLY welcome a year and a half ago when I was suddenly without work and struggling to break out of the ".NET Programmer" label. Keeping this sort of option open to everyone can only be a good thing.
- thomaskcr 12y agoI 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!