Live data from Hacker News

The Failed Commodification of Technical Work

ludic.mataroa.blog

131–140 of 210 posts

Re: The Failed Commodification of Technical Work

#131
OP is correct when a business decides against standardization.

> For example, one pitch in particular was for a product which promised to remove the need for me to write SQL in exchange for being able to set up all my dependencies from a drag-and-drop editor, with the sales pitch consisting of "You can get rid of thousands of lines of all that SQL you hate!" - no I can't, fucko, because your application is still connecting to Postgres so it's just writing the SQL for me with another layer of licensed abstraction on top of it. Why would I pay to have more abstractions designed for you to sell software to multiple clients, you blue-suited dementor? Eight times out of ten, I want to pay you to remove them from my codebase.

See, the problem is that you can't fully remove the original SQL. It's still there, in the code. The database is still there. So instead of having one interface to access the database - SQL - now you have two, the low-level SQL and this bastardized abstraction. Some of your employees will write SQL, and some other of your employees will use the abstraction. They use different tools, so the tools will fall out of sync, and the employees will fall out of sync, and you'll get discord.

Pick one tool. As far as it's technically feasible, pick one database, one programming language, one UI framework, one wiki vendor, one CRM, one ops visualization framework that is right for the business. Don't pick up some fad-of-the-day, and don't let your "artisan" engineers do "research" projects to see whether some other framework might suit their needs "better". Tell your engineers, here's the business problem, here's the pre-existing stack, solve the problem with the already-existing and already-supported tools. If the engineers are truly artisans - guess what, an artisan doesn't blame his tools. Pick new tools only slowly, deliberately, when you have no other choice, and only with a solid plan for standardizing the tool for full adoption across the enterprise.

Why? Because high-performing organizations ensure that they are always building upon prior work. Five engineers with five years' experience with React will be a stronger team - more productive, faster, more accurate at forecasting, have an easier time reviewing and supporting each others' code - than will John with 5 years React experience, Sally with 5 years Vue experience, Wang with 5 years Svelte experience, Cynthia with 5 years Angular experience, and Ilya with 5 years jQuery experience. If Ilya gets hit by a bus? The other engineers will have difficulty picking up the load. Not much of that React, Vue, Svelte, Angular experience will help with supporting the jQuery parts of the codebase.

Commodification requires a standard. We appreciate the value of standards when we succeed at establishing them - tabs vs. spaces, Docker containers, infrastructure providers, project management tooling - because they eliminate discussions that do not revolve around the more fundamental question of how to deliver value to users. Shouldn't you ask yourself, if you're evaluating a new language, tool, or framework, whether you really benefit from breaking the company standard?

Re: The Failed Commodification of Technical Work

#132

I think he’s right. The tech industry has been trying to commodify devs for a long time (COBOL, Java). But there’s a sort of essential quality that reasserts itself no matter what you abstract. Despite the seemingly simple requirements paired with high level frameworks, a lot of our software still doesn’t even work well. As the author notes. The only real fix is talented devs that care. You can make a career out of t…

Devs even try to commodify devs!

I cannot count the number of times that developers have gotten outright giddy when an opportunity for self-commodification comes up usually under the guise of self-taylorization.

> I would adore it if the doctors and nurses in my life didn't constantly lament the stream of indignities that their single-neuron administrators heap upon them with each new proprietary system.

It's funny - the medical industry is precisely the counter-example I use when the auto-commodification discussion arises. There's two emotional appeals it makes. Patients hate it when they have to bounce from doctor to doctor. They understand that commodification comes with some degree of increased specialization[1] and that each hand-off represents an additional failure point[2].

The second appeal is simply one of status and being able to fashion one's work style in a more high-status form. I lead with the first, and let the second read as subtext and it usually works. Workers tend to maintain more generalization and rely on each other for consults rather than handoffs.

1. assembly lines are sequenced specializations

2. See handoff errors w.r.t. medical resident work hours

Re: The Failed Commodification of Technical Work

#133

I agree that the full commodification of technical work is a bad idea and will, hopefully, continue to fail. However, having read the Phoenix Project twice and hating most of Scrum, I disagree that’s what the Phoenix Project is advocating for. My main takeaways from the PP are: 1. Have clear systems in place to carry out and manage your repeatable work, automate where possible 2. Minimise the time work is in progress…

yeah I learned of the Phoenix Project as the 'why' behind doing the orange DevOps handbook 'how' when our company was hit with the DevOps wave. Continuous Learning + automation + instrumentation are many of the tools that let you do the 1-5 in your post.

Saying it is only to "work harder to get more work done faster" is not what I took away from TPP.

Re: The Failed Commodification of Technical Work

