Friday, April 20, 2012

Keeping Up With Evolving Technology

I cut back to working part time when my first daughter was born.  I quit working when my second was born.  It has been three years since I have worked in industry.  I have done a handful of projects in the meantime, but not day in and day out.  Now I'm getting back into the software development world and it is different.  I'm having a hard time wrapping my mind around how quickly the technologies change.  How what was new and cutting edge just a few years ago, is old and outdated now.  

Of course there is a thread of commonality that makes learning new languages and new API's relatively easy. Mostly it just takes a bit of research.  But each language and each API has its own quirks, limitations and paradigms.  When you master the idiosyncrasies of a platform and you are proficient, you work faster and more smoothly.  When you are learning, work can be slow and frustrating--especially when you know how to do it in a different language or platform.  You rail, "Why can't this language do it just like that other language that I am familiar with?"  Then you sigh and spend some time with Google.

The web is kind of the wild west.  New products, platforms, API's, and libraries are being published and updated all the time.  I started writing the current app I am working on about two months ago.  Since then there are newer versions of, well, everything.  Not only do I have to get the app to work, hopefully on multiple platforms, but I have to keep integrating new libraries.  New libraries that break code I have already written, but allow me to do things that I couldn't before.  I have to constantly read, and evaluate what the best choices are given the tools and knowledge I have at the moment, knowing that my knowledge and those tools will change soon.  It is a tough juggling act.

No comments: