Sunday, June 10, 2018

A Problem With Side Projects

I see a lot of people on Twitter talking about how, when the tech industry requires side projects, it disadvantages people who don't have free time to devote to side projects, and that those people are typically poorer people, and/or people from under-represented minority groups. In other words, the emphasis on side projects reinforces pre-existing imbalances.

This is legit, but there are really only two ways to keep your skills current: training, or independent study. Which basically means supervised side projects, or unsupervised side projects.

You might be able to do some of this at work. I'm doing a semi-supervised side project at work right now, writing a transpiler we need, and one of my co-workers is doing semi-supervised side projects too, exploring animations in React Native. You could arguably define both of these projects as paid independent study, but we are both cishet white men who got to the point of being able to do paid independent study by first doing unpaid independent study. So it's not exactly a solution.

I think the real problem is that we apply 20th-century mass production thinking to a form of work where it just doesn't fit.

The 20th-century model worked like this: you go to college, emerge with a degree, take a job with one company, work there, retire, and die. But this model only works if your degree sets you up with all the knowledge you need for the rest of your career, or if the process of acquiring additional knowledge is relatively quick and low-effort. This model has notoriously been a failure from day one for lawyers, who, like developers, need to stay up to date as laws and legal precedents change, and who, like developers, need their understandings of those laws and legal precedents to be precise and error-free.

The 20th-century model handled this gap by saying "well, lawyers have to work harder than everybody else, but that's fine, they get paid more too." That "they get paid more" part isn't really even true any more, except for the absolute cream of the crop (or just the luckiest lawyers), and it was never a good solution. Lawyers were and are notoriously overworked for their entire careers because of this flaw in the 20th-century model.

As developers, we either need to take downtime between jobs to learn new things, or we need to study outside of our working hours (including building side projects). Otherwise, you end up writing Fortran while all the good jobs are hiring for Rust and Kotlin.

Fast forward a few decades, and we may find that society has adapted by making it normal to only work 30 hours a week, and have 10 "working" hours for ongoing study. Or we may find that the current situation, where gaps in a resume are considered a red flag, gets reversed. "I don't see any gaps in your resume. How did you stay current without taking breaks to learn new things? Are your skills up to date?"

Getting societies to adapt to new working paradigms is not an easy process, but it's worth the effort.