#134
Doing some project lit. review a few years back, I came upon the area of component-based software engineering (CBSE), where the idea was to mirror the same kind of manufacturing approach as in electronics. You'd write a software component to do one thing, and have well defined inputs and outputs, and you could then "simply" compose complex systems by chaining lots of these software components together.

Nice idea by maybe software engineering wasn't/isn't that formulaic as more well-established engineering disciplines.

Re: The Failed Commodification of Technical Work

#135

Doing some project lit. review a few years back, I came upon the area of component-based software engineering (CBSE), where the idea was to mirror the same kind of manufacturing approach as in electronics. You'd write a software component to do one thing, and have well defined inputs and outputs, and you could then "simply" compose complex systems by chaining lots of these software components together. Nice idea by m…

Congratulations you've reinvented the concept of a library.

Re: The Failed Commodification of Technical Work

#136
post #48

I agree that the full commodification of technical work is a bad idea and will, hopefully, continue to fail. However, having read the Phoenix Project twice and hating most of Scrum, I disagree that’s what the Phoenix Project is advocating for. My main takeaways from the PP are: 1. Have clear systems in place to carry out and manage your repeatable work, automate where possible 2. Minimise the time work is in progress…

> hating most of Scrum I'll just say that if you look at Scrum itself there is really nothing objectionable to it. https://scrumguides.org/scrum-guide.html It's the other shit people pack on top of calling it Scrum that usually sucks ass. I've found the best way to fight back against shitty-Scrum is not to fight it, but actually feign puritanical allegiance to the actual doctrine, it's much less repulsive. I makes yo…

The naming of the time blocks as "Sprints" is objectionable. Let me just _sprint_ 20 times back to back in a year, year on year for my whole career!

Re: The Failed Commodification of Technical Work

#137
post #3

I think - and it's only a think - that the author has ignored that a large part of what used to be called technical work is now commodified. I remember when a mail merge literally meant printing out lots of address labels and then manually sticking them onto a letter & envelope. Word 2.0 (?) solved that problem for the 1990s and MailChimp has commodified it for the 21st century. Double-entry book-keeping was technica…

I wonder if there's a term for Amdahl's law but applied to human processes. Like the other side of "law of diminishing returns".

Re: The Failed Commodification of Technical Work

#138
1) developers are not fungible. 2) things that are created are not the same , otherwise it would just be reused. 3) to understand how to build on the system you must learn the domain it is built on, which is also not fungible knowledge.

You are fundamentally building items , not reproducing them in software. A factory reproduces the same items.

There is a crisis in industry where legal contracts and business forecasts do not align with what is reasonable and predictable for software development .

Re: The Failed Commodification of Technical Work

#139

Earlier quoted context omitted.

> ask the right question Exactly right. As a UI developer, I guess I had always assumed having close contact with end users and domain experts. Nothing I could articulate. It's just how things were done. Then I served in a QA Manager role for a while. Naive me started out focusing on the QC & Test parts. Eventually I figured out most of the value add comes from the Quality Assurance parts. Formalizing some of the stu…

> The Agile Manifesto cult swept aside all that silly formalism. "Too heavy!" The Agile Manifesto puts close contact with the end users and domain experts as a fundamental principle (actually two principles, out of four). I do think you have the wrong culprit on your mind.

Agreed. When devs, QA, and other doers have a direct line to customers, there's no problem. In my personal experience.

That arrangement has been rare. More common is gatekeeping and incompetence. (Which may be the same thing.)

--

I've never figured out how to do "agile" QA/QC/Test. I'd don't even know what it'd look like. And, yes, my prior experiences and expectations may be keeping from seeing the new paradigm. Which is why I keep asking.

The best candidate I've read about is "Test Into Prod". But I have not yet done that strategy in real life. Soon (fingers crossed).

Oh, and "bug bashes", are pretty great. Where everyone examines logs together and either explains or eliminates exceptions. That needs to be the norm.

Re: The Failed Commodification of Technical Work

#140
post #75

In the McDonalds analogy, developers are not the teenagers working at the machines, we're the engineers that designed the machines. In the McDonalds analogy, the computer is the teenager. Programming isn't work, it's meta work, you come up with a list of instructions once, and then the computer does the work 24/7 indefinitely. Meanwhile you go on to write another set of instructions for something else. If you ever wr…

You hit on the fundamental assumption of calling IT a factory, and why that’s invalid. IT is not a factory, it builds factories. I believe a lot of developer/management conflict stems from a lack of terms for what we call manager . A McDonald’s manager supervises employees to ensure they’re following a process that produces a product. Failure to adhere to the process is obvious, the process is assumed to be valid as…

I think this is great insight. It reflects why I often feel like I'm having to be the product and program manager as well. Even though I'm not, so often ideas on what could be improved, what could be done better, how to do things better can only come from the programmers, because the people whose title is manager are too removed from the actual management of the machines that are the ones executing the process that yields actual outcomes.
Post reply on HN