These days, it seems there are so many new programming languages and technologies to learn I’m starting to find it difficult to even keep track.
Recently, I’ve read article after article about how part of being a good software developer is about being open to new technologies, and to “learn new things” – and I’d be foolish not to agree. The classic example is that of the COBOL programer – the dinosaur – who never updated their skills, and slowly became unemployable as the market changed around them.
How could an 80’s COBOL programmer have stayed relivant? The most probable answer back then would have been “Learn C++”, or, at least “Learn Pascal”.
However, I feel that software developers of the current age are facing a slightly different problem. I’m starting to feel like we’re approaching a kind of “Software Development Singularity” – where things are starting to move too quickly than is possible to keep track.
Currently, outside of my day-job and any projects I’m working on in my spare time, I consider learning the following list of things (at least to a passable level) essential to placing myself in a position where I’m moving forward, so as to avoid becoming extinct.
- .Net 4.0
- MVC
- LINQ
- IronRuby
- IronPython
- F#
- Entity Framework
- nHibernate
- Azure
- Windows 7 Development
- Silverlight 3.0
- WCF, WPF, WF
But wait! That’s just a Microsoft based list! I’m a .Net developer, sure – but I should really broaden my horizons to the open-source community and any Microsoft competitors. (not to mention vendor-ambiguous technologies)
- HTML 5.0
- Javascript 2.0
- Python
- Ruby
- Google App Engine
- Google Gears
- Mono
- jQuery
- CSS 3.0
- Google Wave?
- iPhone Development
I’m sure there are many more things I could add to these lists.
Whilst I do have some experience with a lot of things on this list – it’s becoming harder for me to refer to myself as an “expert”, or even “well versed” in some of these emerging, and in some cases established technologies.
It’s starting to become scary.
So – I guess the motivation of this article was simply to ask if anyone else is starting to feel things are moving a little faster than they did, well, only a few years ago – and more importantly to ask how you go about choosing the technologies you are going to explore, and to master.
Wish me luck.
