Hard work and specialising early is not always a recipe for success
thecorrespondent.com
thecorrespondent.com
Back in the days of 20th century ambitious, well-funded journalism, it was common to see specialized writers do their boldest, most imaginative work in their first year on the beat.
They also made some newbie mistakes, but on their good days, they saw stuff that the old pros didn't. They asked the "obvious" questions that everyone else had stopped asking. They ventured into areas that according to conventional wisdom were "unimportant" or "not yet significant."
People who had been on the same beat for 10 years or more could reliably generate solid and perhaps even admired work in their specialties. But they worked within shrinking boundaries.
The senior editors who really earned their keep made sure that the rest of us kept rotating into new fields every few years, so that the "wow!" factor never left our work.
I have seen the reverse where so many junior engineers make soooooo many mistakes that are absolutely obvious to experienced engineers. That's why we review things.
I would also argue that programming advances so slowly for exactly this reason--we really don't respect the senior ones who know what they are doing.
In spite of what people think, programming isn't "new" anymore. A "know it all" programmer may be someone who has seen the wheel turn 3 or 4 times at this point. I would argue that programming hasn't really had a significant change since modern (read: assumes infinite memory and CPU) managed runtimes (Java, Python and Javascript).
Part of this is that the fastest way to a VC lottery winner is "social fad"--you want youngsters primarily because they are "plugged into the scene" and the programming is secondary. The number of times I have seen junior programmers try to solve the halting problem would make you weep.
I think we all have at some point. :)
Those of us who had some experienced people around simply found out sooner rather than later.
In what context?
What you describe is an example professors used during my education to motivate theoretical CS studies, i.e. you don't want to be THAT guy.
However, while this is true, I haven't yet seen many junior programmers on the job trying to solve the halting problem. I don't quite understand why that would be common. But maybe you are talking more about online communities and side projects?
> In what context?
The problem is that they don't recognize it as the "Halting Problem". It will be something like "Well, we can scan this thing to see if it does X or Y." No, actually you can't because "Doesn't terminate" is also an option. Oops. That's the Halting Problem.
In digital design, non-causal logic is a similar pitfall. Offline DSP algorithms can look backward and forward in time. If, however, you try to apply such a forward looking algorithm to a real-time system that needs an answer on the same time as the current sample, you wind up accidentally creating non-causal logic and wondering why your algorithm isn't working.
You may try removing whitespace, finding invariants, ordering the variables by type, converting for loops to while, tail call optimization, but your collegue always has a trick to make equivalent functions undetectable by your module. You were solving the halting problem. Instead, you should use CS knowledge and tell them it's impossible but they can have a non-optimal search. Perhaps, the fastest way to complete the task would be to score similarities between the functions' machine code or AST.
This is not to say that there aren't people out there more than happy to have a deep specialization. That's perfectly fine as long as it's done as a free individual choice and not as some parental/scholastic imposition.
Offer trusted escrow because multisig is too complicated? Win.
Compiled a slightly better mining software? Win.
Learned how to host and run an exchange? Win.
Learned how to launch an irrelevant, redudant new blockchain? Win.
and the list goes on and on and on
Absolutely nobody is going to say "hmmmm, it looks like you've been doing trusted escrow for years, we need someone that knows React JS and can hit the ground running"
(Only traders and holders lose money in the blockchain space bear markets. A lot of people earn, and earn quite a substantial amount regardless of exchange rates.)
However, the pressure at workplace is exactly in the opposite direction. First, one should become a "full stack developer", because why hire two or three experts when we can have one person do everything. Then one needs to become a "dev ops", so that we don't have to hire a system administrator either. Afterwards, one is pushed to also do some management, customer support, etc.
I suppose the ultimate dream is a company consisting of only two kinds of people: the boss, and the infinitely replaceable all-knowing employees. Generalists are popular, because you can always fire one and distribute his former workload among the remaining ones.
On the one hand, my personal preferences just tend to being more generalist. And I think that can inform opinions and understanding whereas extreme specialists can often have such blinders that they really miss broader context.
On the other hand, go too broad and you know a little bit about a lot of different things. And you really have very little background in any individual area to, for example, push back against BS claims.
I'm in a profession now where full 100% of the founders of successful start-ups in this domain started off in a different industry. It's kind of astonishing that none of the experts in the field have been able to leverage their knowledge to start a successful company, they just act as consultants.
That said, in many contexts, no one can have a useful perspective on everything. Yes, a Lou Gerstner can come into IBM and be successful. But, if we're talking beyond high level management, you probably need some domain-specific expertise.
I’m a similar age to you and at one point I had considered myself a “jack of all trades, master of none” and that really bugged me. But now I’m glad for it. I find my thinking doesn’t get too tunnel visioned because of it. It also took a while to shake the stigma of not “specializing” enough.
I ran across a quite a while back though that really struck a cord with me:
“A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.”
If you find the idea of "friendly learning environment" vs "hostile learning environment" interesting, consider reading Leslie Valiant's book "Probably Approximately Correct" -- a discussion of what is learnable in the natural world
'Recipe' is a misleading metaphor that invites trouble. Preparation and perseverance are great ingredients.
You can't make an instruction book for success. Heck, we have all succeeded in spite of ourselves at some point, so there isn't even a sure-fire instruction set for failure either.
You do things to improve your odds, or mitigate possible disasters, and you hope. But if you didn't even try, then what are you complaining about?
Perhaps it's just a human tendency :-)
What's ignored are cascades of knowledge, where specializing in the right thing can make you an expert in an adjacent task with very little effort, where the barrier might be just different labels or terminology. So you can become both a potential specialist and generalist by chosing the right thing to specialize in.
The best leaders have to be experts at everything. It requires a specialization in generalization, to understand not just your own role but every role in an organization.
Even when machine learning solutions have unambiguous value propositions and direct paths to cost-effective implementations based on known techniques and resource requirements, the projects are subject to extreme risk of internal political shutdowns, arbitrary gatekeeper constraints on data limitations or limitations of what technique can be used so that specialists in technique X can build up longterm control of a profit stream (I’ve seen this a lot in investment firms) and eat up all the promotion opportunities by convincing leadership that their version of a research platform is the only allowable one, and more.
The article “Who Cares About Forecast Accuracy,” by Robin Hanson is a good discussion of this.
https://www.cato-unbound.org/2011/07/13/robin-hanson/who-car...
my conclusion is to never go depth first (either specialist or generalist) unless you're feeling clear benefits right away.
balancing
I see people here are having the same misconception about his message that I did before starting it. It’s not “don’t specialize in your career.” It’s more like “don’t specialize in your life.” Good generalists will still specialize, they just do it later after they’ve explored other things.
The “generalists” he’s talking about are people who can think creatively and apply their learnings to different subjects. They can adapt to changes quickly, or even come up with innovations themselves.
“Specialists” are perhaps those that just memorize the formula or are able to identify the same patterns. When outside of the contexts they’re familiar with, they’re not able to do very well. Thus, innovation and changes, even in their field, can be very difficult to cope with.
Essentially what I think he’s advocating for is a liberal arts education instead of a highly focused and specialized. The current state of liberal arts education could still use some updating too, but a highly specialized education that may pay off well in the short term doesn’t seem to help people thrive throughout life.
As kids, we mostly learn "do what we're told" because it becomes clear early on that the adults know a lot more than we do. And so by the late teens we are in some degree specialised into the ideals of the previous generation. And then we go out into the world and have to adapt. And that's a space where the specific advices we were given start failing spectacularly, but not for everyone all the time.
In this light, generalists have the quality of survivors: Facing some adversity to any particular pursuit, they aimed to lower their overall risk.
There's a big divide between people who think "facts" are knowledge and people who think understanding models and systems are knowledge. Our culture fetishizes facts as "knowledge" when most often, what's important is knowing how and why something works. Probably the most effective people who are great at doing both.
Neal Stephenson perhaps said it best:
“Nell," the Constable continued, indicating through his tone of voice that the lesson was concluding, "the difference between ignorant and educated people is that the latter know more facts. But that has nothing to do with whether they are stupid or intelligent. The difference between stupid and intelligent people—and this is true whether or not they are well-educated—is that intelligent people can handle subtlety. They are not baffled by ambiguous or even contradictory situations—in fact, they expect them and are apt to become suspicious when things seem overly straightforward.” ― Neal Stephenson, The Diamond Age: Or, A Young Lady's Illustrated Primer
A friend of mine from high school is a brilliant person and a very successful manufacturing/process engineer in a specific semiconductor manufacturing process. Whatever it was, industry moved away from it, and he found himself completely unemployable, and at an age where he couldn't get hired as a junior, even at a 50-75% compensation reduction.
He's doing great now, selling real estate and insurance.
I also remember hanging out in a tradeshow booth in the 90s with a consultant who may have been the world expert in performance of a specific, by then legacy, computer architecture. Or someone else who had the inside track and wrote about a company that got acquired and dismantled.
A narrow uber-expertise is fine. But it can become yesterday's news. To be sure, it can also be a legacy in-demand skill but there's no guarantee.
They didn’t have fantastic memories but they could talk really about anything with some basic knowledge.
Having inherited that skill it’s felt like a superpower compared to peers.
Not once have I been top of my class in anything but I’m running a lot of classes.
Lessons learned one one domain very often apply in other domains, that becomes exponential as more and more knowledge is obtained.
Trying to be 'Tiger Woods' by specializing on Golf is probably a recipe for disaster, but focusing on say, 'being a Doctor' from late high school can be a good winner. As the article hints 'the rules are clear' for being a doctor.
Given the clarity of the rules, the 0% unemployment rate etc. 'Doctor' might still be the best profession out there. Surely you can make more at an investment bank, but many (most) do not, whereas if you're an MD you really have to screw up not to do well if you're trying to.
A famous video game coach has a concept he calls the percentage play.
Imagine him reviewing video game footage along with the player after the game. The player would make a successful play. The coach pauses the video and marks a mistake.
"But it worked!"
"It worked in this case. However, it only has a 20% chance of working (due to unreliable teammates, or the opponent making a mistake when they shouldn't). Have you considered this alternative line, which has a 60% chance of success? That's the percentage play."
---
It's also a lesson about not applying NBA advice (where you can expect reliable teammates) to your casual basketball games.
It is like the old question whether eggs are part of a healthy diet or not.
Take software for example. There are highly specialised software that costs a lot for a licence while general software like an office suite goes for 5 bucks a month...
But I've written extensively about the generalist vs. specialist distinction using this definition:
"A generalist is a person with a wider-than-average range of skills and a developed sense of how to apply them to new problems."
One hard part of being a generalist is not knowing how to "train." How do you know what to learn next and how do you measure your progress?
I've been answering that question for myself the past few months and compiled a short handbook of the most practical mental models that I think all self-proclaimed generalists can benefit from knowing, regardless of which domain they work in.
If you'd like to check it out, the first 3 mental models are live here (scroll down towards the bottom): https://stewfortier.com/mental-models-that-generalists-can-u...
You can find a link to the whole series at the end of the article if interested in photography: http://pellecass.com/crowded-fields-2017-/1