6 ms·
I hold Joel Spolsky in very high regard, but I just think he's fundamentally wrong here. I've seen (first hand) many times when great developers stagnate at var
by dvt 9y ago
I hold Joel Spolsky in very high regard, but I just think he's fundamentally wrong here. I've seen (first hand) many times when great developers stagnate at various companies and they leave. This can happen for a few reasons, but we're deluding ourselves if we think every single job is "solving the big one" -- no, sometimes we need people to write the plumbing, the boring stuff, the unit tests, and so on. Great developers, more often than not, get bored. If they have any sort of intellectual curiosity, they will leave. In most cases, corporate programming is just not very interesting. So first, we have the curious geniuses. I know many of these people that hop around from job to job and they say "meh Google sucked" or "Facebook was boring so I'm at this new startup now."
Second, we have the people like me. I hope my hubris isn't showing, but I think I'm a pretty decent developer. I wrote a few books, had some contributions to a few big-boy OSS projects, am in the top 1.5% of Stack Overflow (even though I haven't really been contributing for like 4 years now), etc. I also built things -- many, many things -- some have a few hundred stars on Github, many have none. My goal in life is to "do my own thing" and, eventually, get that FU money. That is never going to happen working a regular 9-5 job and, in my early 30s now, I've completely accepted that. So I work for a few years (2-3) and then take a sabbatical where I dedicate my entire time on a project or two, trying to get it off the ground. When it inevitably fails, I go back to a "regular" job. The gap, contrary to popular belief, doesn't hurt you. When you explain and show what you built, people are more likely to be blown away rather than derisive.
Finally, we have people like Max Howell who famously got rejected by Google even though literally everyone at Google uses his software. Max Howell is most definitely a great developer, and yet Google tripped all over their own corporate shoelaces. Let me put it this way: if I did a startup, I would 100% want Max Howell on my founding team. I mean just take a look at not only the code quality, but also how PRs/reviews are handled in homebrew.
- monocasa 9y agoWRT to the Max Howell thing, if you can't swap the left and right branches of a tree, I have a hard time believing that you're a great developer.
- tabeth 9y agoWhat do you believe is so special about swapping branches of a tree? Couldn't you just as easily say "if you can't make and maintain something more than a few thousand people use reliably, then you're not a great developer?"
- monocasa 9y agoOther than it's one of the simplest transformations of one of the simplest data structures?
- tabeth 9y agoSo, is your point that if someone can't do something that's "simple", then they're not "great"? I've seen Nobel Prize winning physicists make trivial math errors. I'm talking adding 8 + 9. If you can't say that is true for all cases is it not worthless as a metric?
- monocasa 9y agoIt wasn't that he screwed up a minor thing off the top of his head, he had fundamental misunderstandings on how to approach the problem. I doubt that's the case for your 8+9 example.
- tabeth 9y agoWhat exactly is your point then? Do you not think "great" people occasionally have "fundamental misunderstandings"? Who determines what is simple? Who determines what's fundamental? I also find it strange that you give the physicist a pass in my example, but not the developer. If someone makes a mistake adding any two 3 digit numbers in their head are they not great? After all, there are people in grade school who can do this easily.
- monocasa 9y agoThere's a huge difference between messing up a small piece, and not knowing how to even approach a trivial problem in the field. Do you not see the difference? Like, this is way more like Francis Crick asking 'what's a cell?' than screwing up a math problem.
- matt_wulfeck 9y ago> Great developers, more often than not, get bored. If they have any sort of intellectual curiosity, they will leave. This is a good point. When you're skilled and have a good network, there's no point in putting up with a bad manager or an uninteresting or underpaid role.