Over the course of my engineering career I’ve carried a lot of titles, but none of them say a lot about what I do or what my strengths are. Software Engineer is a mysterious term as software and engineering could mean a wide variety of things.

Riot Games posted about Debugging Titles a few months ago and in evaluating myself against their “flavors of great”, I had a better understanding of where my strengths lie and my value to a team. Riot ended up with the following Engineering attributes:

  1. Programming
  2. Subject Matter Expertise
  3. People Leadership
  4. Craft Leadership
  5. Product Sense
  6. Delivery Methods

I scored myself as follows on a 1 to 5 scale:

Programming: 3 I haven’t had shipping production code as a primary responsibility for a few years now, but I think I’ve still got it. I’ve pitched in occasionally on a bug fix or an emergency patch at work, but I am fairly prolific in the after hours writing what is in my opinion functional, maintainable, legible, and well tested code.

Subject Matter Expertise: 2 This one was tricky for me. I’ve shipped production code in Ruby, PHP, Scala, Go, JavaScript, ClojureScript connected to all sorts of persistence layers, launched on all different sorts of server setups. At my current job I feel like I often focus so far on the people spectrum that I am missing depth on large swaths of our product. I think most of this comes with time, but I feel like I am lacking that truly deep understanding.

People Leadership: 4 I’m going to toot my own horn, but I think rallying teams and giving poignant feedback (both positive and negative) is one of my core strengths. One of the most satisfying things for me to see in my job is people leveling up and being their best self.

Craft Leadership: 3 I’ve been known to harp on code coverage, building style guides and code consistency, and encouraging my teams (both as an individual contributor and a manager) to strive for these things. This isn’t something I have done a ton of recently so I dinged myself a bit as I think it’s something that I push for when I see extreme need rather than naturally gravitating towards honing a team’s craft.

Product Sense: 4 In another life I think I may have been a Product Manager if I didn’t have a problem with being another step removed from the technical side of product engineering. I feel like I have a great sense of what a user wants and what’s awkward, weird, and just a plain bad experience.

Delivery Methods: 4 Given enough time with a team, I believe I can pretty reliably empower people to produce high-output results. I love analyzing systems and processes and trimming the fat and it’s glorious to see measurable results as an outcome: moving fast while not breaking things.

In looking at these attributes I found myself squarely in the archetype of “Engineering Manager”, which is probably good since that’s what I mostly do all day. When I look at these attributes as a map there’s certainly a sense for me that I want to get better at anything that’s not a 4. There sure is a lot of work to do…