I worked for a mom and pop job shop. The sent me to their client's site. I reported to Tony Amadi, who was an employee of the client. Tony was a little guy. He had a window office to himself. But he had so many files stacked up all over the place, you could not tell there was light from the outside.
Tony had me working on a system that was put into production a bit too early. This was tragic because it was a high profile system. My job was to fix all the bugs. More importantly, I was to demonstrate that there was a competent developer working full time to get the system working right. The guy who initially developed the system took off.
Tony worked on a number of other projects. He did not have time to babysit this broke down system. That is why I had a job. To be fair, Tony was not really my manager. He just worked for the client and was responsible for getting my company a contract. But I had little contact with my own company. So I treated Tony as my manager.
There was a lot of politics going on at this client's site. Tony had me work on writing up some papers and doing other work for publications. But I could not claim ownership of any of these works for "political reasons". Hey. As long as I was getting paid, I did not mind too much. But deep down inside I had some regrets.
I understand that contractors like myself often get the short end of the stick. But this contract was pretty bad. I brought a number of issues to Tony. He answer was normally to just deal with it. Not good. When I got to a point where I fixed a good deal of bugs, and figured I was not learning anything new, I moved on to another job. Did not stay long at this location.
Turns out my replacement on this job was a lackey. Tony had my contact information. So the new guy called me up and asked me to debug a bunch of problems and give him the fixed code. I told him (in a diplomatic manner) to do his own work. Tony tried to get me back as a consultant, but I had better things to do.
If you want to keep good people, you need to give them the tools they need. Otherwise good people always have many other options. Be careful or you may regret it in the future. Sometimes you need to manage your contracts even though you are not their true manager.
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...