Tidbits on software development, technology, and other geeky stuff

Keeping Up

The world of software development changes fast.  Really fast.  Things that were hot yesterday are history and new trends are constantly emerging.  Even just 5 years ago, the following did not exist or were very new to the development landscape: Node.js, Git, Javascript MVC frameworks, iOS, Android, NoSQL databases, HTML 5, Ruby on Rails, Cloud Computing, ASP.NET MVC, CoffeeScript, SASS, Entity Framework, etc. etc.  It’s hard to keep up.

Turbo_pascal_30_cover

Turbo Pascal: It had its day but that day has now passed.

Why Keep Up?

As a software developer, I must keep up.

Well, for one, because I want to remain employed.  If I held on to my Visual Basic 6 and InterDev skills and refused to learn new things, it would be tough to find a job today.

Secondly, I need to keep up with technology changes that make me a better, more efficient developer.  Although new stuff is most definitely *not *always better, sometimes it actually is.  Sometimes new stuff changes the game.  I was hesitant to learn jQuery when all the cool kids were doing it but once I took the plunge, it radically changed my approach to web development.  It made it easier, faster and more enjoyable.

Also, keeping up keeps me challenged.  New technologies or new ways of doing the same thing keeps things interesting by providing new challenges and learning opportunities.  I’m only human and have to realize that a lack of challenge will cause my interests to wane.  If Turbo Pascal was still my primary development language, I would be completely bored out of my mind.  I would be an expert, yes, but there would not be much left to learn.  And, yes, I would be unemployed.

Challenges To Keeping Up

overwhelmed

As I see it, there are 2 primary challenges to keeping up.  The first challenge is just making myself  aware of the changes.  How do I sort through all the new buzz words I see and hear?  How do I make time to read blogs and articles, attend conferences and rub shoulders with developers I don’t directly work with?  Where do I look for the latest trends?  Am I looking in the right place or limiting myself  to a specific community which is skewing my view of larger trends?

Also, sifting through all the information and deciding what to focus on is tough.  How do I distinguish a fad from a legitimate trend change?  Time is precious and I can’t spend time learning every new thing that is hot off the press but at the same time I cannot sit by and not attempt to try to learn some.  Sure, I can wait until a new technology or trend gets a large movement behind it before diving in but how do I decide the point at which this happens?  I do not merely want “jump on the bandwagon” of what’s popular but do want to embrace new trends that make me a better developer and keep me challenged now.  If I wait too long, I might be spending my time on something that is on its way to becoming obsolete.

My Approach

I’m not confident I know the best way to keep up but I will share my approach in hopes of helping others a bit and to illicit feedback so I can tweak it and make it better.

Discuss on Twitter