In my entry reviewing Dave Graeber’s Bullshit Jobs, I noted that Graeber suggests that at least some software developers are in the perverse position of being paid to do “bullshit” integration work while doing the “real” work developing open source software in their spare time. While this hasn’t been my experience, the most recent edition of IEEE Software has Gregorio Robles and colleagues stating that “in the programmer community, OSS [open source software] has become so prevalent that some companies now expect potential employees to have an active GitHub profile that showcases their OSS contributions.”
Some quick research into how true this might be turned up an article from Dave Fecak saying that the practice is dying. Fecak, in turn, cites an older (2013) article in which Ashe Dryden sets out a number of criticisms of the practice, ranging from fairly obvious problems like overlooking software developers who have worked on proprietary code to more subtle problems like software developers from wealthy backgrounds typically having more time to work on open source projects than developers from poorer backgrounds.
Neither Robles and colleagues nor Fecak refer to any particular figures to support their contention so I can’t say how prevalent the practice is. But however widely used it might or might not be, or even how desirable it might be, it does speak to how lifelong learning is to be paid for (or, in this case, to be found time for). As some of the comments quoted by Dryden say, if you’re required to work on open source software in order to get a job, then it seems to be a kind of work of its own. But if you’re not getting paid to do said work, where do you find the time and money to do it?
If software developers—or anyone else—are expected to be developing their skills outside of their day jobs, there needs to be some mechanism by which they can find the time and money to do it. Public education is one way of doing this: educating people at public expense means that employers can expect to find a pool of people with some base level of skills (though in software development, at least, many employers are looking for more, in the form of endless job ads looking for 2-3 years experience in whatever technology is used in the employing company). But one can also imagine training leave paid for out of a superannuation-like system, or simply shortening the working week on the understanding that workers use the extra non-working time as training time (or maybe advocates of GitHub profiles suppose that this is what evenings and weekends are for). Other approaches might be possible.
I’ll leave the design of a fully-fledged continuous training and development system for another day, and possibly another person since I don’t have much power to implement such a thing myself. In the meantime, though, I’ll make my choices about whether and how to make contributions to open source based on how my interests intersect with what I perceive the need to be.