0 Comments

It turns out that if you’re okay at being responsible for people and things, you eventually get made responsible for more people and things.

The real ramifications of that morequalifier are that are that you might very well end up with less time to engage in the activities that contributed towards your success in the first place.

I know its trite, but there might actually be a grain of truth in the old Peter Principle. If you keep getting promoted until you are in a position where you can no longer reliably engage in the activities that led to your success in the first place, its probably going to manifest as incompetence.

I’m sure you can guess why I’m mentioning this…

Alone I Break

Historically, I’m used to being able to absorb a information from multiple sources and retain it. I have something of a reputation for remembering a wide variety of things in a work context, and even outside work my head is filled with far more useless information than I really care to think about (there’s a lot of Warhammer lore in there for example, praise Sigmar).

The problem is, as I get involved in more things, I’m finding it more and more difficult to keep up with everything all at once.

Perhaps I’m getting old, and my brain is not as good as it used to be (very possible), but I think I’m just running up against the real limitations of my memory for the first time. Prior to this, I could always just focus down on one or two things at most, even though there was a lot of technical complexity in play.

The degradation was gradual.

The first thing to go was my ability to understand all the technical details about what was going on in all of the teams I was working with. That was a hard one to let go of, but at the end of the day I could still provide useful guidance and direction (where necessary) by lifting my focus and thinking about concepts at a higher level, ignoring the intricacies of implementation. Realistically, without the constantly tested and tuned technical skills acquired from actually implementing things, I wasn’t really in a position to help anyway, so its for the best.

The second thing that started to go though was the one-on-one interactions, and I can’t let that fly. I’ve been in situations before where I wasn’t getting clear and regular feedback from the people who were responsible for me, and I did not want to do the same thing to those I was responsible for. Being unable to stay on top of that really reinforced that I had to start doing something that I am utterly terrible at.

Delegating.

All In The Family

Its not that I’m not okay with delegating, I’m just bad at it.

There are elements of ego there (i.e. the classic “If I don’t do it, it won’t be done right!”), but I also just plain don’t like having to dump work on people. It doesn’t feel right.

But the reality is that I won’t always be around, and I can’t always pay the amount of attention to everything that I would like to, so I might as well start getting people to do things and make sure that I can provide the necessary guidance to help them along the path that I believe leads to good results.

The positive side of this is that it gives plenty of new opportunities for people to step up into leadership roles, and I get to be in the perfect position to mentor those people in the way that I believe that things should be done. Obviously this represents a significant risk to the business, if they don’t want things to continue to be done in the way that I do them, but they gave up the ability to prevent that when they put me into a leadership position.

With additional leaders in place, each being responsible for their own small groups of people, my role mutates into one of providing direction and guidance (and maybe some oversight), which is a bit of a change for someone that is used to being involved in things at a relatively low level.

And letting go is hard.

Got The Life

I’ve written before about how I’m pretty consistently terrified about micromanaging the people I’m responsible for and destroying their will to live, but I think now that being aware of that and being appropriately terrified probably prevents me from falling too far into that hole. That doesn’t mean I don’t step into the hole from time to time, but I seem to have avoided falling face first so far.

Being cognitively aware of things is often a good way to counter those things after all. Its hard to be insane when you realise that you’re insane.

So letting go is actually in my best interest, even if the end result of a situation is not necessarily what I originally envisioned. At the end of the day, if the objectives were accomplished in a sustainable fashion, it probably doesn’t really matter anyway. I’m still free to provide guidance, and if the teams involved take it as that (guidance), rather than as unbreakable commands, then I’m probably okay.

A healthy lack of involvement can also break negative patterns of reliance as well, making teams more autonomous. Within reason of course, as a lack of direction (and measurable outcomes) can be incredibly and rightly frustrating.

Its a delicate balancing act.

Be involved just enough to foster independent though and problem-solving, but no more than that so as to avoid creating stifling presence.

Conclusion

This is another one of those wishy-washy touchy-feely posts where I rant about things that I don’t really understand.

I’m trying though, and the more I think (and write) about the situation the better I can reason about it all.

The real kicker here is the realization that I can’t do everything all at once, especially as my area of responsibility widens.

The situation does offer new and interesting opportunities though, and helping people to grow is definitely one of the better ones.

0 Comments

