Mike Walsh (Twitter, blog) tagged me with a great question today: what do you wish you’d have known when you got started? Oh, where to begin…
Pick one thing and get really good at it.
Every year, there’s going to be some sexy new technology. Your friends are going to be all over it, and they’re going to be oohing and aahing at how cool and new it is. They’re going to spend all their spare time learning how to use it, but since it’s new, there’s not going to be any established “right way” of doing it, so most of them will be doing it wrong. When the standards come out, they’re going to spend more time relearning it – but because there’s standards, it’s going to lose sex appeal, and your friends will be off to the next shiny new technology.
Your friends will be doing this for a decade. My friends did – here’s ten years of their lives in one bullet list:
- Learn VBscript ASP and build web apps with it
- Learn Java and build web apps with it
- Learn .NET and build web apps with it
- Learn PHP and build web apps with it
- Learn Python and build web apps with it
- Learn Rails and build web apps with it
I’m not saying you should stop learning, but you should focus your learning on a very small surface area, and dive deeply into that subject. At the end of ten years, you can either be a junior guy in half a dozen languages, or a very senior guy in one. Guess which one is worth more money.
Update 2/11 – K. Brian Kelley and I were talking on Twitter, and he had a different viewpoint. I encouraged him to write a counterpoint, and he did.
Learn how to write a business plan. Write one per year.
The go-go dot-com days are over, but investors and companies with money are still looking for The Next Big Thing. Read up on what it takes to write a business plan. Go to your local small business incubators (yes, they exist – call your Chamber of Commerce) and start going to meetings.
At some point in your career, you’re going to run across a business problem that needs your help for a solution, and your experience in writing business plans will enable you to visualize how to make money from your solution. If you don’t have that business plan experience, you’re going to do what I did: write small one-off solutions and think that’s all the work that needs to be done.
At Quest, I get to rub elbows with people who’ve gotten rich (or at least, rich compared to me) by building their ideas out into solutions, and then getting acquired. It really does happen, and if you’re in IT, you’ve already got the tools to build stuff.
Be passionate about your job, or be passionate about looking for the next one.
Whiners suck. They sit around complaining about how rough they have it, how they’re so miserable, why they’ll never be happy in this company because it’s sucking the life blood out of them, that they never had a chance, yadda yadda yadda. They say they’re looking for another job, but they’re just uploading their resume to Dice or Monster in the passive hopes that MisterRightInc will see it and come calling.
News flash: MisterRightInc doesn’t look at faceless people on Dice and Monster for employees. MisterRightInc knows his next employee before the job vacancy is even created, because he’s seen that employee doing the work.
Being passionate about looking for a job means getting up off your rear. Get out into the community, help your fellow IT workers, and pass on your own knowledge. Show that you’re passionate about what you’re doing even if you’re not passionate about who you’re doing it for, and the right people will notice.
Don’t implement a solution that you can’t hand off to somebody else.
When I got started building stuff, I’d implement something in production that needed just one hour of my time per week to keep it running smoothly. Check the logs. Clean up the leftover files. Restart the service.
Your goal is to build something that will become popular or important. If it’s popular or important, then support will slowly become more and more important. That one hour per week will turn into a phone call per week, or an emergency gotta-leave-this-meeting per week.
Best case scenario, you can build 40 of those solutions that require one hour of intervention per week before you’re working after hours – and that doesn’t include meetings, coffee breaks, etc. Even worse, you can’t free yourself of any of those solutions at that point because you won’t have the time left to go back and improve them. You’ll be burned out, frustrated, and dying to leave the company to escape the wrath of your own solutions.
When you build a solution, right from the start you need to plan for handing it off to somebody else. Take someone aside and show them what you’re building. Plan for your vacations and days off. Everybody loves a superhero, but nobody wants the superhero to take a week off.
The nature of the question means I can’t tag young whippersnappers, but only old farts like me:
Amen Brent. If you don't mind, I'm going to tag myself anyway. 🙂
Hahaha, cool, I'll edit the post and make it official!
Great input. Speaking from experience, learning one thing and sticking to it helps. if you are passionate about it, it comes naturally and you want to be continually growing in it. SQL was mine (obviously). I started out in support, and when they started talking about the database it was all new to me (SQL 6.5 and 7.0 shop) and something about it clicked. It was love at first site and off I went and here I am. I am not a guru (maybe in my own mind) but I am focused and it has paid off.
It’s the dot-com-age-old question of do you want to be a specialist, a deep generalist or a generalist, isn’t it? I don’t know – I think it’s pretty personal and maybe more environment-dependent than some people might otherwise think. If you live in a small, not-so-wealthy town in middle (UK/America/wherever), being a specialist might not be a wise choice. In Manhattan or London, you probably can win more contracts being a specialist because you stand out.