I live in Rhode Island, and have been commuting up to the Boston area for the past four and a half years. On good days this takes under an hour, on bad days, well, you don’t want to know. Anyway, I quickly realized that this was going to be years taken off of my life […]
Author Archives: Dan
When I first started managing, I remember thinking that I knew what was going on in the team. How people felt. What the issues were. How people were doing. Which made it all the more painful when I was blindsided with reality a little while later. Times have changed, as have I (I hope), and […]
It’s hard to help people develop, especially when it comes to the soft skills involved in management. You can give them new responsibilities, push them with concrete tasks in areas in which they’re weak, or discuss issues and possible solutions… but this presupposes that you know what the problems are, and that you know how […]
Hi _______, First of all, congratulations! Taking responsibility for a new team is a big step, and the most public form of praise that you can get. There’s nothing that says “great job” quite like having large amounts of administrative tasks dumped on your plate. :) Second, I wanted to write a quick note with […]
This is the fifth part in a series about achieving mastery as a software engineer. The first part described senior software engineers. The second part discussed common flaws that could derail one’s growth. The third and fourth parts got as specific as possible about the skills you need as you develop, from junior, to mid, to […]
This is the fourth part in a series about achieving mastery as a software engineer. The first part described senior software engineers. The second part discussed common flaws that, quite apart from coding skills, could undermine an engineer’s professional and personal growth. In the third part I got down to business and talked through the foundational […]
In every disaster movie you’ve ever seen, there’s a key transitional moment when the characters change from believing that they can go back to the way things were, to accepting that the old world is gone. Up until this point they’ve been fighting a losing battle, frantically trying to shovel back the tide, and it’s […]
Broken code gets fixed; poorly-designed, hard-to-maintain, not-quite-bad-enough-to-refactor code is left alone. Modifying it is like placing a rusty fork a centimeter away from your eye – impossible to ignore, emotionally painful to endure, and something you try to make end as quickly as possible. The code is harder to understand, easier to break, more frustrating […]
You are a water-filled sack of flesh, your actions and decisions largely determined by the multiplicity of hormones, chemicals, and nutrients coursing through your body. And no, I’m not just talking about teenagers, with their “raging hormones.” I’m talking about you, a rational, reasonable, experienced, mature, highly organized, professional adult. You are at the mercy […]
This is the third part in a series on what it means to achieve mastery as a software engineer. The first part described senior software engineers, the second part discussed common flaws that, quite apart from coding skills, could undermine an engineer’s professional and personal growth. In this post, I’m going to try to get […]