Comment by austin-cheney

Comment by austin-cheney 3 days ago

13 replies

This is exactly what the market predicted. AI to replace full stack developers, and it will overwhelmingly succeed.

There are two reasons why this is predictable with high confidence. None of the more accurate predictions rest upon the trendiness of AI, but instead are vested in the current capabilities of the people primed for replacement and prior employment trends.

Reason 1. Most, certainly not all, full stack developers are paid far too much for what they deliver. Over the past year I have been seeing many interview referrals for just under $200k even though I live in a very low cost of living area of the US. I have turned all of these down despite currently making far less. The high compensation is not enough to make up for working in a team that has no hope deliver to expectations (more on that in the second point) and is hostile to radical change.

Reason 2. Prior employment trends suggest that many employers prioritize hiring and candidate compatibility over ability to deliver. Its a valid business decision that makes sense in the short term, but results in catastrophic debt over the long term. You have to understand that developers are a cost center and not sales people. This means they cost money and do not generate profit, so it makes sense to lower the costs of acquiring these people as much as possible.

Starting about a year or two after I started doing full time JavaScript programming in the corporate space employers started looking at solutions to turn developers into commodities because they were spending too much on hiring with disappointing results. I can remember the entire industry trying to do this on both the front end and back end, but the movement received far less penetration on the back end, which was more entrenched. It received overwhelming success on the front end with tool suites like prototype.js and YUI before jQuery formed a dominating cult of personality. Then once Node got popular and the browsers got faster those front end libraries were largely replaced by large MVC frameworks like Angular and React.

Before the strong focus on external tool libraries JavaScript developers had to do it all themselves. At that time the browsers were too slow for things like Photopea, but the first large browser apps were already rolling out. These were some really excellent developers, but it was really hard to find people who could perform at that level, and of course the pay was ridiculously low. Moving to these external libraries really opened up hiring to people who could not perform otherwise, and that really lowered the cost of candidate selection. Unfortunately, these external libraries were generally slow and sometimes broke when they were just expected to work, but now you had an entire work force that could not live without them.

Reliance upon external tools to keep your job creates insecurity. It limits the availability of design options to what a given set of tools allow, and developer's first priority at work is to retain employment. That insecurity grows over time as applications grow larger, solution delivery slows, developers get further and further more reliant upon solutions in conflict with the desires of the business's profit generators. Its why a lot of people I have talked to over the past year moved on to other things and refuse to go back despite the far higher compensation.

pookha 3 days ago

