“Knowledge is knowing a tomato is a fruit. Wisdom is not putting it in a fruit salad” -Anonymous
One common refrain from experienced engineers outside of Silicon Valley is that ‘nothing SV cranks out requires any talent’. Seeing that I’m an engineer turning that very same SV crank, I immediately took offense. What?!? How could anyone say that these amazing new apps put together with generators, Bootstrap and the latest over-hyped database… I’ll concede that point. As I’ve thought about this more, I’ve found some truth in the statement - but not as much as those who spout it might want. There’s plenty of evidence that both sides are equally correct, just in different microcosms.
Before going any further, let’s define a few terms.
- Knowledge is anything you can look up.
- Talent is anything you can’t look up.
Gluing together a MVP calendar app with Bootstrap, Angular and a Mongo wrapper takes knowledge. There might be a few APIs and libraries to install but all of those can be condensed to a few StackOverflow questions. Building something people can love and use for years takes talent.
With that in mind, does anything produced in the Bay Area require talent?
The startup culture of Silicon Valley is all about getting things off the ground. If there’s one thing I’ve noticed while writing my wild array of scatterbrained projects, it’s that the most tedious thing is getting it off of the ground. Setting up a basic page, site structure and plan are all basic evils that must be addressed before any of the fun work can be done. Us coders have a glut of frameworks and libraries offering to do the heavy lifting for us. Early on, nothing more than knowledge is needed to put things together. Grab some templates and a generator or two and you’re good to go. You don’t even need to be aware of server administration, as deployment is nothing more than
git push heroku master.
Naturally, many of these fail. As is the nature of the Valley, most of the team will either be acquihired or move on to other new projects, repeating the same cycles, building the same-but-just-different-enough CRUD applications to disrupt something or other. Continually running through the same starting procedures means that knowledge is built up, but talent is never accrued . Often, the engineers won’t realize that their career is on a treadmill - moving fast but going nowhere. Rarely will anyone in this cycle wonder why companies founded by those who’ve never grown beyond CRUD continue failing when talent beyond CRUD is required, a mistake that can kill a career.
If this is the endless cycle of no talent, where are all the ‘talented’ engineers? Well, they’re a little further south.
Sometimes startups don’t fail and start growing. The task of scaling technology, revenue or people is complex and can’t be found in a blog. The guys who put this together don’t read the docs - they probably wrote them. They depend upon years of practice finding edge cases, studying the core of a language and hard, non-Googleable work, one detail at a time. These guys are the ones pulling down the seemingly-obscene salaries - and yet they’re worth it. Every single IPO or huge acquisition involved these guys creating a massive amount of value.
These fantastic coders are where we get the culture of engineering superiority and the idea that some engineers can produce work that’s an order of magnitude better than others. It’s easy to idolize them, pretending that their talent was forged in some mysterious Stanford backroom. For the most part, the high cabal of Silicon Valley engineers started out like everyone else, building simple projects through tutorials. Unfortunately, anyone with half an engineering degree tends to believe that they are these fabled ‘10xers’, and are nothing short of Torvalds himself. The phrase ‘Growth Hacker’ was briefly used to describe this second group, but was immediately co-opted by everyone who had ‘growth hacked’ their Twitter account to 150 followers. Instead, they continue to run the mobius loop of knowledge and failure, never understanding why they aren’t getting anywhere.
Is there any hope for someone currently bound by their lack of talent? Absolutely. Find one of many open source projects and start sweating the details. Find code you don’t understand and go through it line-by-line until you’ve grasped all you can. Most of all, understand that playing Mary Had a Little Lamb a million times won’t make it easier for you to write a symphony.