Recently I watched the documentary "A Faster Horse" which is a story about the Ford Mustang and the creation of the new 2015 redesign for the 50th anniversary of the Mustang. There was a quote from Henry Ford mentioned that Simplicity, Reliability, and Affordability as keys to the success of building and selling an automobile. Watching this documentary really got me thinking about how similar the automobile industry is to the software industry. There must be some things the software industry can... [More]
Test Driven Development (TDD) is great and it really helps you build better, higher quality systems. Unit Tests FTW! However, when TDD meets the real world, there is a clash and many times developers just don't write unit tests. This is bad, but it can be better if the right steps are taken. Writing code that is testable is the key; whether you write the unit tests now or later. Testability FTW!
Testability is when you write code using the same best practices (short methods, use interfaces, clea... [More]
Every career and industry has it's own set of tools that are commonly used. Software Development is no different. These tools offer varying degrees of functionality that help people do their jobs. To a certain extent these tools do help people do better work, more work, faster work, etc. However, there is a limit to this affect.
As a software developer targeting web and Microsoft platforms, I use Visual Studio every day. There are many features that have been added to this tool over the years th... [More]
Some people have other people they follow in one manner or another. Some of the most commonly followed people in an industry are the "rockstars" of that industry. However, there are some people who refuse to follow others as they feel it might hinder their ability to think uniquely; think different. Although, if you don't follow anyone then you are turning yourself into a loner; an island. What's the best direction to take? Should you be a loner who works and thinks independently, or should you ... [More]
The fact that Psychology plays an instrumental role in the development, design and everyday use of software is not something that is very apparent to most people. It is something that is hidden within the details, but is also blatantly obvious when to really think about how software is developed, designed and used.
Think about this for a moment: Software is designed by people for people to use.
Sure, the execution of software code and the process flow within it are a carefully laid out path of l... [More]