I agree with this. Businesses aren't big on spending for overhead and that's exactly how software and R&D gets taxed in 2024. If you spend 200k on software and only break even you get taxed on 200k (meaning you're fucked).

https://leyton.com/us/insights/articles/senate-blocks-tax-re...

This tool may be the solution for businesses struggling with 174...Replace developers with calculus and machine learning.

shaiansvdid 2 days ago

> You have to understand that developers are a cost center and not sales people

What definition of cost center are you using? If a developer makes a widget that generates my company more money, they’re not a cost center.

> Starting about a year or two after I started doing full time JavaScript programming in the corporate space employers started looking at solutions to turn developers into commodities because they were spending too much on hiring with disappointing results

This has been the case in tech since…forever? What can be automated is, with the end result being more tech work for a broader market. If the market is finally at capacity (or AI is capable of doing everything a human dev does, but then most white collar jobs are gone) then dev jobs are gone. Otherwise, it’s just new tools that enable more work to get done.

Cyberdog 2 days ago

That you think full-stack developers such as myself are routinely earning "just under $200k" (but please feel free to reach out to me if you need an experienced dev and think that's a fair price to pay) yet "cost money and do not generate profit" seems to speak of a skewed perspective and/or experience, I think. I mean, if that were true, then what would be the point in hiring a web developer in the first place? Some sort of weird nepotistic makework scheme? Again, if that's your perspective…

In my world, clients come to me with a web site and a problem (or no web site and the problem of "I don't have a web site"), we agree on contract terms, and I solve their problem. If I do a good job at it (and I want to do a good job at it, because solving problems and making clients happy feels good while failing at that feels really bad), the client finds value in my work and they will come back to me the next time they have another problem that needs solving. It's that simple. Nobody's hiring me because of "candidate compatibility" and then throwing a bunch of money at me to do nothing.

At least in the short term, I'm not too worried about AI taking my job, because, as stated elsewhere, it's not yet good enough to do more than the least complex of tasks, and as one tries to get it to do more complex things, the odds that it will hit a brick wall due to a bug it can't code its way around or a creative understanding it can't unravel increase - so these sorts of tools might actually end up creating more work for more experienced professionals like myself (although I don't necessarily look forward to the days where I'm regularly being hired to unravel a plate of ChatGPT spaghetti). But even more than that, I feel like a good deal of the value I provide is in being able to talk to a client about what they want the site to do, how it will earn them money, and foresee potential problems or offer better solutions based on my experience - to answer questions that they didn't think to ask, and ask questions of my own to make sure we're on the same page on things. A client just giving me a description of what they want built followed by me just building it? That never happens. There's always discussion and back-and-forth to nail down details and make sure the site is as good as it possibly can be. So long as clients see the value in that, and until AI can do that sort of thing, I'm not sweating it.

  • austin-cheney 2 days ago

    The only purpose of software is automation, which is elimination of labor. Eliminating labor reduces expenses. While that is certainly valuable as it contributes toward profit it is not sales. Sales make money.

    As a general rule profit is 10% of revenue and revenue is 10% of sales. Sales are the money paid by outside parties. Revenue is money left over after spending associated with sale acquisitions, for example after: marketing, merchandising, and advertising. Profit is money left over after accounting for internal expenses.

    As such software never directly contributes toward sales unless software is a product directly sold to an outside party. The developers responsible for that software are virtually never responsible for sales generation even when that software product is directly sold to outside parties. The exception occurs when developers introduce a solution to a business problem into that software product and that solution becomes a direct point of merchandising.

    As for the current capabilities of AI the LLM approach does not seem capable of writing original software. Most full stack developers are not writing original software though. The LLMs are already writing superior output with use of large frameworks to the extent that they can generate more efficient products and write the documentation sufficient to teach humans the approach to these large frameworks. Whether you should be worried then becomes a consideration of your employer’s perception of software authorship.

    • Cyberdog 2 days ago

      I take incredible exception to what you are saying. What you are saying might be broadly correct for software as a whole, but not at all for web sites; most commercial web sites exist to drive sales, through advertising and promotion of products for sale if not actually selling the products. The largest client I've had for the past six years or so is a web site that makes revenue through advertising and subscription/premium account sales, so improving the site such that it draws in visitors, entices them to stick around and view ads, and encourages them towards ponying up for a premium account for access to more features is the motivation behind everything I do on it. Everything I do on that site is for the purpose of generating revenue. Another site I'm currently building is just a straight-up e-commerce site for specialized products. One I worked on in the past was a credit provider that specialized in loans for medical professionals and encouraged them to take on loans which in turn made the company profit in the form of interest. One major project I worked on early in my career was for a local newspaper that sold advertising and newspaper subscriptions. I could go on.

      As for "original software," how are you defining that? Is software only original if it doesn't use any pre-existing frameworks? Okay, is it all right if I use a pre-existing programming language with a pre-existing standard library, or do I need to build my own? Is it all right if I host on a pre-existing VPS provider, or do I need to start my own hosting company? Can I host in pre-existing datacenters or do I need to build my own? Can I use pre-existing server hardware, or… At the end of the day all programmers who are getting anything practical done are using pre-existing tools at some level to solve their problems, often building new tools along the way. If I use the right tools for the job, build what my client wants, and keep end user experience in mind as much as possible (and I always do), then what's the problem?

      Are you actually a web developer? Are you not passionate about it?

      • austin-cheney 2 days ago

        I was a full time JavaScript developer for 15 years. I still write personal software, but the corporate world killed my spirit for doing this for employment. I blame the exceptionally high insecurity of my prior developer peers, the extraordinary lengths businesses will go to in order to avoid correcting for that, and the diminishing expectations that follow. I will not go back to that. My own bias though is irrelevant to my comments here though as the identified trends and business terms apply the same irrespective of any such bias. Its all about the numbers.

        As for advertising that is what's considered transactional revenue, or revenue generated upon the traffic from some other unrelated engagement. Nobody goes looking for advertisements intentionally. They just happen to appear on a site a user visits and eyeballs on that site thus generate revenue in consideration of some contracted term.

        Transactional revenue is interesting because it generally has very low associated expenses which all associated revenue is far more closer aligned to profit. It is also insidious in that it tends to get in the way of what users actually want and will over time tank an associated product/brand unless the product/brand is so compelling that it drives substantial repeat traffic. That is the fundamental distinction between media and e-commerce. In media they can throw as many advertisements at you as they want because repeat traffic is deterministic and you are the product. With e-commerce, on the other hand, there exists actual products users must purchase. That purchase process is called conversion and over time advertisements erode the frequency of conversion. As conversion tanks over time users have less reason to access the associated website and so then advertising revenue also tanks.

        With regards to sales and revenue developers still have no role in that relationship even in respective to advertisements and transactional revenue. Sales are literally money paid by an outside party directly to your business. Transactional revenue is indirect so it does not qualify as a sale. Even if it did quality the sales people are the ones negotiating the corresponding contracts and revenue terms, which is still not the developer.

        I once wrote an advertising pop under for Travelocity from the homepage. The change in presence increased ad click-through impressions upon that placement from 0.3% to approx 14% at approximately 1.1 million page impressions per day. That is a massive revenue boost, but the customers hated it. Part of the massive traffic increase was change of visibility and part of it was content intentionally shifting low quality traffic off site. Stuff like that really killed the business.

        • meiraleal 2 days ago

          > Its all about the numbers.

          It is all about the numbers you like, it seems. Developers sell too, a good % of successful software is created and marketed by a single person. It seems like you can't or couldn't sell while developing. Your achievement was to be a cost center for 15 years and it shaped your vision of the whole profession.

umussetu 3 days ago

although there is a lot of truth in your analysis I think developers don't just output code but "think"/solve problems. And problem solving is not a common skills , it's interesting to see what non-technical people VS developers prompt on marblism. Like you would be surprised how many people struggle with the concept of an if condition.

So developers are definitely not dead but will be empowered by the new tools and maybe their work will shift from solving problems+writing code to only solving problems.

  • austin-cheney 3 days ago

    Perhaps, but this isn't about non-developers or developers in general. This is targeting "full stack" developers, the overwhelming majority of which cannot write original software. If a tool provides a business the ability to replace a developer that cannot solve problems on their own, without some tech stack and colossal framework, it pays for itself immediately. That's why it is inevitable.

    • jimkoen 3 days ago

      > the overwhelming majority of which cannot write original software

      Usually a client or employer does not want write original software. I can code in C++/Rust/$LANGUAGE and am able to write you a high performance backend for some very specific, custom use case, but in 99% of the cases that isn't necessary because the underlying business is either 1) too generic or small to need something like this or 2) doesn't want the hassle of having to maintain something in-house.

      Most companies that hire typical web/full stack devs value speed over anything else for the nth crud app they churn out. But I also don't see the value in these companies either.

      • austin-cheney 3 days ago

        In my 15 years of doing that work most of the time employers couldn't tell if a solution were original or not unless it was something they specifically requested. Even then most of the original work was in context of original content messaging, user interaction, and the measurements there of.

        Where employers in the past really cared is in the speed of delivery. Typically speed of delivery was faster using a framework solution only if the exact solution were already written and available as an extension. In absolutely every other case software originally written in house was always faster to deliver back to the business. This is because with original software the developers are not limited by prior existing conventions. It always comes down to the prior experience and confidence of a given set of developers.

        The business knows this before assigning the tasks to the development team, and that awareness (more than anything else) determines the opportunities for developers to identify their own speed of delivery. Most development teams are entirely unaware of just how thoroughly their performance is measured from a business perspective. That should be painfully obvious, because developers only cost money, and those costs go straight to the bottom line.

    • shaiansvdid 2 days ago

      > This is targeting "full stack" developers, the overwhelming majority of which cannot write original software

      Does this mean they just copy paste solutions? Otherwise I’m not sure how they’re writing anything but (albeit it might be very similar to code written at some other point in time, but do that often enough and you turn into an AWS service).

      • austin-cheney 2 days ago

        Have you even written an original essay, article, or research thesis? Those thoughts are entirely of your creation or finding from evidence as well as the organization thereof. Original software is no different in that you are writing both the solutions and the architecture.

        It sounds like this originality should be slow and of great challenge. It isn’t. With practice the words just appear in the correct order as fast as they are typed.

        In the overwhelming majority of full stack jobs that level of originality does not exist. Most of these jobs, and the developers filling them, are utterly reliant upon large tool sets of prior formulated architectures. These large frameworks rob the developers of the practice necessary to become faster in their solution delivery and cripple their ability to consider answers of their own design.

        As an example consider state management. That is an astonishingly simple problem to solve, essentially saving a result of modification for later artifact generation. With these large frameworks, however, the solution becomes a complex science to compensate for modularity considerations introduced by the frameworks that do not otherwise exist. For developers that have never written an original application without one of these large frameworks the simplicity of the solution is almost impossible to fathom, thus resulting in solutions of complexity outside their control and no ability for consideration of alternatives.