7 ms·
I'm loving the new programming. I don't know where it goes either, but I like it for now. I'm actually producing code right this moment, where I would normally
by lordnacho 1y ago
I'm loving the new programming. I don't know where it goes either, but I like it for now.
I'm actually producing code right this moment, where I would normally just relax and do something else. Instead, I'm relaxing and coding.
It's great for a senior guy who has been in the business for a long time. Most of my edits nowadays are tedious. If I look at the code and decide I used the wrong pattern originally, I have to change a bunch of things to test my new idea. I can skim my code and see a bunch of things that would normally take me ages to fiddle. The fiddling is frustrating, because I feel like I know what the end result should be, but there's some minor BS in the way, which takes a few minutes each time. It used to take a whole stackoverflow search + think, recently it became a copilot hint, and now... Claude simply does it.
For instance, I wrote a mock stock exchange. It's the kind of thing you always want to have, but because the pressure is on to connect to the actual exchange, it is often a leftover task that nobody has done. Now, Claude has done it while I've been reading HN.
Now that I have that, I can implement a strategy against it. This is super tedious. I know how it works, but when I implement it, it takes me a lot of time that isn't really fulfilling. Stuff like making a typo, or forgetting to add the dependency. Not big brain stuff, but it takes time.
Now I know what you're all thinking. How does it not end up with spaghetti all over the place? Well. I actually do critique the changes. I actually do have discussions with Claude about what to do. The benefit here is he's a dev who knows where all the relevant code is. If I ask him whether there's a lock in a bad place, he finds it super fast. I guess you need experience, but I can smell when he's gone off track.
So for me, career-wise, it has come at the exact right time. A few years after I reached a level where the little things were getting tedious, a time when all the architectural elements had come together and been investigated manually.
What junior devs will do, I'm not so sure. They somehow have to jump to the top of the mountain, but the stairs are gone.
- zwnow 1y agoSo you are relaxing and the AI is coding? Neat! Way to replace yourself, hope you won't cry after your job once it is gone.
- lubujackson 1y agoWhat you miss is the constant need to refine and understand the bigger picture. AI makes everyone a lead architect. A non-coder can't do this or will definitely get lost in the weeds eventually.
- nlawalker 1y agoRight, but a lead architect can be a lead architect on multiple projects at the same time, and the world doesn't need as many lead architects as it has programmers. This kind of working is relaxing and enjoyable until capitalism discovers that it is, and then you have to do it on five projects simultaneously.
- jon-wood 1y agoIt doesn’t make everyone a lead architect, it just makes everyone think they’re a lead architect. What makes people a lead architect is a decade or two of experience in designing software and learning what works and doesn’t.
- LtWorf 1y agoWhat makes people a lead architect in my experience is an abnormal amount of arrogance and no capability to admit mistakes.
- actionfromafar 1y agoThat just gives the title. To be really successful, they need to let someone else, knowledgeable, actually make the architecture decisions.
- LtWorf 1y agoYeah that's the actual senior developers who just ignore everything the architect architects.
- logicchains 1y ago
- Loic 1y ago> What junior devs will do, I'm not so sure. They somehow have to jump to the top of the mountain, but the stairs are gone. Exactly my thinking, nearly 50, more than 30 years of experience in early every kind of programming, like you do, I can easily architect/control/adjust the agent to help me produce great code with a very robust architecture. By I do that out of my experience, both in modelling (science) and programming, I wonder how the junior devs will be able to build experience if everything comes cooked by the agent. Time will tell us.
- theferret 1y agoI feel like we've been here before, and there was a time when if you're going to be an engineer, you needed to know core equations, take a lot of derivatives, perform mathematical analysis on paper, get results in an understandable form, and come up with solutions. That process may be analogous to what we used to think of as beginning with core data structures and algorithms, design patterns, architecture and infrastructure patterns, and analyzing them all together to create something nice. Yet today, much of the lower-level mathematics that were previously required no longer are. And although people are trained in their availability and where they are used, they form the backbone of systems that automate the vast majority of the engineering process. It might be as simple as creating awareness about how everything works underneath and creating graduates that understand how these things should work in a similar vein.
- Loic 1y agoExactly right now, I am helping a big oil and gas company have a process simulation software to correctly converge on a big simulation. Full access to the source code, need to improve the Newton method in use with the right line search, validate the derivatives, etc. I do think that for most of the people, you are right, you do not need to know a lot, but my philosophy was to always understand how the tool you use work (one level deeper), but now the tool is creating a new tool. How do you understand the tool which has been created by your Agent/AI tool? I find this problem interesting, this is new to me and I will happily look at how our society and the engineering community evolve with these new capacities.
- lpa22 1y agoThis is exactly what makes me excited as well. It really does replace the tedious parts of coding I’ve done thousands of times at this point.
- ikerino 1y agoHot take: Junior devs are going to be the ones who "know how to build with AI" better than current seniors. They are entering the job market with sensibilities for a higher-level of abstraction. They will be the first generation of devs that went through high-school + college building with AI.
- stefan_ 1y agoWhere did they learn sensibility for higher-level of abstraction? AI is the opposite, it will do what you prompt and never stop to tell you its a terrible idea, you will have to learn yourself all the way down into the details that the big picture it chose for you was faulty from the start. Convert some convoluted bash script to run on Windows because thats what the office people run? Get strapped in for the AI PowerShell ride of your life.
- ikerino 1y agoHow is that different than how any self-taught programmer learns? Dive into a too-big idea, try to make it work and learn from that experience. Repeat that a few hundred times and you'll have some strong intuitions and sensibilities.
- pessimizer 1y agoThe self-taught programmer's idea was coded by someone who is no smarter than they are. It will never confuse them, because they understand how it was written. They will develop along with the projects they attempt. The junior dev who has agents write a program for them may not understand the code well enough to really touch it at all. They will make the wrong suggestions to fix problems caused by inexperienced assumptions, and will make the problems worse. i.e. it's because they're junior and not qualified to manage anybody yet. The LLMs are being thought of as something to replace juniors, not to assist them. It makes sense to me.
- skydhash 1y ago> Dive into a too-big idea, try to make it work and learn from that experience. Or... just pick up that book, watch a couple of videos on Youtube and avoid all that trying.
- tempodox 1y ago> I would normally just relax and do something else. Instead, I'm relaxing and coding. So more work gets to penetrate a part of your life that it formerly wouldn't. What's the value of “productivity gains”, when they don't improve your quality of life?
- chamomeal 1y agoI also am enjoying LLMs, but I get no joy out of just prompting them again and again. I get so incredibly bored, with a little side of anxiety that I don’t really know how my program works. I’ll probably get over it, but I’ve been realizing how much fun I get out building something as opposed to just having be built. I used to think all I cared about was results, and now I know that’s not true, so that’s fun! Of course for the monotonous stuff that I’ve done before or don’t care a lick about, hell yeah I let em run wild. Boilerplate, crud, shell scripts, CSS. Had claude make me a terminal based version of snake. So sick
- rapind 1y agoThis is interesting. Maybe slow it down a bit? What I've found is I really need to be extremely involved. I approve every change (claude-code). I'm basically micromanaging an AI developer. I'm constantly reading and correcting. Sometimes I tell it to wait while I help it make some change it's hung up on. There's no way I could hire someone who'd want me hovering over their shoulder like this. This sounds tedious I guess, but it's actually quite zen, and faster than solo coding most of the time. It gives me a ton of confidence to try new things and new libraries, because I can ask it to explain why it's suggesting the changes or for an overview of an approach. At no point am I not aware of what it's doing. This isn't even close to what people think of as vibe coding. It's very involved. I'm really looking forward to increasing context sizes. Sometimes it can spin it's wheels during a refactor and want to start undoing changes it made earlier in the process, and I have to hard correct it. Even twice the context size will be a game changer for me.
- pluc 1y agoI've always felt building something was close to artistry. You create something out of your thoughts, you shape it how you want and you understand how it works to the most minute detail. The amount of times I've shown something seemingly simple to someone and went "but wait this is what is actually happening in the background!" and started explaining something I thought was cool or clever are great memories to me. AI is turning renaissance paintings into mass-market printing. There's no pride, no joy, just productivity. It's precisely those repetitive, annoying tasks that lead you to create a faster alternative, or to think outside the box and find different ways. I just don't get the hype.
- CamperBob2 1y agoWhat junior devs will do, I'm not so sure. They somehow have to jump to the top of the mountain, but the stairs are gone. "That's OK, I found a jetpack."
- yeasku 1y agoIt is known team size and speed are not linear. Many times adding a new junior to a team makes it slower. How does using llms as junior makes you more productive?
- skydhash 1y ago> Now that I have that, I can implement a strategy against it. This is super tedious. I know how it works, but when I implement it, it takes me a lot of time that isn't really fulfilling. Stuff like making a typo, or forgetting to add the dependency. Not big brain stuff, but it takes time. Are people implementing stuff from start to finish in one go? For me, it's always been iterative. Start from scaffolding, get one thing right,then the next. It's like drawing. You start with a few shapes, then connect them. After you sketch on top, then do a line art, and then you finish with values (this step is also iterative refinements). With each step, you become more certain of what you want to do, while also investing the minimum possible effort. So for me coding is more about refactoring. I always type the minimal amount of code to get something to work. And it usually means shortcuts which I annotate with a TODO comment. Then I iterate over, making it more flexible, adds more flexibility, makes the code more clean.
- ysofunny 1y agothis is how I interact with the coding assistant. one thing at a time. slowly adding features and fighting against bug regressions, same as when I was writting the code myself.
- dyauspitr 1y agoChess is probably a good analogue to how the juniors will learn. You will have to learn for the sake of it even though the space is solved.
- rapind 1y agoThat's a pretty good take. I was actually looking for a good analogy recently I think if I was just starting out learning to program, I would find something fun to build and pick a very correct, typed, and compiled language like Haskell or Purescript or Elm, and have the agent explaining what it's doing and why and go very slow.
- dangero 1y agoHave you had the realization that you could never go back to dealing with all the minutia again? LLMs have changed me. I want to go outside while they are working and I am jealous of all the young engineers that won’t lose the years I did sitting in front of a screen for 12 hours a day while sometimes making no progress on connecting two black boxes.
- lelanthran 1y agoSerious question: have you considered that dealing with all that minutiae and working through all that pain has made you capable to have the LLM write code? Those young engineers, in 10 years, won't be able to fix what the LLM gave them,because they have not learned anything about programming. They have all learned how to.micromanage an LLM instead.
- NitpickLawyer 1y ago> Those young engineers, in 10 years, won't be able to fix what the LLM gave them,because they have not learned anything about programming. I have heard a version of this plenty of times, and it was never correct. In the early 90s it was the "electronics" people that were saying "I come from an electronics background, these young'uns will look at a computer and don't know what to do if it breaks". Well, bob, we did, the whole field moved to color coded anti-stupid design, and we figured it out. Then I heard it about IDEs. Oh, you young people are so spoiled with your IDEs and whatnot, real men code in a text editor. Then it was about frameworks. BBbbut what if your framework breaks, what do you do then, if you don't know the underlying whatever? ... same old, same old.
- lelanthran 1y agoHave you also heard about calculators? Every single finance person uses a calculator. How effective do you think a person in any aspect of finance would be if they had never learned what multiplication is? Would they perform their job adequately if they don't know that `X * Y` is `X repeated Y times`? IOW, if you gave a finance person (accountant, asset manager, whatever) a non-deterministic calculator for multiplication, would you trust the person's output if they never learned what multiplication is? This is the situation I am asking about; we aren't talking about whether deterministically automating something that the user already knows how to do is valuable, we're talking about whether non-deterministically generating something that the user is unable to do themselves, even if given all the time in the world, is valuable. All those examples you give are examples of deterministic automation that the user could inspect for accuracy. I'm asking about a near-future where people managing your money have never learned multiplication because "Multiplication has been abstracted away to a tool that gets it right 90% of the time"
- weatherlite 1y ago> So for me, career-wise, it has come at the exact right time. A few years after I reached a level where the little things were getting tedious, a time when all the architectural elements had come together and been investigated manually. Wish I had your confidence in this. I can easily see how this nullifies my hard earned experience and basically puts me in the same sport as a more mid level or even junior engineer.
- Terr_ 1y ago> What junior devs will do, I'm not so sure I see it as a worrying extension of a pre-LLM problem: No employer wants to train, they just want to hire employees after someone else trains them.
- bawana 1y agoso i guess that's a good argument for replacing employees with a bespoke LLM for your business-they will never leave after they're trained. and they never ask for a raise. and they dont need benefits or carry other human risks.
- stingraycharles 1y agoRight, I’ve been using it recently for writing a message queue -> database bridge with checkpointing and all kinds of stuff (I work for a timeseries database company). I saw this as a chance to embrace AI, after a while of exploring I found Claude Code, and ended up with a pretty solid workflow. But I say this as someone who has worked with distributed systems / data engineering for almost 2 decades, and spend most of my time reviewing PRs and writing specs anyway. The trick is to embrace AI on all levels: learn how to use prompts. learn how to use system prompts. learn how to use AI to optimize these prompts. learn how to first write a spec, and use a second AI (“adversarial critic”) to poke holes in that plan. find incompletenesses. delegate the implementation to a cheaper model. learn how to teach AI how to debug problems properly, rather than trying to one-shot fixes in the hope it fixes things. etc It’s an entirely different way of working. I think juniors can learn this as well, but need to work within very well-defined frameworks and probably needs to be part of college curriculum as well.
- Valk3_ 1y agoAt one hand you get insane productivity boost, something that could take maybe days, weeks or months to do now you can do in significantly shorter amount of time, but how much are you learning if you are at a junior level and not consciously being careful about how you use it, feels like it can be dangerous without a critical mindset, where you eventually rely too much on it that you can't survive without it. Or maybe this is ok? Perhaps the way of programming in the future should be like this, since we have this technology now, why not use it? Like there's a mindset where you just want to get the job done, ok cool just let the llm do it for me (and it's not perfect atm), and ill stitch everything together fix small stuff that it gets wrong etc, saves alot of time and sure I might learn something in the process as well. And then the other way of working is the traditional way, you google, look up on stackoverflow, read documentations, you sit down try to find out what you need and understand the problem, code a solution iteratively and eventually you get it right and you get a learning experience out of it. Downside is this can take 100 years, at the very least much longer than using an llm in general. And you could argue that if you prompt the llm in a certain way, it would be equivalent to doing all of this but in a faster way, without taking away from you learning. For seniors it might be another story, it's like they have the critical thinking, experience and creativity already, through years of training, so they don't loose as much compared to a junior. It will be closer for them to treat this as a smarter tool than google. Personally, I look at it like you now have a smarter tool, a very different one as well, if you use it wisely you can definitely do better than traditional googling and stackoverflow. It will depend on what you are after, and you should be able to adapt to that need. If you just want the job done, then who cares, let the llm do it, if you want to learn you can prompt it in certain way to achieve that, so it shouldn't be a problem. But this sort of way of working requires a conscious effort on how you are using it and an awareness of what downsides there could be if you choose to work with the llm in a certain way to be able to change the way you interact with the llm. In reality I think most people don't go through the hoops of "limiting" the llm so that you can get a better learning experience. But also, what is a better learning experience? Perhaps you could argue that being able to see the solution, or a draft of it, can be a way of speeding up learning experience, because you have a quicker starting point to build upon a solution. I dunno. My only gripe with using LLM, is that deep thinking and creativity can take a dip, you know back in the day when you stumbled upon a really difficult problem, and you had to sit down with it for hours, days, weeks, months until you could solve that. I feel like there are some steps there that are important to internalize, that LLM nowdays makes you skip. What also would be so interesting to me is to compare a senior that got their training prior to LLM, and then compare them to a senior now that gets their training in the new era of programming with AI, and see what kinds of differences one might find I would guess that the senior prior to LLM era, would be way better at coding by hand in general, but critical thinking and creativity, given that they both are good seniors, maybe shouldn't be too different honestly but it just depends on how that other senior, who are used to working with LLMs, interacts with them. Also I don't like how LLM sometimes can influence your approach to solving something, like perhaps you would have thought about a better way or different way of solving a problem if you didn't first ask the LLM. I think this could be true to a higher degree for juniors than seniors due to gap in experience when you are senior, you sort of have seen alot of things already, so you are aware of alot of ways to solve something, whereas for a junior that "capability" is more limited than a senior.