Rendered at 13:16:32 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
Planktonne 3 hours ago [-]
These role descriptions are just horoscopes for MBA people. Whether you call yourself a cowboy or a red/green or an ISTJ or an Aries, you're still trying to fit the world into a simplistic and unfalsifiable classification system.
cucumber3732842 1 hours ago [-]
It's an arbitrary scale. They could've used anything. Rowboats to container ships.
rhunterharris 27 minutes ago [-]
OP here. I did like the metaphor of each group laying foundations for the next group.
I might not have gotten this across, but I also feel like there is a sort of ‘terraforming’ aspect too - each group ushers in the next group, which in turn changes things to a point where the previous group gets less and less comfortable.
Planktonne 47 minutes ago [-]
People inevitably attach unwarranted meaning to such things though--you'd end up with rowboat networking groups, people referring to themselves as galleon-speedboat hybrids on LinkedIn, companies saying they're in the post-coracle 'coraccelerate' phase.
It's tribalism that distracts from actual progress; every cowboy/hunter/ship would be more productive if they stopped trying to pigeonhole themselves.
jdw64 5 hours ago [-]
As I organize the history of programming, I think the OP's analogy is right. I remember that in the early days, code that just worked as long as it was implemented was called 'cowboy coding.' These days in the US, it's not considered a good coding practice, but there were many programmers who missed it.
During that time, many star programmers emerged. The legends we know today. When cowboy coding started causing problems with collaboration, rules had to be created, and people wrote those rules. Whether it was creating something from 0 to 1 or various other areas, stars seemed to emerge everywhere.
But as time passed and businesses became more sophisticated, the early implementations piled up layer after layer, and human cognitive limits started to show. It seems like it's becoming increasingly difficult for extremely talented star programmers to emerge in specific fields.
In reality, everything—networking, databases, browsers—has become so much harder than in the old days. When I first learned computers, it was opening Notepad, creating an HTML file, and loading it. These days, people start with Python.
So as an industry becomes more advanced, it seems harder for a star programmer who can control everything alone to emerge.
Star programmers are appearing in the AI field right now because it's a new, unexplored territory. They implemented a lot early on and started creating things from 0 to 1, which excites people. But no matter how much I think about it, I don't have the ability to create from 0 to 1. I can't even take something from 1 to 100. I can only combine things at the 20–30 level to make a single product. That's why I think it's hard for me to become a star programmer.
I also want to become a cowboy somewhere, so I've been wandering through an empty pasture, but I don't know where that place is
rhunterharris 33 minutes ago [-]
OP here. Glad you enjoyed this.
It’s an interesting point - I guess I implicitly acknowledged internal frontiers like the ones appearing with AI, but more explicitly acknowledging that as you have is valuable I think.
I do think there are frontiers (mostly in startups, I believe I am working with one now). They do have their tradeoffs. They can be exciting, but also frightening, uncertain, and professionally deadly (personally deadly if you tie your life savings up in them).
I do think frontiers exist, can be found, and can be created. But that’s a difficult and risky proposition!
jdw64 14 minutes ago [-]
You're really good at coming up with easy-to-understand analogies. I enjoyed reading it. I was able to grasp your points right away. Personally, I think you have a talent for teaching.
skydhash 2 hours ago [-]
> In reality, everything—networking, databases, browsers—has become so much harder than in the old days. When I first learned computers, it was opening Notepad, creating an HTML file, and loading it. These days, people start with Python.
That’s because all the low hanging fruits and most of the high ones have been taken. The only thing left for most people are people’s problems, not technical ones.
Complex solutions that are easy to use but hard to understand are easily available (and useful). While the simpler ones require some elbow grease and the will to learn every knob.
In the old day, you mostly have the bios and some memory buffer to do graphics, now you have complete solutions like SDL. But that is supported by a big tower of abstractions.
jdw64 2 hours ago [-]
As things become more advanced and industrialized, I'm not sure when I'll be able to find a blue ocean
skydhash 57 minutes ago [-]
Currently, I’m trying to learn more about the technology I use (Computer organization, OS, codebase of various software), some advanced topics that I really like (distributed systems, compilers, control of dynamic systems), and refreshing my knowledge from college (math, physics and electronics).
The primary reason is that I spent a lot of time on top of the tower, that I never really learned what goes into it. It’s quite uplifting to have another perspective on a practice you’ve been doing dogmatically. And the latest thing that I was able to do thanks to that was diving into Qemu’s code to learn how they implemented AVR emulation and understand everything easily. This week, I’m exploring OpenBSD’s PCI implementation.
jdw64 13 minutes ago [-]
What's your secret to keeping that passion alive? I guess I'll have to find my own way too
dave1010uk 6 hours ago [-]
Wardley's original post on this [0] is worth a read. OP adds cowboys and city folk, and makes it a bit more personal.
5 interesting things that are worth making explicit:
1. These teams/roles are as much about appetite and attitude, as they are about someone's skills and capabilities. Some people just aren't comfortable or happy when operating in these environments.
2. Innovation isn't just at the early "0 to 1" stages. Townspeople need to innovate to scale from a million users to a billion.
3. Successful orgs have teams at all stages, working together. Each team evolves what the previous stage built. And cowboys / pioneers are only successful if they can build on industrialised components.
5. As a product evolves, it moves through the stages. Teams either need to let go, or change their way of working.
OP here, thanks for this! I think all of this is valuable, but I especially think I failed to stress #2 enough.
janpeuker 4 hours ago [-]
Simon Wardley made an important comment on LinkedIn which is worth repeating here because I really feel the settler-colonial language here is unhelpful and obnoxious (what are we implying with 'legends are formed from chaos', destroying everything that exists before and erasing its history is good?):
> PST (pioneer-settler-town planner) is just the original naming of EVT (explorer - village - town planner). I changed the naming because after 18 years of doing this, I finally accepted the colonialist overtones of the original naming. That was 3 years ago.
everythingabili 4 hours ago [-]
There's something naive about all this, as if the entire metaphor is a somehow laudable, benign or 'natural' process tied up with Americans' origin story - but some omits the wholesale slaughter of indiginous people, the mass enslavement of people from another continent, and along the way poisons half the land with toxic waste.
They're both also stuck in the "golden" 1970s, and is without the subsequent stages that contain bureaucrats, politicians, mafioso, tech oligarcs and demagogues, which pretty much reduces the prior stages to proles, subscribers or fodder.
As Adobe continue to enshittify their products, to public disgust, they're more profitable than ever, I'm not sure if these cutesy "Townspeople" metaphors mean anything at all.
I might not have gotten this across, but I also feel like there is a sort of ‘terraforming’ aspect too - each group ushers in the next group, which in turn changes things to a point where the previous group gets less and less comfortable.
It's tribalism that distracts from actual progress; every cowboy/hunter/ship would be more productive if they stopped trying to pigeonhole themselves.
During that time, many star programmers emerged. The legends we know today. When cowboy coding started causing problems with collaboration, rules had to be created, and people wrote those rules. Whether it was creating something from 0 to 1 or various other areas, stars seemed to emerge everywhere.
But as time passed and businesses became more sophisticated, the early implementations piled up layer after layer, and human cognitive limits started to show. It seems like it's becoming increasingly difficult for extremely talented star programmers to emerge in specific fields.
In reality, everything—networking, databases, browsers—has become so much harder than in the old days. When I first learned computers, it was opening Notepad, creating an HTML file, and loading it. These days, people start with Python.
So as an industry becomes more advanced, it seems harder for a star programmer who can control everything alone to emerge.
Star programmers are appearing in the AI field right now because it's a new, unexplored territory. They implemented a lot early on and started creating things from 0 to 1, which excites people. But no matter how much I think about it, I don't have the ability to create from 0 to 1. I can't even take something from 1 to 100. I can only combine things at the 20–30 level to make a single product. That's why I think it's hard for me to become a star programmer.
I also want to become a cowboy somewhere, so I've been wandering through an empty pasture, but I don't know where that place is
It’s an interesting point - I guess I implicitly acknowledged internal frontiers like the ones appearing with AI, but more explicitly acknowledging that as you have is valuable I think.
I do think there are frontiers (mostly in startups, I believe I am working with one now). They do have their tradeoffs. They can be exciting, but also frightening, uncertain, and professionally deadly (personally deadly if you tie your life savings up in them).
I do think frontiers exist, can be found, and can be created. But that’s a difficult and risky proposition!
That’s because all the low hanging fruits and most of the high ones have been taken. The only thing left for most people are people’s problems, not technical ones.
Complex solutions that are easy to use but hard to understand are easily available (and useful). While the simpler ones require some elbow grease and the will to learn every knob.
In the old day, you mostly have the bios and some memory buffer to do graphics, now you have complete solutions like SDL. But that is supported by a big tower of abstractions.
The primary reason is that I spent a lot of time on top of the tower, that I never really learned what goes into it. It’s quite uplifting to have another perspective on a practice you’ve been doing dogmatically. And the latest thing that I was able to do thanks to that was diving into Qemu’s code to learn how they implemented AVR emulation and understand everything easily. This week, I’m exploring OpenBSD’s PCI implementation.
5 interesting things that are worth making explicit:
1. These teams/roles are as much about appetite and attitude, as they are about someone's skills and capabilities. Some people just aren't comfortable or happy when operating in these environments.
2. Innovation isn't just at the early "0 to 1" stages. Townspeople need to innovate to scale from a million users to a billion.
3. Successful orgs have teams at all stages, working together. Each team evolves what the previous stage built. And cowboys / pioneers are only successful if they can build on industrialised components.
5. As a product evolves, it moves through the stages. Teams either need to let go, or change their way of working.
[0] https://blog.gardeviance.org/2015/03/on-pioneers-settlers-to...
> PST (pioneer-settler-town planner) is just the original naming of EVT (explorer - village - town planner). I changed the naming because after 18 years of doing this, I finally accepted the colonialist overtones of the original naming. That was 3 years ago.
They're both also stuck in the "golden" 1970s, and is without the subsequent stages that contain bureaucrats, politicians, mafioso, tech oligarcs and demagogues, which pretty much reduces the prior stages to proles, subscribers or fodder.
As Adobe continue to enshittify their products, to public disgust, they're more profitable than ever, I'm not sure if these cutesy "Townspeople" metaphors mean anything at all.