You might think that a quote from the cult classic Scarface is a poor way to start a blog post about leadership. I mean, Tony Montana isn’t exactly a beacon of good management. You probably shouldn’t look up to him in any way, shape or form.

But its a good quote all the same, because really, if you’re in a leadership position, one of the things that you should value the most is your word.

If you can’t keep it, than you should have kept your mouth shut in the first place.

Honesty Is Actually The Best Policy

I’m a firm believer in being honest and straightforward when communicating with anyone. It doesn’t matter if they are a general colleague, someone who you are directly responsible for or even your own boss, you should tell it like it is. Of course, nothing puts an honesty policy to the test like making a huge mistake, so when I look back, it seems to me like I’m pretty consistent about that sort of thing.

There are a bunch of benefits to being consistently straightforward and honest, but one of the most valuable is that its a natural trust builder. Of course, that doesn’t mean that people will necessarily like what you have to say, but that’s another thing entirely.

Regardless, if people know that you are transparent, regardless of the situation, then they know what to expect and don’t have to worry about spending cognitive resources deciphering what you really meant. That means more mental power dedicated to actually getting things done, which can only be a good thing.

Expecto Patronum

Interestingly enough, setting the correct expectations can actually be quite difficult, even if you’re being straightforward and honest.

The best possible situation is when you are able to supply full, unadulterated information, clear in purpose and unambiguous. In this case, there is little to no room for assumptions, and if the other party misinterpreted the information given, it is much easier to clear things up, as the misinterpretation is usually pretty obvious. That doesn’t mean its easy to clear up misconceptions, just easier. People are complicated animals after all.

Other situations are more challenging.

For example, if there is a situation and you are unable to provide all of the information to the appropriate parties (maybe you don’t know, maybe its sensitive), then its entirely possible and likely that the people involved will fill in the blanks with their own assumptions. In this case there is little you can do other than be as clear as possible that this part of the picture is fuzzy and unclear, and to ensure that as soon as you know more, they know more. The quicker you learn and disseminate information, the better. It leaves less time for assumptions to fester.

The last case is quite possibly the most painful.

Sometimes you set expectations, that through no fault of your own, end up being wrong.

Expect The Unexpected

To be clear, if you can do anything at all to prevent incorrect expectations being set, you should do it. Expectations that are incorrectly set and then not met are easily one of the most damaging things to the professional happiness of a person, and can result in all sorts of other negative side effects like loss of trust (which is horrible), loss of motivation and a growing desire to be somewhere else.

A growing desire to be somewhere else is a dangerous thing. In comparison, it is normal and healthy for your people to keep themselves well informed about the job market and opportunities available to them, and you should do what you can to encourage that behaviour. Remember, you serve the overlapping interests of your people and your organization, but if push comes to shove, your people come first. This doesn’t mean that you are encouraging people to leave; quite the contrary, you want them to stay because they want to stay, not because they can’t go anywhere else.

If the worst happens and the wrong expectations have been set for some reason, then you should do everything in your power to ensure that those expectations are met.

I mean, obviously if the expectations are ridiculous then you’ve clearly screwed up, and you need to have a much longer, harder look at your own behaviour as a leader. There will be damage in this case, and you will have to do your best to mitigate it.

If the expectations are reasonable though, and your actions lead to them being set (miscommunication, poorly worded statements, communicating information that you believed to be true but wasn’t), then you should move heaven and earth to follow through and hold true to your word.

Even if it costs you personally.

Consider it the price paid for a valuable lesson learned.

Conclusion

At the end of the day, as a leader, you need to be acutely aware of the impact that you can have as a result of words that come out of your mouth.

Do not underestimate the damage that you can cause as a result of incorrectly set expectations not being met.

Its trite, but with great power comes great responsibility.

“Great power” is probably overselling it though, but the phrase “with mediocre power comes great responsibility” just doesn’t have the same ring to it.

0 Comments

Being in a position of something approximating authority, I am constantly terrified that everyone I “lead” is losing their will to live.

Granted, that statement is somewhat hyperbolic, but the concern is real and is something I’ve been thinking about a lot recently.

I really don’t like the term manager, because it conjures shades of the pointy-haired boss, and I don’t want to perpetuate that clueless middle-manager archetype. I mean, I’d have to grow some hair first, but I really don’t think that the hair is the main requirement to exhibit the destructive and soul-destroying behaviour that he embodies. In the end though, being in a traditional management role, there are certain connotations that come with the territory.

