I spent multiple 5-hour sessions spec-ing my climbing app with AI, clarifying interactions, algorithm, workflow etc. It ended up a frankenstein that I didn't recognise or know how each part interact with each other. Command line were a mess, different commands doing the same thing, with similar but redundant arguments. Everything looks kind of doing what I intended but overly convoluted and nothing really works. Real progress was made when I actually dig into the documentation of colmap/OpenMVS (essential tools, which I had never used before, in my workflow).
The AI gave me unprecedented turn around time in experimentation. The same experiments would easily take me over a month in the past. Now it was a few days. But still, real progress is made only when my understanding catch up with reality.
It's very difficult to keep AI focused, when it barfs out 3 pages of reply in response to a one-sentence prompt. It's sort of its nature for some reason, it's very impressive if you've never seen it but it's exhausting to use for very long. It's like a very eager assistant who doesn't have enough experience to understand scope.
3 pages of reply or overly verbose code, often without abstractions - I read all the posters here and in other forums say that programming has shifted towards reviewing AI output rather than coding said output manually; I agree, however, I just don't buy that everyone is actually reviewing the code as intensely as one would expect - there is a tendency that arrived rather quickly to assume that the AI is correct and efficient. I guess the ultimate reviewer is another AI agent I guess.
I find it highly similar between running agents and running human teams.
Clear goal, share context, delegate but verify. Running a team of engineers also inevitably generates pages and pages of material, design spec, code, test, review. Just that we now do that with agents and agents are way less trust worthy
It sounds great for prototyping. Once you do a month's experimentation in a day and generate some shit app that barely works, but looks functional, you have a definite goal to recreate that design but working properly.
It seems like an absolute dream for corporate execs who don't know anything about development, see a taped-together prototype built in a day, and think to themselves "Wow, we're 90% done... we could almost ship that!!"
This was true a while ago. Today we are replacing decades old sloppy production code with 100% verified better code through tests written by AI, code written by AI. This is not looking functional but drop in functional replacement with measurable improvements.
there are two camps: those who have spent the tokens to figure out how to wield AI, and those who haven't. unfortunately, it's not cheap to get to the former category… and i imagine it'd be difficult to lose access to that tooling and fall back to the second category.
Indeed it is. I’m very grateful to what LLM enables me.
The revelation to me was that I used to code what I know, now I could code what I don’t know. The common path is that when I face something I don’t know, which is quite often, to move forward I have to level up my understanding.
> And I think that’s the biggest danger of AI. You convince yourself that you are doing something useful when you are not.
Building technology to overcome relatable hardships and frictions is a worthy challenge full of meaning.
Using someone else's technology to erase frictions and hardships from your life can erode meaning.
On my worst days I am convinced programming and technological optimism is a theft of meaning; personal satisfaction at solving a human problem awkwardly mapped to technology, at the expense of users dating, socializing, or consuming with discomfort and therefore the possibility of growth and meaning.
I agree with your overall sentiment, although maybe the article and this sentiment more generally are going a little bit overboard with the skepticism/negativity.
It is a little alarming the way people treat AI as another human relationship, yes.
But AI is also a pretty useful research partner and rubber duck for ideas so long as you know going into it that it’s going to have a bias toward agreeing with you.
This situation reminds me of Calvin and Hobbes comics that mock the idea of Calvin’s dad’s idea of building character.
For example, I was debating ECC memory and cheap used business workstation hardware for a homelab recently with an AI. It helped me pick a system out of some eBay listings and verified whether the model and Xeon processor SKU supported ECC.
When I went to buy the RAM, it actually caught a mistake where I thought a listing was for UDIMM when it was actually RDIMM.
It’s not going to build my character or build my growth and meaning to buy the wrong thing from an online store.
And when a mistake is deadly? Should we remove all safety systems so we can deal with the consequences?
The number of mistakes you can make is infinite in comparison to the number of correct choices you can make. Since you don't have infinite lives and time there must be some manner of problem space reduction to ensure you get anything done.
Luckily for us humans evolution has spend quadrillions of hours doing just that for us. Modern technology has made it so you don't spend your entire life trying to get something to eat every waking moment of the day. This leads to some problems of your ideology of hardships lead to growth. Which hardships? Which growth? Should you go back to living in a cave like a mammal to get the full experience?
Mistakes without a significant lesson or takeaway aren’t a useful avenue for growth.
I think it’s possible that this concept that AI is an easy shortcut is a form of gatekeeping.
We had the same reactions to StackOverflow and web search when those technologies came around. And there’s certainly partial truth to it. Maybe reading a full book really does make you more well-rounded than googling your answer, but sometimes blowing a lot of time searching an index in a physical book hoping to find the piece of knowledge you need is just spending time for sake of spending time.
It’s a nice quote.
But what about the notion that we’re always believing in something, and sometimes those beliefs tune closer to something objective but if we keep tuning past that into something else, then that reality becomes hard to conceive of and really does seem like it’s gone away.
So you build a machine that kills all tigers and now you don't have to worry about belief.
The problem with objective reality is 1. it changes. 2. it can be different for different people in different places.
If I live in rural India, there is probably not a tiger behind the bush. If I live in downtown Chicago there is almost certainly not a tiger behind the bush. This leads to the hard problem of probabilistic thinking which requires a lot more energy than black and white thinking.
Lastly, humans are real, and even incorrect belief systems create a reality you have to live in. God, for example, is almost certainly not real. Saying that in a forum will have some percentage of people downvote you and try to reply with a relatively poor argument. Saying it in the wrong place and time outside of the internet can most certainly get you killed. So just because something isn't real doesn't mean you should open your mouth at an inopportune time and learn the reality it created.
You can't become a pro footballer just by wishing your leg wasn't broken, but you can pay close attention to the difference between pain and suffering, and acknowledge the pain without accepting any unnecessary suffering.
Pain is part of reality. Suffering comes from wishing reality was different to how it is.
There isn't an exact quote from Douglas Adams, you have to read it all, but he put the point marvelously: reality is scary, unlimited and lovecraftesque, and we have filters to avoid that. Only when you master those filters you can consider yourself conscious.
And something I wish the current crop of AI startups learn as well, just making XYZ agentic maybe isn't the answer to everything.
Same folks that said crypto will destroy traditional finance are now saying stuff like, AI will "destroy" all jobs and create a permanent underclass. Almost feels like every few years a new cult gets created with messaging perfectly designed to trigger the Gen-Z(/current college generation) into a frenzy and drinking the kool-aid.
Can't wait for it to be over (and then to do it all over again with something else). Being in my 30s helps. I care less :)
Yeah. In the 90's it was outsourcing is going to move all software jobs to India. Turns out that did happen, but also not. Still, manufacturing jobs have actually left the USA.
I think there is something parasitic in both legacy media and actually even worse in new media - where it finds the most toxic, negative idea that can latch on to the minds of the masses and runs away with it.
Maybe "things going bad suddenly in the near future" is just such a captivating idea to the human mind that those narratives will always find a way to dominate vs "everything will continue to slowly get better".
Maybe things are going bad suddenly in the near future. For instance, the projected weather cycle later this year is four times as powerful as a Super El Niño. The US is one week away from running out of gasoline (was 4 weeks away, 3 weeks ago). Are these not things that should be reported?
I don’t think it’s about what should or shouldn’t be reported. It’s about your relationship to those things. If you wake up on July 21 and there are no headlines saying “The US has run out of gasoline, no driving!”, will you breathe a sigh of relief and be happy things weren’t that bad after all? Or will you browse the headlines for other scary things that might happen in the near future?
The year 2000 problem is a good example of this. The year 2000 problem was not a problem. Not because it wasn't a problem, but because a shitload of people did a lot of work to make sure it wasn't a problem. If we didn't have news saying 'oh no, this is a problem' before Jan 1 2000, would it have been taken so seriously?
In February 2021 Texas was so incredibly close to losing the grid that it should strike terror into the hearts of anyone that lives there (see Practical Engineering episode on black starts). Simply put this would have been a massive humanitarian disaster in the 3rd largest state in the US of a size the US has not seen in the modern era. Thousands would have died from the extreme cold that was occuring. Thousands more from a lack of medicine. Fuel would have been trapped in the ground, and ran out quickly anyway. The loss of refining capabilities on the coast would have crippled the entire US. Because of the stupid design of the Texas grid it would have taken weeks or months to get everything back online.
The modern world has become very fragile due to long supply lines of necessary supplies. Covid did a good job of showing some of these weaknesses. I don't think the "did bad thing happen or not" is the way we should be looking at this. It's "How can we reduced the impact of bad things happening". And we're doing a terrible fucking job at it by consolidating companies and industries even further.
Maybe we should actually be worried about a billion+ death event in the near future because of our stupid decisions at a global scale. Maybe we should turn that fear into doing something into preventing it.
I have found that it gets some of the "cruft" out of the work, freeing me to do more work.
Since starting to use LLMs, I have actually been spending more time, at the console, than before.
One reason is that I like to ship (as opposed to "code"). That means a lot of tedious, boring stuff. The kind of thing that I want to "take a break before tackling," so I may take 30 minutes, and watch something on TV for a while, before rolling up my sleeves.
Now, the LLM can take care of a lot of this stuff, so I am not motivated to "take a break," so much, anymore.
It doesn't actually feel bad, but I now have to schedule "downtime." I never used to have to do that, before. My work always involved a lot of "context switch" points; naturally set up for taking breaks.
Yeah I have found that AI in general has a procrastination nullifying effect.
Before dealing with anything that might put me off. I can just ask the agent to do it for me. And then, do something else, take that break, but regardless in a few minutes I will have something to jump on instead of the same blank terminal with the same blinking cursor judging me. It really makes taking the first step, much easier and then the ball just gets rolling.
I see what his point is to be honest though, it's easy to say just one more week of polish, just 5 more features, etc.
"Being honest with themselves about whether what they are doing is actually working or not" and "Having the courage to go on when nobody believes in you" are opposites.
> "Having the courage to go on when nobody believes in you"
If you're doing something that isn't like how people are used to things being done, is novel, or is contra to common beliefs, there's a good chance that nobody will believe in you. And in such situations, their lack of belief is not a reliable indicator of whether what you're doing is valid or correct. Most people's negative responses in such cases are emotional responses, not rational ones.
In such situations, "Being honest with themselves about whether what they are doing is actually working or not" and "Having the courage to go on when nobody believes in you" are not opposites.
Not if you're perfectly able to differentiate which things will eventually succeed rather than will always fail! The best strategy for "winning in the age of AI" is "be able to predict the future with perfect accuracy", which at least anecdotally quite a lot of people lately seem to think they are able to do lately.
Probably not so different from past hype cycles, except maybe this time it will be different!
Such a great synopsis. The things that are easy to signal (landing page, presentation deck, logo, etc) have never been the make-or-break aspect. The part that's always been hard, that remains hard, is that a business must solve a problem for people. Even B2B is solving business problems for specific people. And people are a difficult, difficult problem to solve.
My previous business failed. Everything we built was useless. 2.5 yrs.
My current business is profitable. Almost everything we built was still useless. Since 4 yrs ago.
The amount of effort that went into that "almost" Is something that I don't think AI moved any needle for even though half of our journey was after AI coding took off.
Speed of coding was never the problem, still isn't even if AI allegedly 10x-ed it.
Is it really? Most startups don't seem to solve anything for anyone, not really, but they do enough to get investor money, using pitch decks and logos and landing pages, and the founder gets paid from investor money while the product collapses, which seems like a success for the founders to me.
Many startups simply solve the following problem: Rich person has a massive amount of money, and wants to use some of that to chase risky returns. They don't really know what to do with it, so they become an LP and act as part of a risk sink for crazy ideas. In that way, the pitch decks, logos, landing pages, and breathless hype is, itself, the "problem" in the process of being solved.
> I have seen way too many startup founders delude themselves into building more and more for months without a single conversation with a real user
This has been a problem since the beginning of tech startups. I worked in a dot-com in the late 1990s. Lots of investor money. New offices. Hundreds of employees. The product was well thought out, fairly well built, and it worked. But they had no customers. It's even in the same market niche as products that today have millions of users, but those folks weren't ready for it in 1999, at least not enough of them and quickly enough to matter.
Building something quickly is only a small part of what it takes to have a successful startup. You must solve a problem for people who are ready for your solution and willing to pay for it.
Nobody. We're just here. Mentally healthy human adults have ways to avoid thinking about the terrifying reality of infinite potential being restricted by a finite lifespan of decay, but not everyone is mentally healthy all the time.
No this isn't punching yourself in the face. Not for swes.
What's written above is self confirmation that you are better than AI and that you will always have a job because you are better because AI can't build something that works. That stuff about convincing yourself you're building something useful is actually the easy question.
Punching yourself in the face involves telling truths that are incredibly hard to stomach. That you don't matter, that all your years of coding and your identity is about to be consumed by a machine that is superior. The fact that you still hold a rank as a software engineer right now is only because that machine is slightly worse than you. But as it improves, your role becomes meaningless. The life you built your skills around becomes meaningless. It is less about what AI is now and more about the trajectory of AI and what the current AI says about the AI of the near tomorrow. We don't code by hand anymore and this came about in less than 5 years since the popular rise of LLMs. Think about what the next 5 years will bring.
That is punching yourself in the face with reality^^
The AI gave me unprecedented turn around time in experimentation. The same experiments would easily take me over a month in the past. Now it was a few days. But still, real progress is made only when my understanding catch up with reality.
I've known some people who can never stop talking. Maybe they are overly represented in the training set.
Clear goal, share context, delegate but verify. Running a team of engineers also inevitably generates pages and pages of material, design spec, code, test, review. Just that we now do that with agents and agents are way less trust worthy
The revelation to me was that I used to code what I know, now I could code what I don’t know. The common path is that when I face something I don’t know, which is quite often, to move forward I have to level up my understanding.
Building technology to overcome relatable hardships and frictions is a worthy challenge full of meaning.
Using someone else's technology to erase frictions and hardships from your life can erode meaning.
On my worst days I am convinced programming and technological optimism is a theft of meaning; personal satisfaction at solving a human problem awkwardly mapped to technology, at the expense of users dating, socializing, or consuming with discomfort and therefore the possibility of growth and meaning.
It is a little alarming the way people treat AI as another human relationship, yes.
But AI is also a pretty useful research partner and rubber duck for ideas so long as you know going into it that it’s going to have a bias toward agreeing with you.
This situation reminds me of Calvin and Hobbes comics that mock the idea of Calvin’s dad’s idea of building character.
For example, I was debating ECC memory and cheap used business workstation hardware for a homelab recently with an AI. It helped me pick a system out of some eBay listings and verified whether the model and Xeon processor SKU supported ECC.
When I went to buy the RAM, it actually caught a mistake where I thought a listing was for UDIMM when it was actually RDIMM.
It’s not going to build my character or build my growth and meaning to buy the wrong thing from an online store.
dealing with the consequences of my mistakes sounds like growth to me
The number of mistakes you can make is infinite in comparison to the number of correct choices you can make. Since you don't have infinite lives and time there must be some manner of problem space reduction to ensure you get anything done.
Luckily for us humans evolution has spend quadrillions of hours doing just that for us. Modern technology has made it so you don't spend your entire life trying to get something to eat every waking moment of the day. This leads to some problems of your ideology of hardships lead to growth. Which hardships? Which growth? Should you go back to living in a cave like a mammal to get the full experience?
Magnitude pedantery incoming: 1 billion years is "only" about 10 trillion hours.
I think it’s possible that this concept that AI is an easy shortcut is a form of gatekeeping.
We had the same reactions to StackOverflow and web search when those technologies came around. And there’s certainly partial truth to it. Maybe reading a full book really does make you more well-rounded than googling your answer, but sometimes blowing a lot of time searching an index in a physical book hoping to find the piece of knowledge you need is just spending time for sake of spending time.
Maybe you never learn to check your own details. Maybe that's ok.
Reality is that which, when you stop believing in it, doesn't go away.
The problem with objective reality is 1. it changes. 2. it can be different for different people in different places.
If I live in rural India, there is probably not a tiger behind the bush. If I live in downtown Chicago there is almost certainly not a tiger behind the bush. This leads to the hard problem of probabilistic thinking which requires a lot more energy than black and white thinking.
Lastly, humans are real, and even incorrect belief systems create a reality you have to live in. God, for example, is almost certainly not real. Saying that in a forum will have some percentage of people downvote you and try to reply with a relatively poor argument. Saying it in the wrong place and time outside of the internet can most certainly get you killed. So just because something isn't real doesn't mean you should open your mouth at an inopportune time and learn the reality it created.
As much as you would have aspirations to be a pro soccer player, badly enough broken leg can prevent you from ever being good enough.
Your imagination of being pro player does go away when in reality you’re not fit for the purpose.
Pain is part of reality. Suffering comes from wishing reality was different to how it is.
And something I wish the current crop of AI startups learn as well, just making XYZ agentic maybe isn't the answer to everything.
Same folks that said crypto will destroy traditional finance are now saying stuff like, AI will "destroy" all jobs and create a permanent underclass. Almost feels like every few years a new cult gets created with messaging perfectly designed to trigger the Gen-Z(/current college generation) into a frenzy and drinking the kool-aid.
Can't wait for it to be over (and then to do it all over again with something else). Being in my 30s helps. I care less :)
Maybe "things going bad suddenly in the near future" is just such a captivating idea to the human mind that those narratives will always find a way to dominate vs "everything will continue to slowly get better".
The year 2000 problem is a good example of this. The year 2000 problem was not a problem. Not because it wasn't a problem, but because a shitload of people did a lot of work to make sure it wasn't a problem. If we didn't have news saying 'oh no, this is a problem' before Jan 1 2000, would it have been taken so seriously?
In February 2021 Texas was so incredibly close to losing the grid that it should strike terror into the hearts of anyone that lives there (see Practical Engineering episode on black starts). Simply put this would have been a massive humanitarian disaster in the 3rd largest state in the US of a size the US has not seen in the modern era. Thousands would have died from the extreme cold that was occuring. Thousands more from a lack of medicine. Fuel would have been trapped in the ground, and ran out quickly anyway. The loss of refining capabilities on the coast would have crippled the entire US. Because of the stupid design of the Texas grid it would have taken weeks or months to get everything back online.
The modern world has become very fragile due to long supply lines of necessary supplies. Covid did a good job of showing some of these weaknesses. I don't think the "did bad thing happen or not" is the way we should be looking at this. It's "How can we reduced the impact of bad things happening". And we're doing a terrible fucking job at it by consolidating companies and industries even further.
Maybe we should actually be worried about a billion+ death event in the near future because of our stupid decisions at a global scale. Maybe we should turn that fear into doing something into preventing it.
Since starting to use LLMs, I have actually been spending more time, at the console, than before.
One reason is that I like to ship (as opposed to "code"). That means a lot of tedious, boring stuff. The kind of thing that I want to "take a break before tackling," so I may take 30 minutes, and watch something on TV for a while, before rolling up my sleeves.
Now, the LLM can take care of a lot of this stuff, so I am not motivated to "take a break," so much, anymore.
It doesn't actually feel bad, but I now have to schedule "downtime." I never used to have to do that, before. My work always involved a lot of "context switch" points; naturally set up for taking breaks.
Before dealing with anything that might put me off. I can just ask the agent to do it for me. And then, do something else, take that break, but regardless in a few minutes I will have something to jump on instead of the same blank terminal with the same blinking cursor judging me. It really makes taking the first step, much easier and then the ball just gets rolling.
I see what his point is to be honest though, it's easy to say just one more week of polish, just 5 more features, etc.
If you're doing something that isn't like how people are used to things being done, is novel, or is contra to common beliefs, there's a good chance that nobody will believe in you. And in such situations, their lack of belief is not a reliable indicator of whether what you're doing is valid or correct. Most people's negative responses in such cases are emotional responses, not rational ones.
In such situations, "Being honest with themselves about whether what they are doing is actually working or not" and "Having the courage to go on when nobody believes in you" are not opposites.
Probably not so different from past hype cycles, except maybe this time it will be different!
The first is getting market feedback.
The second is just getting opinions.
It does require you to think carefully about what constitutes validation or invalidation of your ideas, though.
My current business is profitable. Almost everything we built was still useless. Since 4 yrs ago.
The amount of effort that went into that "almost" Is something that I don't think AI moved any needle for even though half of our journey was after AI coding took off.
Speed of coding was never the problem, still isn't even if AI allegedly 10x-ed it.
People who solve problems while being profitable do not take investment money unless they want to expand or sell.
"What is the exit?" that is the question for every startup.
This has been a problem since the beginning of tech startups. I worked in a dot-com in the late 1990s. Lots of investor money. New offices. Hundreds of employees. The product was well thought out, fairly well built, and it worked. But they had no customers. It's even in the same market niche as products that today have millions of users, but those folks weren't ready for it in 1999, at least not enough of them and quickly enough to matter.
Building something quickly is only a small part of what it takes to have a successful startup. You must solve a problem for people who are ready for your solution and willing to pay for it.
So you have two options, be good at making people want to spend money on something. This is pretty hard and a rare capability.
The other is to watch trends and catch what people want now, and be ready to deliver a product that does that....
Who is responsible for this mess? ;)
What's written above is self confirmation that you are better than AI and that you will always have a job because you are better because AI can't build something that works. That stuff about convincing yourself you're building something useful is actually the easy question.
Punching yourself in the face involves telling truths that are incredibly hard to stomach. That you don't matter, that all your years of coding and your identity is about to be consumed by a machine that is superior. The fact that you still hold a rank as a software engineer right now is only because that machine is slightly worse than you. But as it improves, your role becomes meaningless. The life you built your skills around becomes meaningless. It is less about what AI is now and more about the trajectory of AI and what the current AI says about the AI of the near tomorrow. We don't code by hand anymore and this came about in less than 5 years since the popular rise of LLMs. Think about what the next 5 years will bring.
That is punching yourself in the face with reality^^