8 ms·
Do people seriously consider this the waning days of the craft? I don’t understand that. My view is that I am about to enter the quantum productivity period of
by happytiger 3y ago
Do people seriously consider this the waning days of the craft? I don’t understand that.
My view is that I am about to enter the quantum productivity period of coding.
I am incredibly excited about AI assistance on my coding tasks, because it improves not only what I’m writing, but also helps me to learn as I go. I have never had a better time writing software than I have in the last year.
I’ve been writing software for a few decades. But now I’m able to overcome places where I get stuck and have almost a coach available to help me understand the choices I’m making and make suggestions constantly. And not just wandering over to a fellow cuders desk to ask them about a problem I am facing, but actually give me some productive solutions that are actually inspirational to the outcome.
It’s amazing.
So why do people think that coding is coming to some kind of end? I don’t see any evidence that artificial intelligence coding assistants are about to replace coders, unless you… suck badly at building things, so what are people getting on about?
I feel like somebody came along and said, “foundations are now free, but you still get to build a house. But the foundations are free.”
I still have to build a house, and I get to build an entire house and architect it and design it and create it and socialize it and support it and advocate for it and explain it to people who don’t understand it but… I don’t have to build a foundation anymore so it’s easier.
Shoot me down. I’m not relating here at all.
- tangjurine 3y agoThe author isn't a professional programmer. He has a couple side projects and doesn't seem very good at coding.
- happytiger 3y agoThat’s interesting. I think there’s a real shift going on in terms of what coding actually means I’ve never produced so much code so quickly and it’s disconcerting to the part of me that wants to feel like I earned the outcome on a pretty deep level because I can just generate shit that works so fast and then just edit it until I get exactly what I’m looking for and it feels like cheating in a weird way. I still don’t feel that way about front end frameworks for the web. Oh my God what what are people doing?
- dsego 3y agoHonestly, this reminds me of my early days when auto-complete and OOP was the best thing. It's why OOP proliferated, you type in the name of the object and get a list of completions in visual studio. No need to read docs or understand what you are doing, just find the method you need on that object. This new copilot coding reminds me of that, throwing shit and see what sticks, without understanding why and how it works. I can't help to shake the thought that we will see heaps of mediocre code cranked out that just about works, even though the problem maybe required a tenth of that to solve it.
- deleted 3y ago[deleted]
- civilitty 3y ago> I can't help to shake the thought that we will see heaps of mediocre code cranked out that just about works, even though the problem maybe required a tenth of that to solve it. That’s just more of the same, isn’t it? IMO that’s already the current state of the industry.
- dsego 3y agoI think you're right.
- throwaway4aday 3y agoTerrifying, what will be the towering class hierarchies and template hell that fall out of LLM powered coding? More importantly, what will be the better approaches that we should take to avoid creating a quagmire of unmaintainable code?
- mike_hearn 3y agoHe is. Later in the article he explains a task he did during the working day to his wife. It seemed like his employer uses some sort of custom tableview control, or he was working on a business report. Honestly it sounded like the bigger threat to that particular task was someone finding an open source library that did it already, but it illustrated the point and the story was nicely written.
- wkipling 3y agoYeah there's lot's of people in this thread who didn't read the full article and the conclusion the Author comes to.
- apersona 3y agoI saw someone say they stopped reading after this line: > At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. ...and I don't fault them for doing so and making the assumption that the author is not an experienced coder
- dragonwriter 3y agoThe author is very obviously the caliber of writer you'd expect for someone who regularly writes prose for the New Yorker and the Atlantic. And also, apparently, the level of programmer you'd expect of someone who regularly writes prose for the New Yorker and the Atlantic.
- dragonwriter 3y ago> The author isn't a professional programmer. The author asserts that he is a professional programmer as one of his day jobs, as well as handling the “serious programming” in his hobby projects with a mostly-hardware guy who is also an ex-professional-programmer, but whose coding skills are out-of-date. His LinkedIn has nothing more current than Jan 2017 at Genius, and that role (one of only two jobs with what looks like an IC-like title, “Developer”, that lasted more than a couple months), has a description that indicates it wasn't mostly an IC position but drifting among recruiting, acting product lead, PM, and something like an assistant to the CEO roles. He really has a resume that screams of having decent communications skills and professional network (and maybe manangement skills) and wanting to be seen as a programmer but consistently either needing to find a way out of an environment or into a different role in the same org before the checks his communications skills wrote that his tech skills couldn't back caught up to him.
- ugh123 3y agoMy sense is that the doomers in software these days are either inexperienced and lack perspective from industry shifts over the years or weren't very good to begin with and could not build beyond basic crud and data shipping applications of varying complexity.
- reactordev 3y ago3rd option. They got complacent and old and have trouble learning (don’t realize it) and can’t grok the new medium.
- happytiger 3y agoThat seems possible. There is a frequent bias against the new even in progressive technology circles.
- reactordev 3y agoyeah, I wasn't referring to agism or anything like that. Just that they had been there a while, got complacent with the code base or the style of programming. That's all. It can take an entire mind shift to understand what's going on when all you've been building is administrative portals and internal sites.
- ikari_pl 3y ago4th option. They're trying to enter the market and get a good job, but some companies consider them less experienced but more expensive than Copilot.
- happytiger 3y agoFewer but more senior resources seems possible. I have already seen the impact of AI systems, reducing the number of junior coding positions and outsourcing. On the other hand, anyone who actually takes the time to get good with AI coding tools can be performing at senior levels, much more quickly, so there’s that too. I’m not convinced that it’s some kind of apocalypse as much as it is a massive shift that is going to raise all boats and bring about a renaissance of productivity, and incredibly massive amounts of code, which hopefully is a higher quality because there’s no longer written by an individual in isolation but by a team of software engineers working in concert with AI. I can’t tell you number times where people were screaming and yelling about how coding was coming to an end and everyone was going to be unemployed in a few years —yet here we are…
- bryanrasmussen 3y agoReasons why (supposition, not necessarily in agreement, just arguments I am familiar with) - It's because foundations are now free but nobody understands how they work anymore - or soon won't hence the waning as opposed to disappeared. There are whole levels that a coder needed to understand in the past that recent entrants to the field do not understand, that can still subtly affect how things work, if no one understands the things the craft depends on, then the craft is waning. For anyone who started programming more than 13 years ago in the most widespread programming discipline for the past few decades (Web technologies), which in this career makes you super-old, the craft is waning because every year it becomes more and more difficult to understand the whole stack that the web depends on. Not even considering the whole stack of technologies that my first paragraph alluded to. For Frontend coders it is waning because there are ever increasing difficulties to find out how to do something someone else did by looking at their code - modern build technologies means looking at the code of a site is not worthwhile. And people were already complaining about that 13+ years ago. If you have kids or outside work responsibilities then in combination with this and the need to produce things and the ever increasing eating of stuff by software (opening new problems and business areas one might need to be cognizant of) it becomes less possible, for those not in school, to hone their craft via purposeful working. For this reason it may be that the craft is waning. Finally improving productivity is not necessarily something that correlates with improving the craft - industrialization may have improved productivity and made many products available to many people that did not have them before, but it is pretty well known that it was not beneficial to the crafts. Perhaps the feeling is the same here.
- mike_hearn 3y agoIsn't this a slight over-generalization from web dev? If you learned programming in the pre-web era then you weren't able to learn how programs work by studying the shipped artifacts, but the craft wasn't waning, far from it. I learned HTML in the mid nineties and even then I don't honestly recall learning very much from View Source. HTML has never been particularly easy to read even when written by the rare breed who are fanatical about "semantic" markup (in quotes because even so-called semantic markup doesn't communicate much in the way of useful semantics). HTML lacks extremely basic abstraction features needed to make code readable, like (up until very recently) any kind of templating or components system, so even if you were trying to learn from Yahoo! in 1996 you'd be faced with endless pages of Perl-generated HTML boilerplate. So I think most of us learned the old fashioned way, from books, tutorials and copious amounts of fiddling.
- hackerlight 3y ago> My view is that I am about to enter the quantum productivity period of coding. It comes down to whether society's demand for programmers is fixed, or if it scales with how productive programmers are, or more likely some mix of these scenarios. If the demand is fixed, then you are just taking someone's job by being more productive.
- fauigerzigerk 3y agoI agree it's amazing. But your comment doesn't touch on the key economic question that will decide for how many people it will be this amazing new dev experience. If AI makes developers twice as productive (maybe a few years down the road with GPT-6), will this additional supply of developer capacity get absorbed by existing and new demand? Or will there be half as many developers? Or will the same number of developers get paid far less than today? These questions arise even if not a single existing dev job can be completely taken over by an AI. A secondary question is about the type of work that lends itself to AI automation. Some things considered "coding" require knowing a disproportionate number of tiny technical details within a narrowly defined context in order to effect relatively small changes in output. Things like CSS come to mind. If this is the sort of coding you're doing then I think it's time to expand your skillset to include a wider set of responsibilities.
- torginus 3y agoConsidering how much the craft has expanded - when in high school, I wrote an application for pocket for a small business in Borland Delphi 7. The domain knowledge I needed for that was knowing the programming environment, and a bit about Windows. Nowadays, like the rest of the full-stack 'web' developers, I work on complex webapps that use Typescript, HTML, CSS, Kubernetes, Docker, Terraform, Postgres, bash, GitHub Actions, .NET, Node, Python, AWS, Git. And that isn't even the full list. And it's not even a flex, all of the above is used by a relatively straightforward LoB app with some hairy dependencies, a CI/CD pipeline + a bit of real world messiness. I need to have at least a passing familiarity with all those technologies to put together a working application and I'm sure I'm not alone with this uphill struggle. It's a staggering amount to remember for a single person, and LLMs have been a godsend.
- gitgud 3y ago> “If AI makes developers twice as productive (maybe a few years down the road with GPT-6), will this additional supply of developer capacity get absorbed by existing and new demand? Or will there be half as many developers? Or will the same number of developers get paid far less than today?” Something to remember is that every new innovation in software development only raises the expectations of the people paying the software developers. If developers are 3x as productive, then the goals and features will be 3x big. The reason for this is that companies are in competition, if they lag behind, then others will eat up the market. The company that fires 50% of their staff because of “AI Assistance” is not going to be able to compete with the company that doesn’t fire their staff and still uses “AI Assistance”…
- lordnacho 3y agoI think what will happen is what happened to hardware. You used to come across people who could do things like solder components to a board and hook up various ICs as well. Heck, I did this at uni. Now that layer of craftsmen is gone. You are either an uber-expert in how computer hardware works, or you just buy the hardware and treat it like a kind of magic. Traditionally to become an expert you went through an intermediate stage, showed your interest, and got trained. Your hobby could turn into a profession, since the step up was gentle and interested people were needed to do some of the supporting work. Nowadays if you're going to work in a chip fab, it's not because you were a soldering iron kid. You go through a quite long academic process that doesn't really recruit from the ranks of the hobbyists, though of course you'd expect there to be some natural interest. But the jump isn't gentle, you end up learning some pretty advanced things that make soldering seem like the stone age. Software has this layer of craftsmen still, though it is rapidly dying, and not just from LLMs. There's a enormous number of people who can more or less hook up a website and make it work, without knowing everything about how exactly it does that. There's also plenty of excel people and python scripting people who use code in their day-to-day, but can't tell you advanced concepts. There's a lot of modern services that make this sort of thing easier (wordpress etc), and this level of skill is very learnable by people in the developing world. It's not like you can't become a real expert in those parts of the world, but economically it makes sense that there are a lot of intermediately skilled there. What will happen with GPT and the like is the experts will not need as much help from the juniors. If you're a software architect in charge of a whole system, you won't just sketch out the skeleton of the system and then farm out the little tasks to junior coders. Maybe there are pieces that you'd farm out, but you will definitely save on the number of juniors because an LLM will give you what you need. The result being that we'll get fewer people trained to the highest levels, but those who are will be much more productive. So those guys will indeed be entering the quantum age, but it strands a lot of people.
- cousin_it 3y agoYes, the same thing happened before. There was a generation that tinkered with cars, there was a generation that tinkered with radios. There was a generation that tinkered with computer hardware. And then there was a generation that tinkered with software, and now it's going away. The real question for me is whether AI will put humans out of most intellectual work, not just programming. Then, even if AI is shared equitably and satisfies our every need, most of us become some kind of sponges that don't need to think for a living. Or human intelligence will remain but only as a peacock's tail, like physical strength is now. Maybe a true "friendly AI" would recognize the human need to be needed, for human capabilities to stay relevant, and choose to put limits on itself and other AIs for that reason.
- didibus 3y agoWaning days of the career associated with it. Similar to how old craftsmanship has been superseded by machine/industrialisation. The need for mastery of the craft will be lesser, and so mastery of it will wane, as people depend on AI instead. Then if you ever need someone to do it without AI, you might no longer be able to find anyone with the craftsmanship know-how to do it. Also, it'll probably bring down how good coding is as a career. As productivity enters this quantum state, you'll need less engineers, and they'll need less qualifications, which might translate to less jobs, worse pay, and an increased expectation in productivity that makes you dependent on AI, as you can no longer meet these expectations and compete with others if you also dont fully leverage AI.
- lifeisstillgood 3y agoI have stayed away from chatGPT etc (mostly due to my work simply banning its use in an understandable conservative approach) What's the best starting point for my personal stuff? I am generally put off by youtube tutorials promising to make me a better coder.
- ern 3y agoOpen a ChatGPT account. Set up a GitHub account if you don’t have one. Think of a common problem and see if a library exists in your favourite language to do what you want. If it doesn’t exist, explain your requirements to ChatGPT. You can even tell it the same thing you put in your comment here: “I want to learn how to use ChatGPT to augment my programming skills”. Make sure it’s done properly with automated tests and you have a licence (ChatGPT will help you with both). Bonus points for doing things like using GitHub actions for CI and publishing it to a package repository with guidance from ChatGPT.
- Tostino 3y agoHonestly I've had it guide me to better practices (like described) on side projects than I would have implemented on my own.
- happytiger 3y agoThat’s a part of what I use it for too. It’s excellent at generating large volumes of structures so it’s solid when you want an overview of a subject or a starting point. It's hard to explain to new folks that you can just ask how to begin to begin and get usefulness.
- spaceman_2020 3y agoI honestly think we’re entering an age where a skilled entrepreneur will be able to run a $10M/year business all by themselves with AI assisted coding, design and marketing.
- aleph_minus_one 3y ago> I honestly think we’re entering an age where a skilled entrepreneur will be able to run a $10M/year business all by themselves with AI assisted coding, design and marketing. You forgot the accounting, taxation, legal and compliance stuff, which at least in Germany takes a huge amount of the entrepreneur's time. :-(
- spaceman_2020 3y agoAll of which can be handed off to competent professionals part-time for a fee.
- totallywrong 3y agoWill GPT talk to customers, generate leads, manage sales cycles, customer support, etc. Come on.
- spaceman_2020 3y agoWhy not? Do people forget how new this tech is?
- BlueTemplar 3y agoYeah, I found TFA to be very annoying with its mix of nostalgia (despite the author not even being 40 years old ?!?) and silly examples. 1.) Apple’s programming environment being forbidding : no shit, Apple is well known for the hoops developers have to jump through to be allowed into their monopoly, why any self-respecting hacker would ever want to code for iOS (and now even MacOS, Android, Windows) is beyound me. I guess that's partially because they are US-based, where it's still somewhat respectable / not illegal ? 2.) Visual C++ : similar deal, just a few years later the bar for graphical interfaces would be significantly lowered with the likes of Python+Qt, Java, HTML+CGI... and even back then for non-graphical interfaces we had BASIC. (The design and programming of graphical interfaces is its own distinct profession for a reason, jumbling it in with «coding» as a big indistinct mass just because the same person used to have to do both regardless of their level of proficiency is missing the point.) 3.) > When I got into programming, it was because computers felt like a form of magic. The machine gave you powers but required you to study its arcane secrets—to learn a spell language. This took a particular cast of mind. I felt selected. I devoted myself to tedium, to careful thinking, and to the accumulation of obscure knowledge. Then, one day, it became possible to achieve many of the same ends without the thinking and without the knowledge. Looked at in a certain light, this can make quite a lot of one’s working life seem like a waste of time. It's not the LLMs that got rid of this, it's already Web search engines, years ago ! (It also takes skill to «prompt engineer» a search engine to find you a good answer. Not to mention that one of the still ongoing - but for how long ? - issues, is the enshittification of them through Google's monopoly. It should get better once they are out of the picture.) 4.) Proposition 5 of Euclid’s Elements I This seems to be another good example of how a lot of these issues stem from the lack of good teaching / documentation. Consider how much clearer it would be if merely you split it into two propositions ! It also seems to be a good example of an arbitrary goal of hardly any practical significance ? (FizzBuzz, that a good fraction of CS college students are unable to grok, would be a much better example ?) But perhaps I am wrong, and a mathematician / mathematics teacher can explain ? I have way better examples : I am still pissed that we keep teaching students pi instead of tau and pseudovectors (papering over the difference with vectors !!) instead of geometric algebra. Imagine we still had to do math with words like before the modern era (sqrt() also comes to mind), instead of mathematical notation ! 5.) There's also a whole big chunk about coders being (/ having been) a highly valued profession, and it's the likely loss of that that the article seems to be mostly deploring, but we shouldn't confuse it with the other things.
- btbuildem 3y agoThe author of the article seems to be a mediocre coder; perhaps they have not had enough experience in the domain to arrive at a big-picture perspective.
- skeaker 3y agoThis is funny because the conclusion GP arrives at as more or less the exact same one that TFA ends on. Literally, the last two sentences: "I shouldn’t worry that the era of coding is winding down. Hacking is forever."
- evantbyrne 3y agoCertain programming jobs will be replaced with AI. My prediction is that by the end of 2024 we will have a commercial AI that does an okay job of converting UI designs to frontend code. By the end of 2025 a commercial AI will be able to create UI designs and produce frontend code that's at least 80% complete.
- dmansen 3y agoThis is essentially the conclusion the author comes to at the end of the piece
- deleted 3y ago[deleted]
- skeaker 3y agoYou're actually relating perfectly given that you essentially rephrased TFA almost beat for beat. It's not as cynical as its title would imply.