Sometimes, when you are a development consultant (it doesn't matter Java or .NET) you find yourself in situations in which you either take a deep breath and find the funny side, or you want to murder someone.
An example that happened today to me, resolving an issue with a past project (which had Java and .NET versions) in a client:
- Cracking the client's password by decompiling their java cryptography module (it was hard-coded inside it): 5 minutes
- Fixing a small issue about byte to hex string conversions: 15 minutes
- Finding and fixing that the cryptography module didn't decrypted correctly because the Java module was crappy-padding passwords, and wanted only uppercase passwords: 25 minutes
- Trying to guess why the LDAP connection (which used the cryptography module) wasn't working properly: 2 hours
- Finding that the problem was not of the .NET LDAP module, but of the LDAP server: priceless
I don't understand how some people get to work as developers when they not only do terrible things in the code, but also don't document anything and can't even give you an answer about how their projects work...
No offense to Java developers. Is just that the .NET version was a "clone" with almost identical functionality and some modules were done prior to the .NET equivalents.