In which I say a little bit about myself and why I'm doing this
Starting a weblog is always a strange thing. I notice others have just pitched straight in but Im afraid I need a bit of a preamble. So to get me started here are a few pointers to who. why and what of this weblog
I currently work as Chief Technical Architect for a company called Appropria. We make a product called Advantage which is a task oriented portal (not the approved marketing terms). My role has to make the product vision a technical reality, a job which has covered many aspects of software development from cutting code, to designing the application, to helping to put in place the team infrastructure thats made it all possible. As you might imagine I have lots to say about all of these things.
Prior to this Ive done all sorts of things. I started programming commercially in 1988 but I had been programming long before that. My story is that I started when I was 12 but Ive told people that so often I have no idea whether its true or not. If you want to see my cv or just to know more about the non software development side of my life feel free to visit my personal website junklight.
I maintain a very intermittent weblog on my own personal site. I am careful not to cover work and software issues on that log primarily because the audience there is for my music and other writing. However given that the main thing I do in my life is software development then its nice to have an outlet for the many issues that arise.
The title of both this entry and the weblog as a whole allude to the distaste I have for both idealism and peoples reluctance to question things.
Now dont get me wrong there is a place for idealistic thinking. Without it we would not be able to place structural frameworks around our thoughts and processes. When they are created Ideologies are often vibrant living things binding together a the people who create them. However they rapidly become dead weights imposing inappropriate and inflexible rules in unwarranted situations. Sadly Software engineering contains many ideologies of this nature mindlessly applied to the detriment of all concerned. Worse still a lot of companies adhere to rigid processes that are not ideologies but are just the way things are done.
There is a simple solution to this however asking questions. By asking the right questions about the things that we already do and the things we are going to do we can avoid some of the traps and that is what this weblog is for. For me as much as anyone else.
You made some interesting comments about companies (and individuals) doing things because "that's the way they've always been done." Now, I'm not the type of person to think that way but, sadly, a lot of people do things that way because of the way their brains are wired.
The ability to look at things from all sorts of different perspectives is an essential tool for a pragmatic programmer (hey, put that in your Manifesto!). However, if you can't, that's not always a flaw. Some people are just unable to see a different way of doing things.
I'm pretty sure there are some programming solutions to problems that I've faced that work better than the ones I've come up with, but that's because I wasn't able to gain a different perspective on the problem.
I'm of the opinion that in the programming world, idealogies are simply just one way of looking at what can often be a complex set of problems. Not everyone has the opportunity to fool around with code and try out different things, all with the blessing of their bosses or clients.