Sunday, November 22, 2009

The importance of the generalist

In the fast moving technology industry things evolve fast and fast evolution entails fast extinction. Unfortunately humans have some 50+ year life span and can't afford to go extinct like databases and operating systems.

If you focus and develope extertise in one particular technology chances are its lifecycle will end in the near future. In the last few years of my professional life I have worked on and used myriads of open-source projects in the geospatial and scientific arena and seen plenty of them go extinct and the developers join the new kid on the block. There was a presentation on extinction, evolution, survival and dominance with respect to openlayers at the FOSS4G. I have seen similar evolution in World Wind .NET and Java. Once the java version became embeddable in other applications the viral mutations increased.

Jack of all trades, master of none, though often better than a master of one - Adam Savage

Knowing C# and Java is not a great deal but it helps transition. You have to know Oracle, MySQL, MSSQL and PostgreSQL since you never know what the next client or 3rd party software team you are working with will use. Your stuff has to work on Windows (2000, XP, Vista and 7) , Linux, Mac and possibly Open Solaris as well. The graphics engine on windows will need DirectX and OpenGL duality since some graphics cards are partial to one or the other. The server code will have to span PHP, Python, Java, Perl and some C++ based CGI/FastCGI. With all these you will have to keep learning all the countless new things Microsoft keeps churning out and the projects that keep on fighting for a foothold in the open-source ecosystem.

The best skill you can get yourself overall is learning how to learn, stop being piegeon-holed and look at the broad swath. Only coding will not get you there, programmers are not divas they don't succeed on sole capacity and reap huge salaries. They work in teams. Billy G in addition to being a decent coder is a ruthless and astute businessman to get the company where it is today. Oracle has to have an evil genius at the helm. Ignoring human relations and business mentality is not an option.

Just get the job done as best as you can, do whatever it takes - be a generalist.

No comments: