If there is external factor that I've seen destroy organizations and careers, preventing, whether it is individuals or teams, from doing things which are remarkable and having fun, it is --- distraction.
Paul Graham, in his list of thirteen things that he wants to tell each startup warns startups against distractions:
Nothing kills startups like distractions. The worst type are those that pay money: day jobs, consulting, profitable side-projects. The startup may have more long-term potential, but you'll always interrupt working on it to answer calls from people paying you now. Paradoxically, fundraising is this type of distraction, so try to minimize that too.
With 'business propositions' from three different individuals and three rather tempting job offers in last year alone, for someone like me, who isn't even looking for business propositions or random job offers, distraction definitely seems to be one of those things that is not that easy to avoid. Paul Graham, while talking about disconnecting distraction, explains this much more articulately that I will be able to explain it:
Procrastination feeds on distractions. Most people find it uncomfortable just to sit and do nothing; you avoid work by doing something else.
So one way to beat procrastination is to starve it of distractions. But that's not as straightforward as it sounds, because there are people working hard to distract you. Distraction is not a static obstacle that you avoid like you might avoid a rock in the road. Distraction seeks you out.
Chesterfield described dirt as matter out of place. Distracting is, similarly, desirable at the wrong time. And technology is continually being refined to produce more and more desirable things. Which means that as we learn to avoid one class of distractions, new ones constantly appear, like drug-resistant bacteria.
But distraction isn't just about technology. Distraction has an uncanny ability to morph into multiple forms and disguise itself before it strikes you and your rather fun filled life which is moving in one direction. If you are a programmer or involved with the craft of building software, this post, dear reader, is my humble attempt to present to you multiple forms of distractions which might be working on keeping you from doing things which are 'remarkable'.
May I suggest, dear reader, to use this list as a reality check of just how many distractions you have in your work life and decide for yourself if those distractions might be preventing you from coming out with results that make small dents in a large universe.
Distraction #1 - Television And Technology.
Seriously. There are dedicated posts and entire sites dedicated on this topic and how big a distraction these are. Television, video games and random social networking websites are the single largest distraction to programmers that I've ever seen. Wasting countless hours writing on the scrap book of your class two friend, now barely an acquaintance, might be a really healthy way to pass your time but does not get anything done in the long run.
If you've seen your Yahoo messenger and email notifications popup as you try to focus on getting some real work done, you probably do know exactly what I mean.
Television and technology that is addictive and disturbing is nothing more than a random distraction.
Distraction #2 - Job Offers And Business Ideas.
Last year alone, I was given three fairly tempting job offers without even applying. More than three groups of people, including a medical teacher, wanted me to hear him out, listen to his business proposition and give 'due thought' and consideration to his business idea.
Considering job offers, listening out business ideas and giving them 'due thought' is mentally stressful and distracting, particularly when you are settled and moving in one direction where your life seems to be taking you naturally.
Unless you have genuine problems with your work-life, try to find a second home, away from home and settle down. Then gear up for some real work. This stuff is supposed to be fun; and every job change demands you spend another six months to a year, to get people around you; get people to respect you and get people give a rat's ass about what you think or have to say.
In any organization, irrespective of how awesome or kick-ass it is, it takes time to create room for yourself, get people to listen to you, give you freedom and trust to maneuver. Earning this trust and room to maneuver is a 'means' towards products and outcomes which are remarkable; it's not an end.
If you've been lucky enough to have found an organization that gives you trust and room to maneuver; stay put and utilize your time to create long term win-win situations for your own career and your organization. Jumping from one job to another in these cases, is nothing more than random distraction.
Distraction #3 - Travel And Changing Cities.
When you begin you career as a young and budding consultant, travel seems like fun. You get to see new places; meet new people and learn from different cultures. After you've done a decent amount of learning that is necessary for your life; travel quickly becomes a major distraction. Hotel suites and plane flights are not the best places to give focused effort towards what you love working on.
With a home and family, you build a support system so that you can focus on doing whatever-it-is-that-you-love doing. Constant travel takes that support system away faster than most consultants think.
Settle down. Focus. Work. Avoid travel. Do it only if you 'have to'. Travel, is nothing more than a random distraction.
Distraction #4 - Taking 'Help' A Little Too Far.
If the can-you-help-me-fix-my-machine-this-weekend questions sound way too familiar to you, you might be vulnerable to distractions. There's nothing wrong with helping as long as you can draw your lines and know when to stop.
A couple of months ago, for example, I received a call from an acquaintance who hadn't called me in the past three years. Thing gentleman wanted me to help him with his inventory control only to find out later that he was expecting me to design and build an entire freaking system for him under the banner of 'help'.
As much as you would like to be nice to everyone, especially, your child-hood friends and acquaintances, it is a sorry fact of life that the kind of people who make you feel like wearing that no-I-will-not-fix-your-computer t-shirt all the time, do exist on the same planet as we do.
There is nothing, I repeat, nothing wrong with going out of your way to help others; but knowing when the expectation of 'help' is being stretched a little too far and knowing when to stop is equally important.
Help, taken a little too far is nothing more than a random distraction.
Distraction #5 - Hot Technologies Out There.
Everyone has a product which will change the world and every product out there fits your need and your requirement; but that doesn't mean you need to care.
Yes, cloud computing might be the hottest freaking technology out there, but for your own sake, figure out how much relevance it has in your life, your organizations life before you start spending countless number of hours on it.
Not to single out just cloud computing, we spent some amount of time doing a small project in Windows Workflow Foundation; the next time on when we needed simple long running workflows, we just built a small XML based workflow engine to give us everything we need.
Just because a technology is 'hot' and it's 'out there' the experts, for obvious reasons, will exert some amount of pressure on you and make to believe you really 'need to' spend time on learning it. Time spent learning tools and technologies that have no relevance in your life, what so ever, at the cost of being mediocre at your core competencies, can be devastating for your career in the long term.
Resume Driven Development is harmful; not just for your organization but even your own career. It is in fact, nothing more than a random distraction.
Distraction #6 - Generalization Taken Too Far.
This might sound paradoxical to my advice of becoming a one man army but it's not. Turning yourself into a 'generalizing specialist' is good; but not knowing when to stop and forgetting what your core competence; in order to achieve generalization is stupidity.
When you are consulting; and you have Oracle certifications, your continuing with Oracle projects, especially when they are billed at a higher rate, might make much more sense to your organization than it might make sense to you. After I did my Oracle certifications and one small project on Oracle I had to pull the plug and detach myself from Oracle Development and database administration.
For me, understanding how the oracle architecture works was a way of improving my design skills; not a career change. I had fun learning; but it was 'not' what I wanted to spend the rest of my life doing. The same of-course, in my case, also holds true for system administration, my MCSE certification and the one year part-time system administration that I did.
Being a one man army is good; but know what you love doing; and when it's time; pull the freaking plug and stop doing things which are not equally important in your life. Be a generalizing Specialist, not a multi-purpose tool.
Generalization taken too far is nothing more than a random distraction.
Distraction #7 - Meetings And Committees.
Meetings are heroin of the software development world and committees aren't just lame - they are dangerous. I've personally been drawn in the meeting-culture once, only to realize how much time and energy it can take away out of you without even making you realize that. When you are in a meeting, you are not productive. Meetings and committees are distractions of the highest order, particularly when it comes to software development and your career.
Each one of these, deserve a post by themselves, but this is not a post about these specific distractions.
The list is, indicative but not exhaustive.
Some of you, dear reader, may not even recognize these distractions as things that might be doing you a disservice. They may be intertwined with your life, but remember, if you are indulging in them they 'are' consuming more time and energy from your life and preventing you from doing what you really love doing. They might be wasting much time out of your life than you think.
Take the Steve Jobs approach to life and figure out the things that you would do if you were going to die tomorrow.
Everything else is a distraction; treat it as such and give it as little time and energy out of your life as necessary; leaving you with room, time and energy for what you truly love doing. Avoid time and energy drains.Then go out there and do what you truly love doing. I wish you good luck.