What might have previously been easily identifiable as an animated discussion about a potential solution to a problem between two engineers, might be construed as a direct order not to be questioned or disobeyed.

I don’t want to control every tiny thing like a tyrannical dictator, squeezing the life out of my colleagues with an iron grip.

I just have a lot of opinions about everything.

Whatever Happened To Rick Moranis Anyway?

Micromanagement is a term that gets thrown around a lot in the workplace, especially in software development.

It has these huge negative connotations attached to it, evoking images of an overbearing overlord to whom his or her employees are merely cogs in a great machine of their design. This sort of person ensures that their “cogs” activities are planned out in great detail, making sure that their purely mechanical work is being done in the right area and at the right time. I mean, how else would the overlord be able to make sure that everything is going to get done?

I think at its core the desire to actively micromanage comes from a lack of trust in the people you work with, or perhaps even a fear that without your input, they won’t do what needs to be done.

For some industries maybe this is true. In software development though, you’ve probably gone out of your way to higher smart, educated people who have a proven track record of solving problems and delivering value, so you really should trust them.

Now, the idea of being an all powerful overlord controlling a swathe of minions might be attractive to some, but I want nothing to do with it.

Consciously anyway.

I Hope He’s Happy Now

I have been accused of many things in my life, but being indirect is not one of them. I would say that it is more common to describe me as “direct”, “to the point” and even “brutal”.

This has both upsides and downsides, but there is one specific downside that is relevant to the current topic.

I have strong opinions and I speak about them with authority. Now, whether or not that authority is warranted is a different question, but I definitely project a certain amount of passion into what I say. Internally, my goal is to hold my strong opinions weakly, in that I am willing to listen to new information and change my viewpoint appropriately, but I also know that I am stubborn, so I don’t think I accomplish that consistently. Its definitely an area for personal growth.

Anyway, all of these prefacing statements are really just trying to provide context to the fear that I’ve accidentally engineered an environment where people feel like they have to rely on me for answers, decisions and so on.

Isn’t that what a good leader does though? Provide a strong decision making point and decisive direction?

That’s true in the general, but not in the specific. You should be presenting your people with problems and then giving them the freedom to solve them. If you’re the one making all the decisions, then you’re micromanaging them, whether you realise it or not, and you’re taking away what little fun exists in the work.

In my case, I think that my willingness to offer an opinion combined with the way that I present said opinion has given the illusion of command, rather than collaboration.

And that makes me sad.

The Entertainment Industry Seems Like Such A Hellhole

The solution to the problem is incredibly difficult, for me anyway.

It requires letting go of the minutia, holding back opinions and potential solutions, and leaving your people to make their own decisions and their own mistakes and missteps. In the end, as long as the desired outcomes are met, how the outcomes were met doesn’t really matter except to the people who lived it.

At the point where you let go, the leadership role becomes more about identifying and communicating the destination and figuring out how to measure whether or not it has been reached. Once you’ve done that, get out of the way of your smart people and let them do their stuff.

One thing to keep in mind though is that any successes that your people have should be their own. You don’t get to take credit, except to acknowledge that it was all their doing.

The mistakes they make though? You own those. Your goal is to protect your people from external interference and ramifications, while supporting them through the learning process that comes with a mistake.

A good leader serves first and commands second.

Conclusion

At the end of the day, what I really want is to foster a collaborative environment where ideas are shared openly, defended, tested and mutated such that they become greater than the sum of their parts.

An important part of that is for everyone to feel like they can contribute safely. The set describing “everyone” includes me though, so I need to adapt myself so that I can participate in that space without unintentionally quashing or otherwise negatively affecting the collaboration.

Honestly, it might be easier if I just stopped having opinions about things and constantly sharing them to anyone who will listen.

I think it would probably be easier to stop breathing though.

0 Comments

I have a lot of half-formed thoughts about job titles.

On one hand, the engineer in me loves classification systems, and job titles seem to provide the capability to classify people such that you know approximately where they sit in regards to responsibilities.

On the other, the cynic in me has seen behind the curtain enough to know that titles are at the very least used so inconsistently in our industry that they are functionally meaningless.

Therefore this post is an exploratory piece, written as I try to solidify my thoughts on the subject.

Set your expectations appropriately low.

That’s Classified

