Time and pride
So as I’m working on Siffer, I thought about something that I have had conversations about before. Pride and time. The pride a developer has over a design he/she created and the time it took to make it.
Evil – both of them.
See the problem with pride is that it doesn’t make any difference to the users of your software. They aren’t asking for your pride. They want the solution that they asked for. And they also want to change their mind. This totally conflicts with the developer pride. If you change something the developer is proud of, I guarantee that developer will have problems with the change. Doesn’t matter that the users are paying the developers check – it’s his pride.
Time is sort of a different thing. The users don’t want a lot of time taken. They want the solution tomorrow. But it takes time for some solutions to form. Sometimes the answers just don’t appear and it requires “do-overs” to get things right. Developers always (every single time) want more time. Especially when the developer is in over his head. Complexity will always dictate time. If the solution is complicated the time to finish it will be large.
So why the hell was I thinking about this? Well I was banging my head against the wall with a rather simple problem in Siffer. As I was trying to work through it I realized that the Ruby language allowed me to “quickly” change the solution … over and over again. New designs came one by one. Each one was different and failed to fix it until finally the right one revealed itself too me. My pride was not affected and it was rather quick. Time and Pride were not factors to the solution.
With other languages you have to spend a lot of up-front time in design. C# and Java require a lot of thought before you can really test the solution. Ruby isn’t that way. With the former languages your pride gets baked into the solution and time of course is required. With the latter they are non-issue.
Interesting. Time and pride in my experience has ruined projects. They have sometimes made me look like an ass and on occasion made me lose interest and tune out a whole project.