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?
Saying, "Experiencing some friction is good for building character" is not equivalent to saying "We should demolish all technology and force babies to survive on their own in the woods."
That the extreme position is wrong does not strictly imply that the moderate position is too.
This is the particular problem with deciding a position, it's all shades of grey.
200 years ago a good number of humans thought that owning other humans was a-ok. Today that's mostly not true. In 200 years it's likely the vast majority of humanity will look at eating meat and owning pets at the same level of horror. Which is the extreme position? Which is the moderate?
Magnitude pedantery incoming: 1 billion years is "only" about 10 trillion hours.
Think of combined manpower. If you have 2 people working an 8 hour shift you've spent 16 hours.
/Pedantry crisis averted.
Fun math!
[0]Crockford et al. (2023) estimate about 10^30 cells exist today, and between 10^39 and 10^40 cells have ever existed on Earth.
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.
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.
Posts like this one always made me feel like I was a coward. Like there was.. unvirtuousness.. in not killing one’s darlings, not validating ideas, not quitting things in time, not looking for product-market fit.
I can report that looking for product-market fit, and everything else from the list above, became easier once I started taking antidepressants and adhd meds.
For example, it turns out deciding to punch yourself in the face with reality is much easier when you don’t feel, for example, like abandoning a project would be a giant betrayal and a thing one might in theory do but you must never do ever under any circumstances.
- - -
There are likely many people who have more capacity for self control, and who are genuinely helped by hearing moderately harsh truths because they can (1) take a look at their behavior, (2) realize it hurts them and their chances of success, (3) realize where they’ve been blind to reality, and (4) change.
I suspect that such people assume — maybe correctly in most cases — that if someone hasn’t done (4), it’s because they haven’t done enough (1-3), and this is the appropriate lever to push.
I don’t know how to finish this comment.
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.
The only thing that changed is the scale.
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.
Reminds me of a politician in India who would ask elders in his family to slap him hard before he starts out on the election campaigns. He says that the slaps are meant to keep him alert and honest.
Cloud was like this too. You spent all this money as a startup with AWS regardless of whether you made a dollar or not.
I’ve had this sense about AI for a while now and this articulates that feeling far better than I’ve been able to.
Who is responsible for this mess? ;)
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....
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^^
This doesn't even match with reality. I got laid off in January because of "ai" (scare quotes because it was really about the salaries of the US based teams being more expensive than the overseas teams, I think). I got hired at a new job with better pay within two months, and my team is still hiring software engineers, and we work on cutting edge stuff. And yes we use AI (tastefully), but nobody here expects it to replace them. Hacker News and twitter are a fricking echo chamber of the most obnoxious people trying to be "thought leaders", but it doesn't match my reality at all.
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.
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
I've known some people who can never stop talking. Maybe they are overly represented in the training set.
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.
Once you have something concrete you can iterate on the prototype until it's a mess. But, hopefully, in that time you got closer to figuring out what you want. And even if the code for the prototype is a mess the "idea" of it should be cleaner. I like to have an LLM make a new spec at that point, and start fresh with it. You can clean up the abstractions and the UX there.
When writing code is cheap figuring out what you want to write is the hard part. It always was, but the barrier of getting the code written and working made that less obvious.
Same story as building a house. There’s so many unknowns.
I've been very pleasantly surprised. The combination of the compiler improvements in Elixir 1.20 and the structural guardrails from Ash seems to have led to very consistent, organized and readable code.
Does anyone want one?
The article says to stop building and go outside!
And actually, talking about climbing apps with fellow climbers is a great way to be outside.