Analysis Paralysis for Developers – Developaralasis!

paralysis of analysis

How many language to you THINK!! you are fluent with? With everything you learn, you are bombarded with several options.

In recent past, I have done projects requiring –Objective C, C, C++, Python, Ruby, Java JavaScript and PHP (I like simple ones) with various types of databse structures like SQL/Key-Value/Document Datastores (MySQL, MongoDB, PostgreSQL, Redis, BigTable, Memcached etc.

Not that I know much of them, I gave my inputs in bits and pieces. If I had to think what languages I have missed (Thankfully Indian IT industry is known for cheap labour – and low-tech) I Miss – Erlang, Clojure, Rust, Go, C#, Scala, Haskell, Julia, Scheme, Swift or OCaml.

Take any of these languages and look through their frameworks, libraries and toolkits – see if you can remember where you started from. If you just go with the Hello world program in each one of them, it would take decades to complete. You can now thank god that the mobile world has become an Android/iOS duopoly ….. wait what! isnt’ a few mobiles were launched with Firefox OS just day ago. Then there is cross platform PhoneGap or Sencha, but that’s just backend. There are more places where systems are deployed like Amazon Web Services, Google App Engine, Heroku, Google Computer Engine, Parse ……. If and when you get to know about them, you’ll feel bad that you don’t know anything about, Azure, Appfrong, OpenStack.

So you can’t decide what technology to master, what framework to work upon your skills on and what new technology to survey. This is called “Developer Paralysis” – Developaralysis. This is the paralysis or analysis.

Now knowing just a few things in the universe of coding technologies would be ok – except when you get down to deciding what tools, technologies and parts to use to build a new project. If you actually took the time to analyze the possibilities and then learned any new technology, you’d be late to the scene by a year or two. The winner of the race would be some teenager using C++. But if you settle on C#, you’ll find out that somebody just went past you on the race using Swift/PHP :o.

What to do?

Do we choose the technology which we already know because learning a new thing takes time; and then we live in horror that that someone would do it faster, better & more elegantly and that our skills would become obsolete by September next year.

Or do we expand our knowledge, get to know new things because we love to learn and new technologies and tools are fun and give us huge advantages … even if that means time, effort and energy.

There is no right answer. That’s why we have thought to sending out the best advice every month on what to do ………. As soon as I figure out myself which printer, website developer, word processor I should use. Don’t wait…………..

Get away with your developer paralysis


Just one last step