Last week a developer on a related project thought he found some problems in our data. So I asked him a few questions about his findings. Then I told him how the system was supposed to work. And I sent him off to do some more research.
When the developer presented his findings, it appeared that there was indeed something wrong. So I did a little digging. I found that the developer was interpreting the data wrong. It was an easy enough mistake to make. He was assuming a certain identified was unique. Normally this assumption holds true. But the numbers do recycle after many years. This was the case here.
So I set the developer straight. He has only been on the project for about a year. So he would not know about this kind of thing. And I could have left it at that. But I figured this could and will most likely happen again. I went to a manager and explained the problem. The manager told me to take this up with the customer and get a decision, then fix the problem.
Now the reason I got this direction was because the manager knew what I was capable of doing. And in fact I put together a small writeup on the problem, outlined a couple solutions, and scheduled a time when we could discuss this with the customer. This is business as usual for me. But how can we get a normal developer to act like this? You would like any developer on your team to follow through and see issues to closure.
I don't see this type of initiative on my team though. I would like to. It might not be my job to ensure this type of ambition and drive is spread throughout the team. I am not a manager myself. And I do not even lead a team. I am just a senior developer. But I do care. I do have the drive myself. I would like to see it spread. This is, I am sure, no easy task. Might require some meditating to come up with the answer.
A Little Bit of Crypto - I have been trying to figure out to "collision resistant" some of these standard hash functions are. It is a tough concept to get my head around. I figure...