In my own tiny way, I applied this logic when trying to be a contributor to an existing and popular open source project. I found that puzzling out poorly-written bug report tickets, ignored by the extremely busy experts on the project, I could find work to do.
I started by looking at well written tickets (to-the-point descriptions, minimal reproduction examples), but that method got me no work: some expert on the project would have a pull request for that kind of ticket in just a few hours, whereas I would need at least a week to figure out the root cause and another few days to craft a fix and a test.
So I started looking at ignored tickets, i.e., tickets that had been sitting around for weeks or months with no activity. Those often turned out to be very poorly written tickets with either very little information, or a huge wall of text with much business domain-specific info. If those tickets contained repro examples at all, they were often complex and very long, using external libraries I never heard of, and devoid of table schemas and example data. Sometimes I could get the author to provide more information, sometimes the author would not respond. I might have to infer schemas and make up my own data, try different things based on a stack trace, install libraries I would have preferred to not install, etc. I would work on trying to reproduce the problem for a few days, and at least a few times I struck gold. Then I would work on a self-contained, minimal reproduction case, followed by a week of sussing out the root cause. It was pretty time-consuming, but I was able to get a few fixes merged using that method, such that I was no longer a total stranger on the project (which helped me get other things merged into the code base).
I learned this lesson kind of by accident. I've told this story before but I think it's relevant.
When I dropped out of college the first time around in January 2012, I assumed that my career options were extremely limited. I knew I needed a job, so I applied to pretty much every wage-labor job I could find: McDonalds, Lowes, Starbucks, Aldi, Publix, etc. Almost as a joke to myself, I sent exactly one application to a software developer position on Craigslist for a Flash, Foxpro, and Coldfusion developer position.
The only company that called me back was the software job. I interviewed there, got the job, and thus my career as a software engineer was kicked off.
In hindsight I realized something: the less qualified you are for a job, the more likely a company might be to overlook a lack of qualifications. McDonalds and Aldi and Starbucks have lots of qualified people applying for these positions, meaning that they can be very picky with who they hire.
Now compare this to Flash/Coldfusion/Foxpro developers in 2012. I didn't know any of these at the time particularly well...but to my benefit neither did anyone else! As a result, they didn't get a ton of applications meaning their selection pool was tiny, meaning that they basically had to take whomever they could get.
That is simply not true. If 6 completely qualified people make it to the last stage of an interview based on their qualifications, but the final chosen person was done by die roll, there was still non-luck involved. No amount of luck would have gotten you to the last stage in this example, and the only way for luck to have mattered is if you also put in the leg work.
Even if I agree with that characterization, I don’t see how that changes anything from what I said before.
I am sorry if you got “my success is purely because I am a hyper-talented genius” from my anecdote there, because that certainly wasn’t intended. There was absolutely luck involved, no argument, but my point about “applying to a job I wasn’t qualified for” still can hold.
I probably interpret the message incorrectly, because to me "the hardest thing" is usually some class of some famous unsolved problem. The thing is, to be famously unsolved, many of the world's most brilliant people must have already tried and failed to solve it. There's a chance I have an edge they don't, but it's probably not wise to track your career path to the darkest of dead ends purely on the merits of it being particularly dark.
Example: you know what would be harder than anything we're talking about here? Quadrupling the performance of the best compression algorithms. It's hard. In fact, maybe there's some information theory that even says it's mathematically impossible. That makes it really hard, which makes it what all of us should immediately start working on.
The author writes elsewhere that you also have to have an edge, but that's frequently omitted from this "hardest thing" advice.
Yeah I feel like this advice kind of reminds me of a lot of advice - you could rewrite it like "Do the hardest thing -- by which I mean, not the easiest thing, and not the actual hardest thing, but the thing with the right amount of hardness, a narrow band somewhere in the vast middle that you'll only be able to recognize once you have enough experience that you no longer need this advice."
I think it's supposed to be interpreted as 'the hardest thing on your list of possible startup ideas', not 'the hardest possible thing in the universe'. I think it's also an alternative way of thinking about a moat.
It's a good philosophy, but I always cringe when I hear it. Only because I once worked with someone who would always proclaim they were going to tackle the hardest thing first. Real ego play, from him at least.
This is dumb. Don't do hard things, do things which have a high ROI.
I could try to swim across the Pacific Ocean, walk across Siberia or consume a family size portion of McDonalds in a single sitting. All those things are hard. All those things have zero to negative ROI.
Doing hard things won't get you anywhere. Most hard things are useless. And a lot of the most valuable things are not hard at all.
So, the hardest thing for me would be to leave my job and focus all my time in starting my own business. Leave friends and family behind to put all my effort on it. Is it worth it? No.
Idk, I often felt the opposite. I naturally tend towards working on hard problems but my feeling is that if I chose instead to focus on an easier "thing" I could execute really well and be overall more successful.
In the current era of urge to make things faster/more, that article felt refreshing. Good things take effort and time to create, and it is not something bad, it's just the way the things become good.
(Author of the post here) I think the key point is that even bad businesses take time and effort to create!
The distinction is between "low-hanging fruit" ideas ("Let's start a cafe!" "Let's start a WordPress theme business") and "high-value, high effort" ideas ("It's 2003. Let's build VoIP software.").
Sure, I agree. I was more about encouraging to not be afraid of something hard.
Today's narrative pushes people to try vibe code as much ideas as possible, even in parallel, but I don't think it's a fruitful approach. One should not be afraid of doing something non-typical (hard) if they belive in the idea. And if you believe, dedicate some quality time for it. If you don't believe - why bother even with prototypes?
Well what if you take on an extremely ambitious project like writing a programming language complete with DAP step debugging, a full LSP, etc, etc?
That takes a lot of quality time to just figure out the right syntax and semantics, let alone having to figure out how all of these complex pieces fit together!
Agree.
But the tricky part is how much you believe in the idea. It is hard to be faithful to the right idea. One is influenced by other people, especially one's boss if it's in an corporation.
Liked this post a lot, well done! Definitely appreciated that it was a site that actual has a unique design, and isn't just another Medium article...
A book on a similar subject that I don't see mentioned very often but which I quite enjoyed as "Tough Things First" by Ray Zinn [0]. Not the most popular one, but really down to earth and approachable ideas. Kind of like PG's "do things that don't scale," just applied on a broader timescale.
I don't know if there's a way to say this without coming off as rude, but if the hardest thing you can come up with is podcast hosting, then maybe you didn't spend too much time thinking about hard things? If it works for you, great, you do you, but I don't think it lines up with the title nor the premise of the article even remotely.
My hardest thing took about 7 years to build (with a child getting born and slowing things down a bit) but still. Good to hear that I’m not the only one :)
naw but this kind of mindset ended up burning me out at times; some of us clearly take general ideas like this in different ways than intended perhaps
but I think the actual "trick" here is about finding unfilled niches rather than necessarily doing "the hardest thing"
I started by looking at well written tickets (to-the-point descriptions, minimal reproduction examples), but that method got me no work: some expert on the project would have a pull request for that kind of ticket in just a few hours, whereas I would need at least a week to figure out the root cause and another few days to craft a fix and a test.
So I started looking at ignored tickets, i.e., tickets that had been sitting around for weeks or months with no activity. Those often turned out to be very poorly written tickets with either very little information, or a huge wall of text with much business domain-specific info. If those tickets contained repro examples at all, they were often complex and very long, using external libraries I never heard of, and devoid of table schemas and example data. Sometimes I could get the author to provide more information, sometimes the author would not respond. I might have to infer schemas and make up my own data, try different things based on a stack trace, install libraries I would have preferred to not install, etc. I would work on trying to reproduce the problem for a few days, and at least a few times I struck gold. Then I would work on a self-contained, minimal reproduction case, followed by a week of sussing out the root cause. It was pretty time-consuming, but I was able to get a few fixes merged using that method, such that I was no longer a total stranger on the project (which helped me get other things merged into the code base).
When I dropped out of college the first time around in January 2012, I assumed that my career options were extremely limited. I knew I needed a job, so I applied to pretty much every wage-labor job I could find: McDonalds, Lowes, Starbucks, Aldi, Publix, etc. Almost as a joke to myself, I sent exactly one application to a software developer position on Craigslist for a Flash, Foxpro, and Coldfusion developer position.
The only company that called me back was the software job. I interviewed there, got the job, and thus my career as a software engineer was kicked off.
In hindsight I realized something: the less qualified you are for a job, the more likely a company might be to overlook a lack of qualifications. McDonalds and Aldi and Starbucks have lots of qualified people applying for these positions, meaning that they can be very picky with who they hire.
Now compare this to Flash/Coldfusion/Foxpro developers in 2012. I didn't know any of these at the time particularly well...but to my benefit neither did anyone else! As a result, they didn't get a ton of applications meaning their selection pool was tiny, meaning that they basically had to take whomever they could get.
I am sorry if you got “my success is purely because I am a hyper-talented genius” from my anecdote there, because that certainly wasn’t intended. There was absolutely luck involved, no argument, but my point about “applying to a job I wasn’t qualified for” still can hold.
Example: you know what would be harder than anything we're talking about here? Quadrupling the performance of the best compression algorithms. It's hard. In fact, maybe there's some information theory that even says it's mathematically impossible. That makes it really hard, which makes it what all of us should immediately start working on.
The author writes elsewhere that you also have to have an edge, but that's frequently omitted from this "hardest thing" advice.
I could try to swim across the Pacific Ocean, walk across Siberia or consume a family size portion of McDonalds in a single sitting. All those things are hard. All those things have zero to negative ROI.
Doing hard things won't get you anywhere. Most hard things are useless. And a lot of the most valuable things are not hard at all.
Their Quality was astronomical (with, of course, the rare exception).
It was the kind of thing that I was repeatedly told, by my peers in other companies, was impossible.
But my bosses wouldn't accept that. They could be real pains.
We did make top-shelf gear, but you won't really get rich, doing that (unless you're a SpaceX person, I guess).
I think the people that make a lot of money, do that by finding a "sweet spot," in improving the Quality of everyday stuff.
The distinction is between "low-hanging fruit" ideas ("Let's start a cafe!" "Let's start a WordPress theme business") and "high-value, high effort" ideas ("It's 2003. Let's build VoIP software.").
Today's narrative pushes people to try vibe code as much ideas as possible, even in parallel, but I don't think it's a fruitful approach. One should not be afraid of doing something non-typical (hard) if they belive in the idea. And if you believe, dedicate some quality time for it. If you don't believe - why bother even with prototypes?
That takes a lot of quality time to just figure out the right syntax and semantics, let alone having to figure out how all of these complex pieces fit together!
A book on a similar subject that I don't see mentioned very often but which I quite enjoyed as "Tough Things First" by Ray Zinn [0]. Not the most popular one, but really down to earth and approachable ideas. Kind of like PG's "do things that don't scale," just applied on a broader timescale.
[0] https://toughthingsfirst.com/book/
https://youtu.be/-Evrm03Y5hI?si=CvadZlyzR-PfwFh5
[Bonuses: narrated by Werner Hertzog and starring Ed Ruche]
As someone once said: any fool can do for $2 what it takes an engineer to do for $1.
"You should take care always to be inclined
not to the easiest thing, but to the hardest;
not to the tastiest, but to the most insipid;
not to the things that give the greatest pleasure, but to those that give the least;
not to the restful things, but to the painful ones;
not to consolation, but to desolation;
not to more, but to less;
not to the highest and dearest, but to the lowest and most despised;
not to the desire for something, but to having no desires.”