Historically, I have to imagine that the purpose of a job title was to provide structure. If you had title X, you were responsible for A, B and C and you were probably paid Z. When it came time for you to move on, someone else could look at your title, understand what was required and what the remuneration was like and make an informed decision about whether or not they wanted to pursue that opportunity. If you saw someone else with said title, even from another company, then you could probably reason about what they do on a day to day basis and how well they were paid.

That seems like a decent enough line of reasoning, and in an industry that is structured and consistent, it could probably work.

I don’t think software development is such an industry.

That is not to say that we don’t love classifying ourselves though:

  • Developer (Graduate/Junior/Senior)
    • Front End
    • Back End
    • Full Stack
    • {Technology Specific}
  • Designer (UX/UI)
  • Leads (Technical/Team/Practice)
  • Architects
  • Tester (Automation/Manual)
    • QA
  • Analyst (Business/Data)
  • Manager (Iteration/Delivery)

Looking at that list, I can kind of explain what each title is expected to do, which is good, but that list is nowhere near close to exhaustive (I’ve left out the differentiation between Engineer and Developer for example), even from my own experience. The sheer variety of titles available just makes extracting any value from the system harder than it could be.

I tried to write some things here about “here are classifications that I think might work”, but all I was doing was creating the situation described in this XKCD comic, so I gave up.

Always With The Rugby Metaphor

Instead, lets look at Scrum.

Scrum has three roles, which are kind of titles, but not really.

  • Scrum Team Member
  • Product Owner
  • Scrum Master

The simplicity in this approach is great, because it doesn’t spend any effort on classifying people in a team. You either help deliver, make decisions and provide direction or you keep the machine running. That’s it.

It doesn’t preclude people from specialising their skillsets either, but nor does it support it. If you’re a scrum team member, then you’re helping to deliver an increment however you can. You might be testing, providing designs, implementing code, automating build pipelines or deploying infrastructure, it really doesn’t care. It fully expects you to be a well rounded person who is capable of contributing in many different ways (even though you might be better at some than others).

Of course, the scrum approach doesn’t really fix anything, its just a different way of looking at the situation.

If you’re correlating titles to remuneration, do you pay all of your Scrum Team Members the same? Probably not, as there might very well be a range of skills and experience there that you want to draw monetary attention to.

But doesn’t that defeat the entire point of them all having the same title? Its the team that is valuable, not the individual.

Reality Bites

The last two paragraphs attempted to explore any intrinsic value that might exist in a job title itself, mostly ignoring the reality.

Unless you work in a highly structured part of the industry (maybe Government?), I doubt a lot of thought was put into your title. Hell, maybe you even got to make it up yourself.

People with the same title can have wildly different salaries, usually as a result of being hired at different times or simply negotiating better. There is generally little to no drive to adjust salaries in line with titles, because all that might do is bring attention to the people who were being underpaid. This inconsistency is probably the biggest hit against titles as a useful mechanism in the wild, but it still assumes that the titles are being used in good faith.

There is a darker side still, where titles form nothing more than a power game for those who enjoy office politics, used as bargaining chips in place of actual monetary recognition.

Salesmanship

To alleviate some of the doom and gloom in the last section, perhaps there is a way that titles can be beneficial regardless of how you acquire them.

As humans, we generally make assumptions when we see that a person worked in a job with title X, and we use that information to form part of our evaluation of a candidate.

“Oh, they were a team leader at company Y, and they did it for 12 months, they probably aren’t terrible at it”.

Even knowing what I know now about the mostly arbitrary relationship between title and actual responsibilities and value delivery, I still would probably scan a candidates professional history and make assumptions like that.

So, there is value in fighting for a good title, ideally one that accurately represents what you do, with the understanding that the main value in the title comes after you leave the place that you acquired it.

Conclusion

In conclusion, I should probably stick to technical posts or posts about Mario Kart or D&D. They are, by far, much easier to write, and honestly, probably more valuable to any poor soul who decides to read this blog.

To paraphrase the principal from Happy Gilmore:

At no point in this rambling, incoherent blog post was I even close to anything that could be considered a rational thought. Everyone on the internet is now dumber for having read it. I award myself no points, and may God have mercy on my soul.

It was nice to get some of these thoughts out of my head though.

0 Comments

Good news everyone!

I bet you heard Professor Farnsworths voice in your head just then, didn’t you.

