I write about programming, leadership, mentoring, and hiring.
Hi there! 👋
Here is a quick recap of what happened to me since the last newsletter.
🍿 I spent a couple of days re-designing my pet project dev.tube – now it looks better and the search has become much faster. Because our video dataset has increased significantly over the years, tech solutions that worked initially no longer work. The good news is that the project still requires almost zero ops, as we’re 100% serverless. Conclusion: investing time in good architecture pays off.
In April I am returning to 🇱🇻 Riga for a series of in-house workshops. Demand for my Soft Skills and Leadership workshop is extremely high. It seems like COVID has good parts, too: more people realized the importance and power of emotional intelligence, communication, and the ability to build and keep strong relationships. Also, I have two available seats @ The Principal Developer course that will take place online on March 25-26. You’ll learn how to organize the dev process well, how to make your customers happy, and how to grow your team.
IT Lead: My devs don’t speak at meetups Me: Do you speak? I: I don’t M: That's the reason I: Disagree. Ok, speaking is hard. Why they don’t attend meetups? M: Do you attend? I: I don’t have time for it M: That's the reason. I: No. They're not passionate M: Are you passionate? ...
Agile Coach/Scrum Master is usually a non-tech person who sometimes gives important advice, maybe fixes a process issue, but can't lead devs by example. This is the main reason why devs don't trust them. Devs think: "ok, you say I should do TDD, why can't you just show me how?"
The fundamental pillar of agile software development is eXtreme Programming, which can only be mastered by working next to an experienced engineering mentor, who KNOWS and SHOWS how to get things done "right". Without XP, there is no agility.
Most Scrum projects are a mess because a vital ingredient is missing: Engineering Coach. It's not necessary a separate person, but a role that must be played by someone who can teach you architecture, patterns, BDD, TDD, pairing, code reviews, and how to live by XP values.
Many developers understand eXtreme Programming as a mix of engineering practices, such as Pair Programming, TDD, CI, or Refactoring. Yes, XP pays attention to engineering practices, but that's only a small part of the whole story.
XP is a set of values: simplicity, feedback, communication, respect, and courage. The last two are usually missing: respecting yourself, respecting each other, respecting your customer, having the courage to stand up for the right things, raise tough questions, and negotiate.