There has been some interesting reading recently which may not seem to be related but definitely has some commonalities. The common threads in these posts may not seem obvious at first, but after some discussion I think you will see what I am talking about.
First, we have seen the whirlwind marketing tour that is Tim Ferris and his new book The 4-Hour Body. I am not going to review the book, though I did buy it, but if you look at the book, it is a fast-paced guide to hacking your body. As Tim mentions, he tried getting some doctor’s involved in his research but he was told he could do more outside of the system (meaning traditional medical research). So, Tim took unorthodox methods, experimented on his own body first, figured out what worked and published a book. Tim has made a living outside of the system, so it should be no surprise that he should continue that way. The other part of Tim is that he never seems to be happy with good enough.
If you feel that your current job is good enough, are you being challenged and are you learning anything? On MyEscapeVelocity, they talk about getting comfortable with being uncomfortable. Why? The post gives us a great explanation:
When you are too comfortable, it means you are probably not trying hard enough. You have gotten to the point where you are “good enough”. But good enough is not great, outstanding or groundbreaking. Good enough walks on a treadmill, instead of blazing a new path. Good enough doesn’t encourage progress. Good enough doesn’t change the world … When you are uncomfortable, you are pushing boundaries. You are trying new things. You are willing to fail and fail big.
If Tim Ferris was comfortable with good enough, he would have stopped with his first book. If the Twitter founders were happy with good enough, they would have stayed at Google. If all people were happy with good enough, there would be no innovation, no progress, no Google and no Facebook.
The real question is how to get past those feelings of good enough being good enough. Sometimes you get stuck in the rut of a job because the economy is bad and there are not many good jobs to be had. Even in a good job, you can get into a rut of doing the same things all of the time. How can you change that? You need to either think outside of the box or jump into something completely different. As an example, take a look at Fred Wilson’s post about “skipping the water”. Basically, from the edge of the board you can navigate through the water to get to the rope swing. This is taking the incremental approach to a problem. What if you just used the spring to jump?
In many cases, that jump may be a little big for people to risk. Jumping into a new career or even a new functional area is too scary. Initially, it may sound scary but what if you thought outside of the box? What does your current area and the new area have in common, what can you relate to? This does not sound like much, but some level of familiarity will make the jump seem much simpler.
Let’s look at an example. I was developing Web CMS systems for a while and the chance to build a web analytics solution was proposed to me. This was a different functional area, but still within the same company. Granted, it was not building a completely custom system, but trying to integrate with one analytics provider to start and eventually add support for the top 3 vendors. This would require significant knowledge on how web analytics were tracked and what they mean. So, why did I make the jump? Because I looked at it from a different angle. Web analytics help site owners determine how the site is performing as well as pointing at things that may be done differently. After seeing some basic analytics information, I realized that a web CMS and analytics are really dependent upon each other. You can change things in your CMS to make analytics tracking easier, and the analytics data can tell you what type of pages are retaining attention or converting better. When looking a things in this manner, it almost seemed logical to make the jump.
Admittedly, this is not as big of a change as changing careers, but in the world of software development there is a significant difference. The knowledge required from each job is much different than the other.
The other thing that you can do is take the Tim Ferris route, which is experimentation. Experimentation can help when you are looking at things that make you uncomfortable. Let’s assume that you have a startup and you have a large quantity of data stored in a traditional database like MySQL. What if you needed to scale the application to support more users and complete some data analysis tasks? NoSQL solutions would be a possible option, but for someone used to relational databases this is a big jump. So, how do you cross that chasm of fear? Incremental experiments. As your first goal, try to load your data into Hadoop running on a single machine. Once you have done that, try running some basic queries that your application needs to be able to execute. Do these run OK, is the translation from SQL overly difficult? Next, try running a distributed installation of Hadoop. Run your queries again to see if there is a significant change in performance. Once you are happy with those results, start the data analysis tasks. First, you need to choose a language, like Pig or R. So, make a choice based on the examples and documentation that are available. Once you have picked a language, do some basic data analysis like data summarization tasks. After that, try some more complex analysis tasks. At this point (and in less than 10 steps), you have incrementally created your new data environment and should be comfortable with the new tools. That wasn’t so bad 🙂
There is one last option you can take when dealing with something new or scary or uncomfortable. You can wait until someone like Tim Ferris or the Twitter founders break new ground and publish their findings. This is a very comfortable route to take and ensures that you will always be 2 years behind the trailblazers . Does that sound interesting to you?