I wish we all could be "Dreaming In Code"
A couple of weeks ago, I purchased the book "Dreaming In Code" by Scott Rosenberg, after spotting it in my nearest Borders bookstore. I had read a bit about this book from Joel Spolsky's site, and I was very interested in the process of building software that would be "revolutionary". I was also interested in how the group of developers would work.
I finished reading the book this weekend, and I have to say that it was extremely interesting from the beginning. From the initial idea of the software to the formation of the group, to the many setbacks and would be inevitably encountered, it offered me a great inside look at the group effort in producing software. As I'm already accustomed of working on my own, I wanted to see how larger groups of talented people could (and should) work. And surprisingly enough, the same things that happen to me at work happened to the Chandler developers as well.
What surprised me about this book is the fact that it goes back in time, and mentioned many breakthrough moments of software engineering history, like the 1968 NATO Software Engineering Conference, and Douglas Engelbart's legendary demonstration in San Francisco (called by some as "The Mother Of All Demos").
These moments, and many others, were non-existant to me before reading this book. Anyone who has a Computer Science or Software Engineering degree should be required to read this. It's a very important part of the history of what we do. Like any History major who needs to know about Ancient Rome and Greece, people in the software development field need to know about what happened during the infancy of computers and programming.
While the story of Chandler's development is a great read and what attracted me to this book, it was refreshing to read about the current problems in software development today. I know that this industry is far from perfect. But the constant changes that occur on a frequent basis simply show that we're trying to make things better. We need to remember that compared to other scientific and engineering professions, computer science / software engineering is still a baby, an extremely-young 60 year old baby.
I hope that someday things will change for the better in our industry, and the software development process can be a painless, quick one. However, I'm afraid that the way the future generation are being taught the profession, most likely the same mistakes will be repeated over and over again. Like I said, the industry - or better yet, we - are not perfect at all. But we need to learn from our past mistakes. Certainly, those who cannot remember the past are condemned to repeat it.