Our monthly Mario Kart Tournament is going strong. We’ve just finished our fifth season, with strong intentions to immediately start a sixth. Our plush shells are slowly building up a real sense of history, getting covered in the names of people who have won a tournament so far. Its really great to see.

The races continue to be a bright spot each day, acting both as social lubricant and as a way to rest and recuperate from the stresses of the morning.

Like any Agile organisation though, we’re still iterating and improving on the formula, hence this follow up post.

Tooling Around

When we first started the tournament, we were just using a Google Sheet to capture scores and calculate rankings. As we finished each season, we just created a new sheet (well, we copied the old one and cleared its data). It was a relatively simple system, where each race was a row of data, and the ELO calculation was done via some spreadsheet magic.

It was pretty good to be honest, but it was just a spreadsheet. We’re mostly software engineers, so we took that as a challenge. It didn’t help that the spreadsheet implementation of the ELO algorithm was pretty intense too, and somewhat hard to maintain and reason about.

For a replacement piece of software, the initial requirements were as simple as the sheet:

  • The ability to record races (participants, score, etc)
  • The ability to calculate a ranked list of players

The engineer that ended up implementing the tool went above and beyond though, and also included basic season and participant management (including disqualifications, which are super useful for when people have to pull out of the tournament for reasons) and alternate scoring algorithms.

There’s still a bunch of improvements that we want to make (like easily inputting scores from a chatbot, overall ELO ranking (i.e. not seasonal), charts of ranking changes and so on), but it is pretty amazing already.

Orchestral Score

Speaking of alternate scoring algorithms...

After the first season (where we used a pretty naïve combination of average score + knockouts), we’re mostly been using ELO.

Now that we have a custom tool, its much easier to implement another algorithm that sits in parallel to the existing ones, which gives us a lot of freedom to try new things. For example, last season we started out by implementing a different scoring algorithm based around the concept of average win rate.

As races are run, the system determines how likely you are to beat every other participant as a percentage score. If you’ve never raced someone before, it will infer a win rate by using other people who you have raced against (i.e. a fairly basic transitive relationship), until it you actually do race them. If it can’t do that, it will just use your average.

Your win rate percentage against all other participants in the season (a score between 0-100) is then summed together and all the sums are ranked numerically.

As a whole, it was a decent enough algorithm, but as more and more races were run, changes to the scores because less and less meaningful, as each subsequent race had less and less of an impact on your average.

It was a pretty accurate long term representation of how you stacked up against the other people, but it was slow to change if you improved. It was also really boring from a tournament point of view, and didn’t really allow for comebacks and upsets, which are the most interesting bits.

In the end, we just used ELO again, but that doesn’t mean it wasn’t worthwhile.

You’ll never get any better if you don’t try new things.

Spanner? Meet Works

In order to keep things interesting, we’ve also added season specific conditions and constraints, rather than just racing the same way every time.

For example:

  • Season 3: 150cc (mirror), Standard Kart, Shy Guy
  • Season 4: 150cc, Sports Bike, Yoshi
  • Season 5: 150cc, Free For All
  • Season 6: 200cc, Frantic Items, Free For All

This has honestly had a bit of a mixed reception.

Some people are happy to be disrupted and learn how to play a style different than they might normally be used to.

Other people are unhappy about having to change just to participate. This comes down to a few different reasons include comfort level (“I like racing like this, why change”), desire to get better at one particular build instead of getting average at many and just pure enjoyment or lack thereof (“Its called Mario Kart, not Mario Bike”).

I personally enjoy the conditions and constraints, because I think it keeps everything from getting stale, but I can see the other side of the argument as well.

Conclusion

And that’s kind of it for the update on our Mario Kart Tournaments.

All in all I think it continues to be a great social activity that helps people get to know one another and provides a nice non-cerebral break in the middle of the day.

Having said that, our first season had the most participation by far, so I think the competitive nature of the tournament (and the improving skills of the regular combatants), is erecting something of a barrier to entry for the people who aren’t quite as competitive.

I have some ideas about how we might be able to deal with that, but I’m not entire sure how effective they will be.

For example, if it was a requirement that anyone in the top four was unable to participate in the next season until they trained a protégé, that might encourage highly competitive people to induct new members into the group.

Or they might just stop playing completely, which would be unfortunate and make me sad.