1. 27

This is part of the 7th chapter of the book Bullshit Jobs by David Graeber. It’s a bit out of context, but before he was talking about how sometimes the salary is inverse proporcional to how useful to society or how much you want to do the job.

This excerpt comes from an audio version of the book.

Software Engineering work was divided between the interesting and challenge work of developing core technologies and the tedious labor of applying duck tape to allow different core technologies to work together because the design never bothered to think about the compatibility.

His main point though was that increasingly Open Source means that all the real and engaging tasks are done for free. Pablo: where 2 decades ago companies dismissed open source software and developed core technologies in-house, nowadays companies rely heavily on open source and employ software developers almost entirely to apply duck tape on core technologies they get for free. In the end you can see people doing non gratifying duck tape work during office hours, and doing gratifying work in core technologies during the night.

This leads to an interesting vicious circle. Given that people choose to work on core technologies for free, no company is investing on those technologies. The under investments means that the core technologies are often unfinished, lacking quality, have a lot of rough edges, bugs, etc. That in turn create needs for duck tape and thus proliferation of duck taping jobs.

Paradoxically, the more software engineers collaborate online to do free creatively labor, simply for the love of doing it, as a gift to humanity, the less incentive they have to make them compatible with other such software, and the more those same engineers will have to be employed in their day jobs fixing the damage. Doing the sort of maintenance work that no one would be willing to do for free. He concludes: Pablo: my guess is that we are going to see the same dynamics in other industries as well. E.g. If people are willing to write news articles for free, nobody would pay professional journalists. Instead the money would be redirected to the PR and advertisement industries. Eventually the quality of news will decrease because of the lack of funding.

