I was recently asked to provide a list of technologies that might help developers become more current and help them decide what is important for their careers. I wanted to put together a list that was comprehensive, but that is just not feasible or practical. So let me throw this list out to you and get your feedback. [Lets not start a holy war of c++ vs. java vs. .Net vs. <insert language here>!]
I would really appreciate your honest feedback on what YOU consider to be important that is on this list or that I may have missed. My hope is to find a list of 10 technologies that you consider to be absolutely necessary for Software Developers to know in the coming years. They don’t have to be the list below, please feel free to add to this. Thank you.
- Windows Azure
- Jaxer / Node.js / Narwhal
- TFS / Git / Mercurial
- Design Patterns
- SQL Deep Dive
- Windows Phone 7
- Windows 8 Development
- Ruby on Rails
- XNA Framework
- Parallel Framework
- Visual Studio 2010 Tips & Tricks (poll devs for tips)
- WPF / MVVM & MVPVM (Movel View Presenter ViewModel)
- How to debug using WinDbg & SysInternals Tools
- DSLs (in Boo or Otherwise)
- Machine Learning
- Windows Workflow
- I-Phone programming
- Kinect Programming
- HTML 5 Canvas Programming
- Powershell administration (managing servers etc would become much easier)
This is a great list, I would probably add the following Items:
Amazon Web Services – As a complement to learning Azure. They both have unique approaches to cloud computing.
NoSQL databases – Mongo DB, Couch DB or Raven DB. I think more and more applications will employ hybrid models of data storage. Using SQL and NoSQL databases together in some form or fashion.
Neural Computer Interfaces : Check out the Emotiv EPOC Headset http://www.emotiv.com/apps/epoc/299/
There are different ones on the market but I think that being able to control your computer with your brain will be a pretty big deal in the future.
Thanks for the additions Koshin. Can’t believe I forgot about NoSQL.