Wired says "The Next Big Blue-Collar Job Is Coding." Guess what? It already is; we should encourage it.
Clive Thompson in Wired argues for considering programming the Next Big Thing in vocational training:
“Politicians routinely bemoan the loss of good blue-collar jobs [...] that [are] correctly seen as a pillar of civil middle-class society. And it may yet be again. What if the next big blue-collar job category is already here—and it’s programming? What if we regarded code not as a high-stakes, sexy affair, but the equivalent of skilled work at a Chrysler plant? Among other things, it would change training for programming jobs—and who gets encouraged to pursue them.”
I've been managing software projects for 20+ years. I've seen college hires change from your clichéd programmer, with middling to deep knowledge of the full hardware and software stack, to journeymen coders that know their layer of specialization well enough to pump out working solutions.
Which is good. Not everybody is interested in understanding seminumerical algorithms, and there aren't many dev teams that need programming language design skills. This is truer in the case of software maintenance roles, as pointed out by Thompson.
It's also great social-mobility-wise: While training to be a programmer obviously does not turn new IT workers into the next Zuckerberg, it is a fairly good entry point into the middle and upper-middle class. I see this with both the local and offshore devs I've managed and mentored.
“[T]eachers and businesses would spend less time urging kids to do expensive four-year computer--science degrees and instead introduce more code at the vocational level in high school. You could learn how to do it at a community college [...]”
Let me push this farther along: Stop asking, or even expecting, a four-year CS degree for non-senior developer roles.
I increasingly see less correlation between having the skills needed for solution architecture design and having a four-year CompSci degree. When looking for senior developer candidates I always quiz them on their knowledge of operating system design, parallel algorithms, network programming and event-driven patterns. Nine times out of ten, they have no real knowledge, even if their college curriculum ostensively had it covered. Furthermore, those nine usually have no interest or insight into how to use that knowledge to design solutions that may not obviously be related to those general patterns, for example, a UX designer with no event-driven pattern or distributed computing knowledge.
Every software project needs a real systems architect[*] to design the solution. Most software projects with four or more devs don't need half or more of them to have deep design skills to deliver solid, working, tested code.
So stop asking your candidates to have computer science skills when practical coding and teamwork skills are enough. Hopefully this will encourage kids and re-hires to stop wasting money and effort on four-year degrees that aren't giving them systems engineering skills, and also encourage those that really want those skills to actively seek them.
I'm all for having small, tight, rockstar dev teams, but I think that a blue-collar, journeyman approach is 1) more realistic, and 2) better for the educational system, and society as a whole.
What are your thoughts?
[*] I have strong opinions on the abuse of the “architect” label, more on that on a later post. I used to have a lot of fun writing for IT magazines and business sections of newspapers. You'll see more of me here now that I've had a taste of how much I missed it.
Co-Founder | Implementor | Solution Doctor | Baniya Budhi l Zoho Consultant | Books | People |
7 年Purushothaman TR
Mechanical Designer at Main Line Engineering Associates
7 年I disagree that 'programming' is a blue collar job or becoming one. You need more than just skills to create programs. You need methods and problem solving skills. If there is math involved, you need mathematics. It's more than just plugging in code and having it run. You need to debug, etc. Each of these things needs to be taught.
“Do or do not. There is no try.”
7 年I've started learning Python for fun :)
Career Educator
7 年The people in the cubicles could not do what they do without the miners or similar