Nike is great in many ways. It's a fascinating campus, the restaurants and pay are good and it's an easy work week. So recruiters are baffled why I left and it's hard to explain. Here's why...
1) Passwords are getting logged which should be filtered. I trace it down and the fix is three string operations. I subclass the Logger class as SecureLogger, add the operations and use it in the original class. It's safest because the original code is unchanged and SecureLogger is reusable.
2) The team rejects it because of performance problems. What performance issue? They say the bug is only in one class and one method. Fine, I move my operations into the original class.
3) The team rejects it, the code should be in a utility class. A utility class implies REUSE and you said the bug is in one place. I wrote the SecureLogger for reuse. But fine, I make it a utility class.
4) The team rejects it, they want a regex function for performance reasons. Okay, now I'm pissed off. The regex library requires time to load hundreds of functions which aren't used and it still executes the same three operations. They disagree. I write a small program and prove I'm right.
5) The team rejects it because THEIR Eclipse format converted specific package paths into wildcards. I ask what's wrong with wildcards. A performance issue again. No, it's not. The compiler creates the same byte code. They disagree. I write a small program and prove that I'm right again.
6) Now I'm the bad guy. It's not that they don't know, it's that they insist on something that is NOT TRUE.
7) Then my code fails code validation because there's no class constructor. A constructor is pointless but I add one.
8) It fails because it's a public constructor. I change it to a private constructor.
9) It fails because it's a private constructor. It's impossible to pass the validation step, it fails with and without a constructor.
10) I'm assured that I'm the only one having issues. I waste a week guessing. Somebody finally admits the validation is broken, they disable it but pretend to use it for "quality control".
11) So now I'm the bad guy again, exposing their deception.
I went to lunch, had a drink, went home and never went back.
Two weeks to write three string operations. And this two weeks was not atypical, just the last straw for me. It's not that any single item here is important, it's the cumulative mentality is creating a convoluted, complicated and unstable system under a pretense of high quality.