How to Prepare for the Future
For some reason I started reviewing some of my friend's Brad Abrams old Blog entries. It was one of those things I thought I would see what he was saying 2-3 years ago about things that are now released and established. I thought it might give me some insight into how to asses the current state of things and where we are headed. Then I stumbled across an entry he made, ironically after visiting my user group, on what we should do to prepare for the future as software developers.
This is what I think, it is not so much about a technology choice per se, but more of a mentality that I am going to know how to write good applications to solve real problems as quickly as possible. I think application (web and desktop) developers must adopt a strong knowledge of SQL database development and at least an intermediate knowledge of store procedure development. We must learn to either leverage strong code generation for DAL and business layers. We must learn how to create useful user experiences for average and below average users. This means not only knowing good HTML markup, stylsheets and AJAX, but how to meld them together in a good way. It also means being good enough with XAML to produce good desktop and Silverlight applications.
Languages and technologies will continue to mature all around us and Microsoft will keep releasing and introducing great new ways for everyone to develop great applications that scale and perform better than we can image. The thing each of us must decide is what exact path we want to take. Personally I think that path needs to be wider than it was just 3 years ago. I think we need to know how to manage things in every lane of a 5-6 lane Interstate. Let's face it our world is the fast lane and we need to know how to drive in it and drive fast. If you want to ride the brake or not leverage this killer sport engine, get out of the way and please do not complain.
How do I propose we do this? Well community involvement is a good way to get started. This means attending your area user groups and code camps. Not just to be exposed to things, but think about helping organize and even present topics. I also encourage you to Blog from time to time. The reason I suggest presenting and Blogging is because it will force you to learn a topic from a different perspective than just to accomplish a task at work. I know from personal experience that working on this Blog, presenting and now writing books has forced me to learn topics at a deeper level. It really helps me retain details on a topic and helps me learn a wider variety of topics too.
If you are in North Carolina and are not active in a user group April's TRINUG meeting on April 9th will be an excellent place to start. Brad Abrams will be speaking to the group and if you have not yet had the pleasure to here him present, he is one of the best in the Microsoft development stack. He knows just about everything worth knowing in the Microsoft development world and where it will be going.