This post is the fifty-sixth part of a ramble-rant about the software business. The current posts in this series can be found on the series landing page.
Over a career that spans decades, one encounters useful and “less useful” soft skills in the modern enterprise. I thought I would share a few of the less useful variety:
If someone asks another for advice, that’s a cool compliment. The person asking has seen something that compels them to seek information about how-another-does-or-sees-things. That’s different from someone offering unsolicited advice. Way different. In the first case, the individual asking is open to receive advice. This is often not the case with unsolicited advice.
Anti-anti-pattern: Offer advice when asked.
Best practices, formatting, case and capitalization are all excellent tools for assisting a developer to represent, support, and facilitate their thoughts and thought processes… until the attempted transfer to another developer. I hope you are seated before you read this next line: Not everyone thinks like you. (I know!) Moreover, not everyone wants to think like you. </shocker>. Others think in ways that facilitate their code development style. Their documentation – or lack thereof – is there (or not) because of their coding style. Some wait until the end of a development to begin code optimization (this is a recommended best practice, by the way) instead of optimizing each code fragment.
Everyone – and I mean everyone – has a preferred method for representing code. I hear you thinking, “But their way doesn’t work for me.” It's. not. supposed. to. work. for. you. It’s supposed to work for them. Different != wrong.
Anti-anti-pattern: Allow others to code in their style. If they observe your coding style and want your advice… see the section on free advice.
Wanting to be a better developer is a good thing. Wanting to be better than the developer in the next cubicle is not a good thing. The collective IQ of a team is greater than the collected IQs of the team members. Why? Synergy is the great entropy-buster, spawning positive cycles as team members interact – sans retentiveness. Synergy works best with a dash of humility, and humility facilitates an environment where team members freely seek the advice of each other. Communicating you are the smartest person on the team accomplishes the opposite: striking lines of communication, binding synergy, and destroying the cooperation that would induce a positive cycle. (This is why Performance-Based Management Stinks.)
Anti-anti-pattern: Before acting or speaking ask yourself, “Will this help?” If the answer is not, “Yes, this will help,” don’t act or speak.