Every 8-10 years or so I learn new programming language and technology. Why 8-10 years? I generally found that is the cycle in which some new exciting innovation happens. Once some innovative technology comes out , then next 10 years is spent bringing that innovation to mainstream.
Early 90′s when I started my software career, I learned Oracle DB, SQL, C, C++, Awk, Shell, OO design (Booch, Rumbaugh) and Relational DB design. I designed and built many enterprise systems for banks, transportation and retail companies across the world ( India, UK, Japan, US and UAE).
Then in 1998 -I moved into internet technologies, java, UML, XML, design patterns and data warehousing. Build many web based , n tier systems and data warehouses for companies like Webvan, Netscape, Intuit , Countrywide and Yahoo.
Now it is 2007 – Time again to pick up something new.
But question is what -
AI and Machine learning – I dabbled with intelligent agents and developed rules engines in 2002 and 2003. I think now is the time , I take a look again at this field.
Multi media technologies – Given the popularity of mutlimedia – Pictures, Video, Sound becuase of ever increasing bandwidth and people.Mobile – That is where is the future is and for that matter present too. Mobile and wireless growth in countries like India and China is phenomenal.
Flex from Adobe looks very promising. Flex offers an easy, high productivity programming interface to flash rich web based UI development. And no need to worry about the browser incompatibilities. Supports easy integration of multimedia. Exactly what a primarily back-end technology expert like me needs.
Python – not because it is new or revolutionary, but because I need something to do scripting. AWK is obselete and PERL is poorly designed langauge. Python is much more maintainable than it is cousin Perl.
Grid Computing – Amazon, Google, Yahoo, Oracle are all into it in big way. Open source Hadoop. GFS from Google.
…and then there is always almost ready almost there,
Semantic Web – May be its prime time is coming. I have been reading and playing with this since 2002.
Why did not I include Ajax? Ajax is more of a buzzword rather than a technology or progarmming paradigm. It is just a neat programming trick, a technique at best. Large bandwidth made it possible and Google popularized it by doing some neat stuff. It is already way overused. Of course you can always count on consultants to brand it, write books and give seminars on it and make money out of it. I will include it in my future blog – how to make money out of nothing in technology.
and thats a lot and I am sure there is more that I am missing.