What is the most painful programming mistake you have done and what lesson you have learn after?
I guess mine was making a release to production on the development code which was not tested yet.
The lesson-learned:
Delete any projects that can trigger a release on the live application from CCTray. I only add them when a release to production is necessary since then. And once I am done, I delete them from my project lists.
Underestimate a design which later proved much more complex and took a much longer time to develop.
So, remember, nothing is so simple to develop.
Developing software instead of using an existing off-the-shelf solution.
I once wrote the version into a python pickled file as an instance of a Version class.
This is all nice an clean until you realize that previous releases of the software cannot even attempt to open the file anymore because the Version class is missing in its codebase. If it was a simple string, the file could still be opened by old releases, but then the parser would have refused it, or eventually decided to extract everything he could understand from it.
I made an rsync script to upload development code to production, forgot some excludes, and erased a few dozen megabytes of compressed images that weren't in any backup. Thankfully, the client still had the original images.
What is the most painful development related mistake you have done and what you have learned?
I once decided I was going to try to beat Jon Skeet in rep points. Clearly I haven't learned anything, since I'm still here.
Getting the iPhone almost banned from Romania. That was the end result, the programming blunder was changing a flag in a backend system that I didn't fully understand. The change was just 1 character from k=N
to k=T
.
The lesson I learnt was that even the smallest of changes can have far reaching consequences, so emphasize on understandability and maintenance, and of course test exhaustively.