One could argue that this is already begun to happen as fewer and fewer newspaper and news services employ actual reporters. My purpose here though is not to unravel the complex and often arcane labor arrangements that grow out of this ethos, but simply to document the existence of this ethos itself. Attitudes toward labor who have changed. Why? How have some many humans reached the point where they accept that even miserable, unnecessary work is actually morally superior to no work at all. Here we must consider the history of changing ideas about work itself.

  1.  

  2. 17

    I love Graber and highly recommend Debt: The First 5,000 Years. I haven’t read this new book, but I have read the original article about Bullshit jobs with the same title (I think it was originally published in the Sydney Morning Herald; or at least syndicated there).

    I know this quote is out of context and it seems like he’s interviewing someone else, but just addressing this quote there are a lot of things wrong here. First, most of the big open source components we use today are not made in people’s free time as side projects as they once were, nor are they unfunded. IBM, Intel, Redhat (I guess IBM again now), Google, Facebook all pour tons of money into some OSS projects. The Linux kernel has a ton of contributions from people who are paid full time by the big giants to work on this stuff. Things like React come straight out of Facebook labs.

    In the 90s/2000s there were a lot of people in the FOSS community that thought we’d see open source overtake end-user applications. There were dreams that Gimp would one day be on par with Photoshop, that Inkscape would be as good as Illustrator and that you’d see at least 3 ~ 5 people in every coffee shop running some type of Linux desktop (with Ubuntu making the biggest strides at the time in improving end user desktop experience).

    Today this is not the case. Almost all FOSS is middleware. End applications are mostly on the web or in mobile apps, entirely closed yet leveraging a lot of OSS technology. I guess in that sense the duct tape analogies above hold true.

    Yes there are still several truly side, labour-of-love OSS projects, funded only by Patron, Librepay or not at all. People were surprised that openssl was just one or two people when those bugs came out a few years back. The recent npm issue also has people talking about maintainership.

    I think the above quote is just one specific aspect of some FOSS, but not all of it and certainly not the majority people use. I wrote my own post on this a while back: https://penguindreams.org/blog/the-philosophy-of-open-source-in-community-and-enterprise-software/

    1. 6

      Agree, I like Graber’s work in general but he seems to have been a little too eager to select open source as a supporting example for his thesis. If what he says in the quote were true we should expect open source quality to decline over time – it seems evident that that is not the overall trend.

      E.g. If people are willing to write news articles for free, nobody would pay professional journalists

      My guess is that there are many people who would do journalism for free if they could afford to, but they’re wrapped up in content generation or other tangential jobs that don’t afford them the spare time/money that is available to many programming practitioners. Also, culturally, journalism is one of many professions that promote the idea of “suffer through K years of grunt work and then you can do what you want”, which isn’t as dominant in the younger field of software.

      1. 3

        we should expect open source quality to decline over time – it seems evident that that is not the overall trend.

        Are you a web developer, perchance? I’d argue that that’s exactly what we’re seeing.

        1. 6

          I occasionally do / have-done web development. I’m not sure which timescale you’re thinking of, but open source software has gotten much better in the fifteen years I’ve been developing professionally, in every area I can think of. Sure, there’s plenty of crap out there (more than ever), but there always has been. Where are you seeing a trend of declining quality?

          1. 1

            This may be a good example of declining quality of open source, it’s a testimony about a dev who create some npm packages that got a lot of dependants and don’t want to maintain it any more.

            In this thread I reached the GNU philosophy about Selling Free Software. I’m starting to read more about the subject, but I didn’t know that the free part of the free software is about freedom not price.

            1. 1

              BTW, how to write FOSS and charge for it? I may take some time to get the answer from reading.

          2. 5

            I’m not sure what I think of this.

            In the short time I’ve worked with open source (2012-now), it has changed a lot. Many open source users staunchly support the corporatization of open source, where they insist that only tech by $MEGACORPS should be used. The social side of open source feels like it is trying to overtake the technical side, where it becomes vitally important that one has the correct $CURRENT_POLITICAL_VIEW rather than a good project. Bandwagon-hopping is rewarded over truly novel technical approaches; many ecosystems seem happy to simply ape other ecosystems entirely, all the way down to punning off the name. The proliferation of libraries/frameworks seems to need more software to manage it, and open source is happy to feed this desire for more things instead of questioning why we need more complexity and computational resources to do similar tasks as before. Finally, the culture penalizes stable libraries with lower churn rates because it takes a consumerist view whereby libraries should be updated constantly with shiny new features, rather than just work and stay out of the way.

            In short, open source may have won the hearts of mainstream developers now, but it is a Faustian bargain that brings in optimization for local maxima, careerism, and corporatism.

            Please tell me if I’m full of it. I’ve enjoyed working in open source for most of this time, I’m uncertain if I want to continue. To clarify, I don’t think it is all bad at all, there is a lot of activity and interest in it now. I’m just not sure if I want to put the time into this side of things anymore; I find it hard to identify with the current zeitgeist and what open source has evolved into.

            1. 2

              many ecosystems seem happy to simply ape other ecosystems entirely, all the way down to punning off the name

              This at least is nothing new. Consider “Groovy on Grails”, or even “GNU’s Not UNIX”.

              There are plenty of things wrong with open source development and a lot of things that need to be improved – I think all your points are correct. I just don’t think one can point to unpaid open source development as a cause of poor software quality the way the original quote does.

            2. 2

              different values, so different results. Web development in the past 5 years have made more progress on easy-to-code UIs than the previous 20 years. Typescript got us to gradual typing that “works” in many projects, with the flexibility needed for the kind of projects people are building. I dislike rails, but I see people build stuff in a day in rails that take the Java people weeks.

              Ideally cross-polination can mean that we can get some rigor into stuff, but it’s obviously tough. Still miles better than “yeah just download this zip file from a random mirror and check it in, also go in and edit 20 flags to get it to work on your machine”.

            3. 1

              Graeber’s book is open my eyes for the bullshit work that a lot of people do. It’s hard to say that all his arguments are right and his data is consistent, but is definitely hard to say that bullshit jobs doesn’t exist.

              What I’m starting to think now is in a good framework for work (weird words to put together). You suggested that easier for a programmer (than a journalist) to have spare money and time to program for free, maybe I should invest on it. But if my profession is to program, why should I do it for free?

              1. 2

                But if my profession is to program, why should I do it for free?

                I wasn’t suggesting that anyone should, just noting that they do.

                The quote above says people are employed in their day jobs “fixing the damage” done by uncompensated OSS devs, which seems false, but possibly uncompensated OSS work is a sort of pressure-release for creativity and talent untapped by “bullshit jobs”

          3. 8

            The book is also distributed in the Anarchist Library

            1. 2

              So the excerpt is the middle of chapter 6 not 7.

              1. 0

                Is that copyright infringement?

                1. 2

                  Something tells me that Anarchists would neither know nor care.

                  1. 0

                    Perhaps, I guess the bit I didn’t ask was “is it okay to link to potentially copyright-infringing content in a Lobsters comment?”. I couldn’t find anywhere that the author (or the publisher) have said that this kind of distribution is okay, but that doesn’t mean they didn’t.

                    1. 1
                      1. 1

                        Worst case is we get a take-down notice followed by a Lobsters policy on that stuff. If we err too much on caution, then SciHub is off limits here as well. That’s why I never brought any of it up here.

                        1. 1

                          I’m going to suspect that it’s probably against the rules unless it is somehow legal.

                  2. 7

                    I’d chime in in at least partial support of this observation.

                    You can’t do core fundamental work (usually) during the day unless you want your company to claim it. You probably can’t sell it at night for similar reasons. You also can’t make good progress duct-taping things together during the day in your career because we as an industry don’t reward that (at least in every startup I’ve seen and worked at)–so, your Golden Ticket is to ship stuff for free in the evening and blog about it and present it and use it to lever yourself forward in your career as a thought leader.

                    The side-effect of this, of course, is that it creates more work and learning for everybody else, instead of creating additional leisure time. It’s a Red Queen’s Race.

                    I’d honestly trade longer compiler times or occasionally wrong dynamic typing for a chance to come home to my family earlier. I’d trade callback hell for having to learn yet another async/promises library instead of going out drinking. I’d sure as hell write web servers in C or assmebly if it doubled my salary.

                    I have yet to meet a monadic interpretation of business logic so compelling it has gotten me laid. Nor an Elixir library. Nor yet-another JS data-binding framework. Nor an Elm input library. Nor a virtual DOM library. Learning more ORMs hasn’t increased my dating or my money back.

                    Instead, I have to keep playing either “What’s the framework this week?” or “How do I keep the codebase boring and the shiny out so we can go home early while everybody hates me for being stodgy?”

                    1. 4

                      Given that people choose to work on core technologies for free, no company is investing on those technologies. The under investments means that the core technologies are often unfinished, lacking quality, have a lot of rough edges, bugs, etc.

                      I would say that invested open source projects (Using Patreon, Liberapay, Open Collective…) are getting more common over time. That prevents “duck tape” from companies that use those projects.

                      Also, companies are not that used to pick Open Source solutions and ducktape them, imho. They’re more used to do their own thing when the absolutely perfect open solution doesn’t exist.

                      When there’s no time, companies will mostly do a bad job, doesn’t care if they make their own solution or patch an existing, open source one.

                      1. 3

                        No company is investing in core technologies

                        Does the author have an idea about core computer science literature? Tensorflow came out of Google, for instance. It’s pretty strange to say that “no company” is investing in core technologies. You could say that industry research is of a worse quality than university research, but the author is trying to make a much broader point, I think, on what would seem to be very little evidence.

                        The less incentive they have to make them compatible with other such software

                        Is the implication that free software is less portable than non-free software? If anything, free software paves the way for non-free software to inter-operate with other non-free software. Again, I don’t really understand where this comment is coming from.

                        How have so many humans reached the point where they accept that even miserable, unnecessary work is actually morally superior to no work at all

                        Well, 1) because people need to eat 2) because people are generally poor at knowing what work is useful or necessary. If everybody knew to any useful degree how to direct their own time, nobody would want managers and a lot more firms would have flat org structures.

                        1. 1

                          How have so many humans reached the point where they accept that even miserable, unnecessary work is actually morally superior to no work at all

                          Well, 1) because people need to eat ..

                          Maybe is easy to answer in this extremes cases, when people are not starving or are not accumulating a lot of money it gets hard to answer. What would prefer between this 2 options: Hire someone to do a bullshit job or; pay someone and them this person can eat and do anything she wants?

                        2. 2

                          Is this meant to be a transcript of the audio version of the book? Or is this someone’s paraphrasing of the book?

                          I’m reading it trying to figure out why it’s in the third person and to whom it refers when saying “His main point ….” and “He concludes”. Is this a note-taker ascribing these comments to Graeber? Or is this Graeber referring to someone else?

                          1. 3

                            He is quoting someone working in IT who was disgruntled with his work. A lot of the book actually consists of such testimony, rather than hard data. So yeah, this is some random bloke opinion, which found its way into a published book.

                            That being said, I do believe this a point worth discussing. It kind of sound like Alex Papadimoulis idea that programming will always be boring in a job context http://thedailywtf.com/articles/Programming-Sucks!-Or-At-Least%2c-It-Ought-To-

                            1. 3

                              I think the book and the article you shared is helping me realize some realities about the industry and the point that I wanted to discuss is exactly this: how to enjoy work. For me to enjoy my job is definitely not about the money and this can make things harder.

                              By what Graeber says is not common to classify software development as a bullshit job, but there’s in fact a lot of software development bullshit going on. If it’s not because you’re duct taping software together, maybe is because you are producing today the bugs that you will fix tomorrow, maybe because the marketing is promising unnecessary features, maybe because clients are demanding unnecessary features or maybe because the business is not providing any value to society at all.

                              Ignorance is a bliss: probably I would be very happy staying in my meaningless job for 10 years fixing the same bugs and earning my money, but as I believe what I’m doing is bullshit I don’t actually have another option, I need to keep looking for a meaningful job.

                              1. 1

                                I haven’t read the book, but the author has stated that in order for a job to be a Bullshit Job:

                                if the job, or even the whole industry, were to vanish, either it would make no difference to anyone, or the world might even be a slightly better place. [0]

                                That doesn’t mean that a glue-code programming job isn’t crushingly boring or soul destroying, but it might mean that it doesn’t count as Bullshit.

                                IME the worst kind of glue-code programming jobs tend to be gluing together non-free applications such as CRMs and email marketing or sales systems. At least if you’re working with free / open source software and it doesn’t meet your need in some way, your employer may pay you to fix it upstream.

                                [0] https://www.economist.com/open-future/2018/06/29/bullshit-jobs-and-the-yoke-of-managerial-feudalism

                          2. 1

                            This has certainly been my professional experience, but I think it is by necessity going to be most people’s professional experience simply because there are always going to be more jobs gluing core technologies together than there are going to be jobs working directly on core technology: not every business whose product needs a database is going to implement its own database. This is a good thing.

                            1. 1

                              Given that people choose to work on core technologies for free, no company is investing on those technologies. […] the core technologies are often unfinished, […] That in turn create needs for duck tape and thus proliferation of duck taping jobs.

                              What can I say? Excellent analysis.

                              1. 1

                                Paradoxically, the more software engineers collaborate online to do free creatively labor, simply for the love of doing it, as a gift to humanity, the less incentive they have to make them compatible with other such software, and the more those same engineers will have to be employed in their day jobs fixing the damage

                                Gross mischaracterization in my experience. Part of my job is to submit bug reports to open source projects for issues my employer encounters using various open source products. When my employer’s interests are sufficiently aligned, I allocate some of my working hours to add pull requests along with those bug reports. Naturally I do plenty of duct taping the rest of the day, but that’s not “bullshit,” any more than it’s “bullshit” for assembly line workers to put together parts they didn’t cast out of molten steel themselves.

                                Meanwhile, those OSS participants I collaborate with do have an incentive to make their product more compatible with my duct taping and with other products because that is part of what makes their products better. That is in fact part of what they do as a labor of love. (Unless they’re on the clock, that is.)

                                TLDR: Graeber isn’t looking very closely at how this stuff works.

                                1. 0

                                  Is this actually true in your opinion? This is what we want? What could be a more desirable and still valid situation?

                                  1. 4

                                    I don’t think core technologies are lacking because people work on them for free. They’re lacking because too many corporations are working on them. That’s where the duct tape flows from.

                                    Every time I see e.g. a vendor kernel (with their own drivers), I see a world of unfinished work, rough edges, bugs, inability to operate with upstream, and generally terrible quality. Some of that may turn to good quality upstreamable code thanks to labour of love.

                                    1. 0

                                      Yes that’s my understanding as well. If you strictly stay within the GPL space you can see that while things may be very opinionated, they are rarely “duct-taped”.