This post on hackernews made me write this:
Being able to communicate ideas > Being a great technical developer -
For every great developer that's an asshole, you can find a great developer that won't be an asshole. Don't keep assholes. Google the "no asshole rule". -
Making the team feel safe to discuss stuff they don't know freely and ask questions that might seem stupid in other teams makes for a great team that's not afraid to challenge assumptions and break through with new skills. -
TDD is a skill just like refactoring. Learn when it makes sense.
80% of architects in enterprise don't have the skills needed from them. including the things stated above.
Learning the Theory of Constraints and applying it to find bottlenecks in the process, pipelines and structures of your teams/projects is one of the most useful things you can apply to become more productive. -
Learning what to measure and what not to measure, lagging vs leading indicators can help you communicate to management about what changes truly need to happen to make your team work more effectively. -
Whiteboards (and remotely, miro boards) are very effective and can be used for easily 50% of meetings. But aren't.