Top Technology and Software Trends – 2012 – 2013

Here’s the list of new technology trends to follow based on my experience and prediction:

I’m still getting a lot of visits on my old 2010 post about top software development trends - so I guess there is interest in this topic. I feel many of my points were fair in that post and many still stand, but the additions from the last years are clearly missing.

So, the list:

Mobile

Mobile really keeps getting big. With more and more people accessing the net via a mobile device (or tablet), businesses simply can’t afford not to focus on these users and visitors. As a developer, you cannot afford to ignore this field of technology. What to learn about mobile?

Agile principles

This keeps popping up in my posts and talks – I find it very important to let as many developers know about agile as possible. Agile is a lightweight set of principles to guide you from project management to daily development. I call it the zen of work as it’s gently changing the way we work, how we communicate and is a general principle. Visit agilemethodology.org to learn more about the basic principles, while I urge you to look at more specific implementations:

Master more than one programming language

Every programming language may add new experiences to your professional knowledge. You get to see new ways of thinking, muti-paradigm solutions which is essential to your development as a professional. Also languages are like tools – the more you know, the better chances you have to do any kind of work you come across. Some of my (subjectively!) favourite languages:

Learn a Javascript ‘dsl’ language

Javascript is an essential part of web development and it won’t die out soon. Take your daily JS practices to a new level with learning a new javascript ‘dialect’. I recommend CoffeeScript, though it has received some ciriticism and some guys prefer Google’s Dart. I think both languages are fine and extend Javascript well. Be sure to check out either or both of them!

Get to know HTML5 and CSS3

I know you’re probably sick of these buzzwords, but there really is something about html5 and css3. They allow much nicer, semantically logical websites. Top html5 features:

Top css3 features:

Responsive pages

This goes hand in hand with the growing volume of mobile/tablet users. Responsive design basically means that your page responds to different resolutions and screen sizes. My blog is an example, try resizing the browser window and see how the layout changes along. Hopefully you can comfortably read this post on a mobile phone, on a tablet and on a desktop monitor without manually zooming in/out.

Responsive design to a certain extent can be done by pure CSS techniques, some tips:

webdesignerwall.com/tutorials/5-useful-css-tricks-for-responsive-design

http://webdesignerwall.com/tutorials/5-useful-css-tricks-for-responsive-design

There are combined js/css frameworks, like:

Continuous integration / delivery

It’s more of a principle than a technology, but the basic idea is to be able to confidently go live at any time. Originally proposed as a part of XP (eXtreme Programming) it is the practice of merging all developer workspaces with a shared mainline several times a day basically.

Usually it means that you have a very good test coverage, and automated testing solution and an advanced deployment scenario.

Key technologies:

Please share your thoughts on the topic – have I missed something? Am I wrong?