TL;DR notes from articles I read today.
- Without a good feedback system, pockets of disagreement can grow into resentment, distrust and eventually organizational failure. Feedback is also the only way to achieve true personal growth.
- For critical feedback to be effective, give it in private and with positive intentions, be specific and factual, and use a non-violent communication format: ‘when you do , I feel because the story in my head is ’.
- Set up review sessions regularly (ideally weekly) at an expected time.
- Be receptive to feedback and sidestep your ego’s fight or flight response by evaluating ideas objectively and viewing feedback as a gift.
- Once you have heard the feedback, repeat what you heard, request confirmation and keep asking ‘Is that all?’ until you are sure the other person is done. Finally, think objectively about the feedback and suggest an action to resolve it.
- Ensure that feedback is a part of your culture and an expectation from managers. Hold weekly one-on-one meetings, with structured time in the end for mutual feedback and put it all on record.
- Publicly seek feedback from your team and discuss it. As a leader, publish written feedback from other leaders for the entire company and discuss ways you are trying to improve.
Full post here, 5 mins read
- The title of ‘senior developer’: Don’t be led by job titles alone. Value collaborative experience, being reviewed and having a mentor. Avoid an early position where you have to work alone.
- Everyone writes tests: Loads of companies have little or no testing, because they have either never felt the pain of not having tests or felt the pain of having legacy tests.
- We’re far behind everyone else: Beware of ‘tech FOMO’ as academic settings and conferences often cover proof of concepts rather than real-world scenarios. Dealing with legacy is normal.
- Code quality matters most: Often, good enough code that works and is maintainable is good enough. Overarching architecture is more important than nitpicking.
- Technical debt is bad: Disorganized or messy code is not the same as technical debt. Technical debt actually slows you down or causes errors or makes changes difficult. A certain amount of tech debt is healthy because it assures delivery.
- Seniority means being the best programmer: Senior engineers need many skills, from communication and dependency management to estimation and project management. And the truth is that we all remain junior in some areas.
Full post here, 14 mins read