Rick is asking, What can you keep in your head?
This isn’t going to be “an open letter to Rick.” I have a ton of respect for Rick. He runs an honest, helpful blog which pulled me out of a hole on many occasions. His post got me to finally distill my observations and opinions for those who feel the same way.
Disclaimer: it took me a day to write this post and two weeks to “sleep on it.” I’m not naming names, pointing fingers, or settling score with anyone. These are general observations. Take them with a grain of salt.
What are your goals?
It all depends on what you want to do and where you want to be in the long run. In the words of The Fountainhead protagonist (I will quote the book liberally here),
“Most of the time will be spent working. I’ve chosen the work I want to do. If I find no joy in it, then I’m only condemning myself to sixty years of torture. And I can find the joy only if I do my work in the best way possible to me. But the best is a matter of standards—and I set my own standards.”
Time is a very limited resource. If you spend all your time chasing every technological fad, you’ll end up nowhere. How do you decide what’s worth pursuing? Read on.
Specialist or generalist?
It depends on your worldview. Do you want to be really good at one thing, or know a wide range of subjects in less depth? I prefer to be a generalist, although I know some things much deeper than others. However, it takes a substantial effort to be a generalist. You have to read a lot and keep your ear to the ground.
Basics don’t change (that much)
The term “bubble” has existed in finances for at least a couple of centuries. In the grand scheme of things, the latest dot-com bubble was nothing new. It had the same age-old mechanisms, and yet a lot of people made a trip to the loony bin.
Compared to finance, the field of computing is very young. Over the years, the same basic principles migrated from one language to another, yet they stayed mostly the same. If you read Steve McConnell’s Code Complete and look at the bibliographical references, some of them go way back.
Knowing technology-agnostic principles of software construction is absolutely essential. The Mort crowd doesn’t get this. They focus on what’s shiny. At the end of the day, the choice of technology
matters very little. You can do amazing things with Java, .NET, Ruby, Python, etc. Knowing the principles, you will be an outstanding developer regardless of the technological fads.
A lot of people are stressed out over the torrential downpour of new technologies and tools. Do you have to know them all? No, of course not. What about all those alphas (euphemistically called “CTPs”) and betas? Ignore them. I see people who jump on the bandwagon early and rewrite their stuff over and over with each CTP release. If you’re not yet sick of such a chaotic and unfocused life style—fine. Otherwise tune out!
Case in point: a good friend of mine was presenting at a Code Camp not long ago. He tried to explain the Singleton pattern and drew blank stares from the audience. Now, come. On! This is what the drag-and-drop mentality does to you: you miss the essentials.
“Evangelists” of various stripes and colors
The mission of Evangelists (pun fully inteded) is to sell you on some technology and its tooling. They are in the business of converting and bringing you into “the fold”. It’s not about educating you. Have you ever heard an evangelist give a talk on object composition, separation of responsibilities, refactoring, inversion of control, and such? Not likely.
Microsoft has plenty of marketing dollars to spend, and they do so by way of evangelists creating noise and pitching the latest shiny toy. It’s marketing, not education. Next thing you know, Betrand laments that book authors badmouth UpdatePanel for its abysmal performance and resource hogging. Bertrand, you never told us the whole story about its performance implications. You let the marketing gang do
the talking. But smart people filled in the blanks and got pissed off. Do you expect loyalty for sweeping crap under the carpet?
Understand this relationship. Evangelists are good people, but their priorities are fundamentally different from yours. The better they do their job, the further they will advance within the Microsoft org chart.
Think about it: you refuse to sign up for an extra credit card when a solicitor calls. But you keep imbibing everything evangelists serve you, whether you need it or not. Why?
Case in point: Silverlight. In political terms, Microsoft is playing safe here by going to their base (that’s you) instead of Rich Media professionals (the Flash/AIR crowd). The majority of developers don’t work with Rich Media, so the bet is that you will peddle Silverlight in your company.
Understand that you’re being pitched. If you need to master a specific technology, pursue it. Otherwise tune out!
Glory hounds
Recognize also that there will always be people proclaiming the virtues of a new technology or methodology at the top of their lungs. Not because it’s good (it may as well be), but because it’s new and shiny and because they need to generate consulting gigs. Recognize also what keeps them going:
“He’d see that all his wishes, his efforts, his dreams, his ambitions are motivated by other men. He’s not really struggling even for material wealth, but for the second-hander’s delusion—prestige. A stamp of approval, not his own.”
Does it have to stress you out of your wits that there isn’t enough time in the day to follow each loud voice? I prefer to “lead useful, active private [life] in public silence.” This kind of stress doesn’t get to me anymore.
Certifications
In my opinion, certs are meaningless. Don’t kid yourself: certs do not intend to educate you. Prep books are intended to coach you how to pass exams. Of all geek literature, prep books are the most useless.
If you ever come to an interview and all they want to see are your certifications, do yourself a favor and walk out. No need to swim in that cesspool.
Your name is your brand
In them ol’ days, a person could finish high school, go work at the same factory his entire adult life, retire and live on factory pension. Our generation doesn’t get this luxury. Instead, too many employers of today bemoan the lack of “loyalty.” If they only saw their companies were stale and boring they wouldn’t complain.
In this day and age, your name is your brand. You don’t build this brand by joining a crowd of Morts. You need to work on your brand. It takes time and effort.
“You know how most people are, they stick to the beaten path, they pay three times the price for the same thing, just to have the trademark. Courage […], they lack courage.”
And again,
“It’s the hardest thing in the world—to do what we want. And it takes the greatest kind of courage.”
This is, by the way, one of the reasons I don’t join “blogging gangs” (an ensemble of bloggers under one URL). I don’t want to dilute my brand. Neither do I want to dilute that of others.
Where do I go from here?
Read good books and blogs. Go to user groups and Code Camps. Take paid training with a reputable company, if you can afford it. Find an angle you like (mine is web standards and usability) and work it. Develop your individuality and your own brand—your name.
If you have read to this point, congratulations! You now know what Morts never will.