8 ms·
Code has always been the easy part
- LEDThereBeLight 8mo agoAI reduces the thinking time, too. And most of my time is spent either thinking or coding.
- throwaway613746 8mo ago[dead]
- Jgrubb 8mo ago...to the person who knows how to code.
- anonzzzies 8mo agoYeah, exactly. Most employed programmers I ever met in the past decades actually cannot code and really really struggled (not anymore with AI) to do anything. And yet, usually because of a degree of some crap college, they have a job as something they cannot actually do.
- __float 8mo agoErr, what do you mean they cannot do anything? Where are you meeting these programmers??
- anonzzzies 8mo agoLarge (non software) enterprises. Mostly. Government departments. That type of thing. Like I said in another thread; have a wander with me over to Shell, Barclays and stuff like that; entire bags of (many outsourcing/external) 'programmers' who don't know how variables or loops work.
- Aqueous 8mo agoIf it was the easy part, then why did they pay us hundreds of thousands, sometimes millions, sometimes more - to do it? The fact of the matter is that it wasn't easy, not for a brain that's architected the way a human's is. The fact that computers can now do it much more quickly and arguably - in many cases - better doesn't diminish the act itself - it just shows how far AI has come, and how easily human intelligence will be dwarfed as it continues to make progress.
- echelon 8mo agoFolks have little appreciation for how soon we're all about to transition to something new. I don't know what that entails, but something is going to happen. I got into a discussion with some Rust compiler folks yesterday. I called Rust the "final human language we'll serialize our thoughts to": it's easy to write for LLMs, is super type safe, ergonomic, easy for humans to read and reason about, and has really nice deploy characteristics - single binary, no GC, bare metal, etc. If Python and Rust are equivalently easy to emit, you'll probably choose Rust if you're not bound to other choices. People quipped back that this was absurd and that Rust is built for decades of future human use, that this kind of talk would put people off of Rust, and that they need to think of the future. As if anything will be human in the coming decades. Programming languages were punch cards.
- 9rx 8mo ago> super type safe Maybe if you're willing to write insanity like this: struct Zero; struct Succ<N>(N); trait Add<Rhs> { type Output; } impl<M> Add<M> for Zero { type Output = M; } impl<N, M> Add<M> for Succ<N> where N: Add<M> { type Output = Succ<<N as Add<M>>::Output>; } But even then it doesn't really work all that well for any practical use and you'll quickly hit a bunch of other roadblocks if you were to actually try to use it. You're pushing Rust to go well beyond what it is designed for. If we're being honest, in the real world you're going to write something like this instead: fn add(a: u32, b: u32) -> u32 { a + b } But then you give up the type safety. So it's not really a type safe language in any meaningful sense. Certainly not compared to languages that are designed to be actually type safe. If your only point of comparison is Javascript, then sure, Rust looks pretty super type safe in comparison to that, but in the grand scheme of things it's not type safe. If it is just as easy to emit a language that is type safe, why Rust?
- mikert89 8mo agoI strongly believe that this is a false and outdated take. Code being the easy part was predicated on how long it took to build a product, and the impact that had on product management, sales, and marketing. When the time to build collapses, all product/sales/design/martketing mistakes are forgiven. You can pivot so fast, that mistakes in other domains dont matter as much and are reversible All of the axioms we previously held true need to be rethought
- denkmoon 8mo agodon't worry that we got the wrong requirements from the customer, chose an impossible deadline, priced it wrong, and there's no market, we can just vibe code our way out of it??
- tylerrobinson 8mo agoThe point is that even in case of total product management failure, the cost of failing is much lower both in time and money.
- denkmoon 8mo agoI don't see it. In my experience with AI/Claude so far, building something with AI then changing direction half way through is a great way to generate garbage structure and garbage code. It takes time to dig yourself out of that hole, possibly more than if you had just slowly built by hand from the beginning all. Maybe I'm holding it wrong.
- tayo42 8mo agoIf you switch directions with hand crafted code you have a mess too and a large amount of tedious refactoring work to do. Which should be perfect work for Ai.
- habinero 8mo agoIt might make failure faster, but that doesn't mean it's cheaper. Users will churn quick if you aren't reliable or useful and a security incident can be company-ending for a startup.
- adamnemecek 8mo agoDid consider that your view might be skewed because you work in a CRUD app?
- deleted 8mo ago[deleted]
- citizenpaul 8mo agoI do and always will belive this phrase to be wage suppression propaganda. I think the proof is self evident. ie salaries. I guess we just hallucinated leet code too.
- danielvaughn 8mo agoIt's very obviously not "the easy part", it's definitely hard. It's just not the only hard part. And there may be other parts that are harder in some sense.
- habinero 8mo agoHonestly, it really is the easy part of the job. Really truly. It's difficult when you're first learning but there are definitely much harder skills to learn.
- carlossouza 8mo agoWhat's easy for some might be truly hard for others.
- smrtinsert 8mo agoThe people for whom I've seen "coding is the hard part" are typically promoted out of the way or fired. They never entered a flow like those who considered it easy and addictive. The latter are the pillars of the eng team.
- habinero 8mo agoSure; but I'm not humblebragging at how talented at coding I am. I'm good at it because I have a lot of practice and experience, but I'm hardly the best. It's the easiest part because the hard parts of the job are everything else -- you're a knowledge worker so people look to you to make decisions and figure it out. You figure it out and make it work for whatever "it" happens to be.
- lelanthran 8mo ago> It's the easiest part because the hard parts of the job are everything else -- you're a knowledge worker so people look to you to make decisions and figure it out. You figure it out and make it work for whatever "it" happens to be. If you thought coding was easy, wait till you see the competition for knowledge workers. You're in a spot now where the part that made you valuable (implementing business rules in software) can now be done by virtually anyone. Doing all the non-coding parts (or, as you put it, "the hard parts") can now be done by almost any white collar worker.
- galaxyLogic 8mo agoIt's a bit like saying "Writing English was always the easy part" vs. writing a book that becomes a best-seller or classic.
- motoxpro 8mo agoI think thats a great analogy. There are a lot more people who can dictate a story page by page to a "writing machine" and create a 300 page book than there are who can write a 300 page book of a the same quality without a writing machine. Same with coding. Most programmers, and writers, are average. They are not doing amazing work. They get paid 80-120k, same as the HR professional, or the account manager. Creating average work was always relatively easy for writing and coding and is now relatively easy for everyone.
- jama211 8mo agoCorrect! I’d go further and say typing is the easy part of writing a book, and I absolutely agree with that
- g-technology 8mo agoLike saying putting paint on a brush and wiping it on paper is the easy part of painting. Even with coding agents, there is still a need to understand what it’s doing, how it will interact with other systems, where bugs or edge cases will show up and many other aspects that become security risks when ignored by someone that YOLO’s their vibe coded app into production
- jama211 8mo agoThere’s a need for something to understand those things, but from a user perspective it doesn’t matter if that’s a human or an LLM. Besides, loads of software that’s human written has people maintaining it that don’t understand what it’s doing or how it interacts with other systems or where bugs or edge cases will show up etc etc too. In fact I’d say most software is like this. LLM’s probably make less security holes than humans at this point.
- xnx 8mo agoI can only assume so many people are repeating this as "cope".
- jama211 8mo agoOr perhaps you are the one who is “coping”? Ask yourself honestly, is this genie ever going back in the bottle? If not, you’re gonna have to find a way to come to terms with it my dude.
- lelanthran 8mo ago>> I can only assume so many people are repeating this as "cope". > Or perhaps you are the one who is “coping”? > Ask yourself honestly, is this genie ever going back in the bottle? If not, you’re gonna have to find a way to come to terms with it my dude. I think you misunderstand the GP: The developers writing this, or similar things, are seemingly unable to understand that they'll be un/under-employed along with everyone who is anti-AI, and this is their coping mechanism. After all, if you don't need coding knowledge to produce an application, and only need domain knowledge, you are now competing with 10x more people for the same job.
- jama211 8mo agoAnd I say good. Coding and application development being more accessible is a good thing. Technological advancement usually takes the form of taking something that used to be hard and socialised and making it easy and accessible. In the long run, this is a good thing.
- lelanthran 8mo ago> And I say good. Coding and application development being more accessible is a good thing. Technological advancement usually takes the form of taking something that used to be hard and socialised and making it easy and accessible. In the long run, this is a good thing. Maybe it is a good thing, but I don't think that that fact, regardless of veracity, is relevant to the coping argument, though. All the developers prattling on about how they are moving to a higher level of abstraction, or how they are moving to the more difficult parts of the process are ignoring that those parts traditionally paid less and that they are now competing with a larger pool of people who can provide that skill.
- hn_throwaway_99 8mo agoPrevious discussion from 2 weeks ago: https://news.ycombinator.com/item?id=46966753 https://news.ycombinator.com/item?id=46966753
- mcoliver 8mo agoCode was the easy part for people who wrote code day in day out with very strictly defined requirements. But even for someone like me that's been doing it for 30 years...new frameworks, languages, architectures, wiring up 3rd party apis, banging my head because I fat fingered something, greping debug logs, late nights, early mornings and lots of coffee. There were few times where I would call it "easy". I just ideated and built an app optimized for mobile and laptop, and deployed it globally in two hours and built a Roku companion app in a couple nights after the kids went to bed. I had never built a Roku app before and am pleased with the polish for something that went from an idea to launch in two hours. Yes I have 30 years of experience and there were still areas that were not easy but man it was fun. Writing the code, building and deploying product is easier than it was before by a huge margin. Skicamslive.con if you're wondering what I built. Feedback welcome
- jama211 8mo agoWell said. But, I understand what they meant, they meant from an organisation’s perspective. Either way, I’ve seen far too many people in HN who fear AI won’t write perfect code, forgetting half the code we wrote before was probably worse. I’ve also found joy again in building things, but I never fetishised the code myself anyway, I suppose I just wasn’t built that way, which might mean I was always biased to be like this.
- paxys 8mo agoSmall personal projects are really not comparable to professional software development in a corporate setting. In fact your example demonstrates what the article says. Yeah the LLM made coding easier, and probably reduced your shipping time from a few days to a few hours. Now - since you have solved the hardest problem and have all this valuable code - how long will it take you to turn your product into a business and generate enough money to support yourself? That's the hard part.
- lelanthran 8mo ago> Now - since you have solved the hardest problem and have all this valuable code - how long will it take you to turn your product into a business and generate enough money to support yourself? > That's the hard part. It's now even harder because SNR fell off a cliff. As the effort to produce a product approaches zero, the financial viability of that product goes to zero as well.
- tolerance 8mo agoI’m out of my element here. At least I’m speaking as an observer and not a participant of the programming language debates that I feel are less prevalent in communities like here than they are in the past. Ostensibly due to the raise of LLMs and debates about them taking up most of the programming discourse now. I wonder if someone with real experience/insight thinks that this claim is revisionist.
- Frannky 8mo agoI think what it means is that coding is difficult but predictable — in the sense that, you can solve it by throwing enough money at it. Figuring out what to build in a way that actually leads to product-market fit, on the other hand, is something you cannot solve just by throwing money at it. So in this frame, coding becomes 'the easy part' — not because it's truly easy, but because it can be solved relatively straightforwardly with resources
- straydusk 8mo agoLol. Lmao, even. Software developers have spent the last twenty years blabbing about how product management is useless and coding is the one true skill.
- Windchaser 8mo agoEh, in my experience, design has always been harder than coding. If I get my design right, the coding follows naturally and easily. Coding is hard when you're learning it. "How do I use templates in C++? How do I handle error checking in Python?" etc. But it's the most basic piece of software development.
- hnfong 8mo agoEvery time computers master a skill that was previously thought to require a lot of intelligence/knowledge/ingenuity, people suddenly claim that it wasn't that hard after all. - Non-trivial arithmetic - Puzzles involving combinatorics - Chess etc. etc.
- 8n4vidtmkvmk 8mo agoWhen was chess ever not hard? Afaik the best AIs can win now but even they aren't playing 'perfect' unloseable games.
- sakesun 8mo agoEasy or not, code is obviously a time-consuming part. Anything that can dramatically reduce the time surely have significant impact.
- PROTechThor 8mo agoAs a junior dev, it wasn't so easy for me :/
- jppope 8mo agoI've written these words multiple times here on HN, and have a draft blog by virtually the same title. I can't agree more with the sentiment, though I think theres some nuance the author is missing out on. Regardless, thank you for sharing.
- wewewedxfgdf 8mo agoWhat a strange thing to say. Code was never the easy part. If it was, then AI and LLMs would have been of no interest for coding. Self evidently wrong.
- SirensOfTitan 8mo agoThis meme is just cope at this point, and it’s frustrating to watch engineers pretend that it was actually the architecture that was hard or whatever. No author, this isn’t the same as SPAs and CI/CD. This isn’t just happy tools helping us focus on the business side. We’re devaluing all white collar work. The thing that keeps the US economy afloat. Even if this tech requires human oversight, why would companies keep you when they can hire someone overseas at 1/10th the cost and get to 80% of the productivity with AI. Anthropic just dropped their safety pledge. Do you think they’ll hesitate as they transfer wealth from workers to their shareholders? Please people. Stop being avoidant. Stop pretending it’s a meritocracy and you’re at the top. Stop pretending the one thing about the job AI can’t do is the job.
- deleted 8mo ago[deleted]
- bendmorris 8mo agoThis is a pretty defeatist take. Stop doing that, and start doing what instead?
- jama211 8mo agoThey’ve been able to hire someone from overseas for ages for 1/10th the cost, turns out there are other variables in play.
- SirensOfTitan 8mo agoIt's the combination of factors. AI augmentation makes offshoring much more viable.
- jama211 8mo agoI… don’t agree with this at all.The bottleneck of offshoring was always in the other parts of the job, not code generation. It was in communication and feedback, and product and customer needs.
- pts_ 8mo agoTrivializing code has reached an insufferable nadir. It is like saying math or medicine is the easy part, or cooking or carpentry. Often those who say it cannot code or read code, and are good at marketing, so they simply keep on promoting it and be dismissive of other work. Disillusioned to see it at the top of HN, and hand waving away methodical and substantial activities can only bode badly.
- Windchaser 8mo agoIt's akin to saying "swinging a hammer is the easy part of creating a building". Or "inserting a needle into a vein is the easy part of medicine". Both are somewhat true, and yet, I'll still be quite happy if we have AI that can do them. I'm certainly not trying to trivialize the progress that LLMs are making. I'm trying to be realistic, noting both the strengths and weaknesses of LLMs, and what that means for the fields they touch.
- jama211 8mo agoBrilliant. You can already see the HN users in here with emotional attachment issues who are sad because of the issues you talk about, and it’s causing them to bury their heads in the sand. It’s going to be a hard transition, but we can’t pretend it’s not happening, that won’t get us anywhere.
- 0xbadcafebee 8mo ago> and nobody got into it because programming in Perl was somehow aesthetically delightful. (The language is referred to as write only line noise for a reason) Today we call it "vibe coding" when people use an AI to write software without reading the code, or even learning how coding works. But people have been doing that for ages. Most "Perl programmers" back in the day never even attempted to learn the language, and often weren't software developers. But despite their horrible coding skills, the Perl worked anyway. And thus the language got a reputation for being hard to read, despite it being amazing that it worked at all. Perl is still far and away my favorite language. I get things done so much faster in it, and programs I wrote 25 years ago work perfectly today on the latest systems. (Maybe that's the problem? If it were a real language, it would've broken 5 different times by now! And then I get paid to fix it... I think I understand software engineering now...)
- roxolotl 8mo agoPeople are missing the forest through the trees. Producing code which implements business logic has always been easy. This has always been true, even decades ago. As of at the early 2000s you could have spent around a rather small amount of money and gotten an app written for you based off of your natural language description by someone in a developing country. But what you got was a big ball of mud. It might correctly implement your ideas, it might not. I know this because I’ve helped make take these big balls of mud and turn them into actual software. The hard part is long term maintenance. The hard part is retrofitting new features. The hardest part of all is not building a big ball of mud. Mythical Man Month is still an amazing read. 9 agents still cannot have a baby in 1 month because the problem has never been the speed at which we type.
- threethirtytwo 8mo agoThis article is a coping mechanism. What it's really saying is this: "The thing that LLMs are taking over is easy, we humans still have agency over the hard part." That's what he's trying to say, and I can tell you, this is not true. Programming was the hard part. That's why we got paid so much. It's the easy jobs that are immune to AI: Gardening, construction work, blue collar jobs,... etc. Mind you not easy in the sense that the work isn't hard, but easy in the sense that anyone can do it. Those are the jobs that are ironically safe.
- remuskaos 8mo agoAnyone can do construction, blue collar jobs? That hasn't been my experience with contractors.
- JodieBenitez 8mo agoI don't know about blue collar jobs but I sure know not everyone can do construction or gardening right. And it's hard to it right. I known, I tried. Anyways, "programming" is a broad concept. It can be very easy or very hard, generalization makes no sense.
- tayo42 8mo ago
- iainctduncan 8mo agoThe thing that makes me crazy about this article, others like it (and so many of the comments in response to them ) is the naive assumption that whatever the author is used to is always the case. It's just not. I've been a developer for 25+ years, and in technical diligence looking at companies getting investments for seven, and have done diligence on 100+ companies. It's ALL OVER THE PLACE. It depends on the product, the company, the team, the way the company is managed, the business domain, etc. For some companies, products, and teams.. the code absolutely is the hard part, and building that insanely sophisticated software is worth millions. I've seen scientific software that sold for millions of dollars per copy. For others, the code is essentially commodity plumbing around some operational knowledge of a domain that makes nice dough with minimal code complexity. I've also seen founders who were going to spend the rest of their days floating around the bahamas because they wrote the right PHP-ball-of-mud in the right domain at the right time, sigh. The world of software is vastly broader than the vast majority of programmers think. And there are a lot of very, very different ways to make money in it.
- JodieBenitez 8mo agoThank you !
- zjp 8mo agoI think it's better to say 'the artifact is not the product'. Code is actually very hard, because it is the act of formalizing vague problems. That's thinking. It can be separated from literally typing the code in, and some problems are solvable in so many isomorphic ways you might as well describe them to an LLM and let it pick one out of a hat (embarrassingly solved problems), but it's like saying "prose is the easy part".
- cryptonector 8mo agoYes, code has always been the easy part. LLMs produce it even more copiously, so it is ever easier now, and yes, that makes the bottlenecks worse: - communication between humans "what are we to build?" "what is the architecture?" "how shall we design this?" etc - architecture review - design review - code review - docs review - ... LLMs are also being used to: - understand what is possible - and how to achieve it - architect - design - review Only the communications part is an inherent bottleneck that we cannot completely fix with LLMs -- we're humans selling to humans, humans buying from humans, humans managing humans, humans trying to convince other humans. LLMs cannot make this part much more efficient than it already is. But even with that one constraint about human-to-human communications, LLMs are improving throughput: by writing better docs faster, by helping us get the gist faster (though using LLMs to read docs that could have prompts embedded is scary), and so on. Personally, where the communication burden is intense I don't think we'll see 10x, 5x, not even 25% efficiency improvements. But now consider projects where the communication burden is minimal as there is only one human -- personal projects, open source projects, that sort of thing. In those cases a 5x, even 10x efficiency improvement is not out of the question. Many projects have communications burdens that are not so intense that they can't experience 2x efficiency improvements. The challenge will lie in safely maximizing those improvements and doing it better than the competition.
- melevittfl 8mo agoI think what the author is saying is akin to that old joke about a broken machine that nobody at the company can fix. They bring in a high priced consultant who spends a few minutes looking at the machine, reaches in and pushes a switch and suddenly the machine starts working. When the manager gets the invoice, he calls the consultant demanding an explanation for why it cost so much. After all, the consultant only spent a few minutes looking and then flipped one switch. The consultant offered to send a more detailed invoice and the manager received one that said: - Flipping a switch: $1 - Knowing which switch to flip: $999 In other words, the writing of the code is like flipping the switch. It’s the rest of “coding” that’s difficult.
- ochronus 8mo agoThis discussion feels analogous to me to the age-old "we can do it fast now, and do it right later" tradeoff discussion, except now it's about knowledge, maintainability etc.. There are stages of companies and types of products where solution quality has a bigger buffer, some are more critical. We also know that in many places, once you shipped a crappy solution in a week, you've now set an expectation, and management will expect you do repeat that forever, not getting the time to actually fix/rearchitect when needed. We used to brush that off with the "we'll fix all of that once we've shipped", now we brush it off with "doesn't matter, AI can fix it later easily". This applies to knowledge about the code, domains and quality itself, too. To me, this is a reasonable tradeoff to discuss, and sticking to either extreme ("AI is cancer" and "AI is the silver bullet") feels silly. There's real risk here, and I do see a lot of seniors act like kids in the candy store. That speaks volumes to what AI really unlocks (cheap experimentation, for one!), but also warrants caution. Based on the data (not great quality tbh...) we have, the net speedup is more realistically around 5-10% of the total time of software engineers, and we're yet to see the cost of that speedup.
- ochronus 8mo agoOf course, this is still considering the current model of working. Which in itself is a question.
- sandos 8mo agoI as a "developer", I have probably used less than 10% of my time coding the last 15 or so years... I switched jobs to being a contractor in 2011, and after that it has been a downward slope towards less and less coding, and more of other things. Mostly validation and testing in various forms.
- SolubleSnake 8mo agoSome code has always been the easy part, similar to the way a lot of systems abstract the more complicated pieces of a software project away from you. I am not talking about the relationship between higher and lower level languages but rather the way in which certain large enterprise systems already made the code 'very' easy. For example, I have worked with SAP a lot...the largest ERP system in the world by some margin and I have used it's internally built tools that extend a small amount of developer functionality to the 'IT department developer' that gives a user with knowledge or .NET and SQL the chance to make little validations or do some bespoke data visualisations pretty quickly. This was trivially easy and pretty sure AI tools will make a developer redundant in this context because the documentation is good and there's a lot of it. Contrast eg hooking up a system like SAP to an unusual non-standard Ecommerce offering and you have a far more complex problem (that interestingly doesn't require huge amounts of code but does in fact take a long time because of lack of documentation and a certain amount of understanding required). I would also point to programming games, which I enjoy...compare using Unity with some C# scripts for making games, to building your own engine (which will pretty much become redundant soon anyway if it already isn't). AI is very good on the Unity stuff but I suspect would struggle with it's own engine for a specific game.