views:

206

answers:

6

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.

A: 

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.

John Feminella
I don't think the OP's question was intended as a joke.
ChrisW
A: 

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.

Anurag
What had happened?
SLaks
@Slaks - In the weather application, some Romanian cities were not showing the correct localized name. I did some research and found this flag in the system documentation that seemed to fix all the 10 or so *problem* cities in Romania that we saw. However, with that change, many cities started showing up with their pre World War names, which is a very sensitive topic as we all learnt, and a city government planned to call a motion for nationwide boycott. We fixed the problem immediately on finding out but it did get a little hairy.
Anurag
A: 

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.

Pedro Ghilardi
+1  A: 

Developing software instead of using an existing off-the-shelf solution.

ChrisW
A: 

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.

Stefano Borini
A: 

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.

Arcturus