It's rather frustrating to be an architect or a developer these days...Microsoft is bringing out so much new stuff that it's hardly possible to keep up with it. Add to this the speed at which books are published, novel ideas appear on CodePlex
, personal software development projects, daytime projects of all sorts and non-Microsoft technologies you cannot deny...hundreds of blog texts popping up in Google Reader every day, traditional journal articles...aaaaaah! If professionals cannot cope with the overflow how much less are students or laymen able to follow the technology wave?
On the one hand I admit that feeling the thrill of being part (conceiving, making blueprints) of new developments and watching the world evolve is the kick of being an architect. On the other hand, the world becomes more and more confusing. The wider the possibilities, the less it's clear what to choose. As an example, let me present you with a little challenge. Imagine you want to make a website (it's a weird idea, I know), what are you going to use? I stick to Microsoft-only stuff and hence assume you'll use ASP.Net on IIS:
- you could use a plain standard website with or without Ajax
- you could use the Web Client Software Factory with or without PageFlows and WWF
- you can use the MVP bundle, why not indeed?
- you could ease the pain with Volta and have big fun
- maybe a mashup using Popfly?
- you can add some glitter with Silverlight (which version?), or use Flash or use endless many superb effects from equally endless many Ajax toolkits
- integrate with SharePoint or create your own WebParts (is anybody using this actually?)
- you venture into CardSpace (ever seen anyone implementing it?) to authenticate or try to force some kind of identity system?
Of course, you need a database backend and you want a flexible data access layer:
If you have chosen, do you know the strength and/or weaknesses of your choice? Which version, or alpha release, or CTP, or Release Candidate? Will it be supported in the future? Think of Acropolis
, the WPF layer for CAB
On top of it all, you hear from your boss that you need to implement some kind of B2B integration with (guess what) SAP ERP
and that another third party has this wonderful Ruby on Rails
site we need to integrate with. I suppose exchanging data with MySQL
over a Java webservice
is not a problem anymore...