Engineering Leadership
After our small (but mighty) five-person software company, NewFire Group, decided to join a much larger organization with a matching vision and mission, it wasn’t long before I asked myself, “What am I supposed to do as a Development Manager?”.
What is it I’m supposed to do?
As a software developer and small business owner, I thought I had nailed down the essentials for managing a team of talented software developers.
- We developed a great hiring process, based on the book “Who: The A Method of Hiring” by Dr. Geoff Smart and Randy Street.
- We had established a career path and salary expectations based on the great work and generosity of Paul Stovell at Octopus Deploy.
- Note: while the original blog post is no longer available, Paul and Octopus Deploy still make public their Career & Compensation policies online in the Octopus Handbook.
I began to realize that what got me here, wasn’t going to be all I needed to get where I was going. It was a struggle, to say the least, but a starting point for something new. I was now part of an amazing organization, which emphasized trust and respect, servant leadership, transparency, and learning.
In the middle of this struggle, Dave Royce sent me a link to a video about Development Management. This one video has led to so many wonderful things. This amazing presentation has helped me frame my thoughts around development leadership at a large organization and discover the CircleCI Engineering Competency Matrix. Thank you, Dave!!
What Engineering Managers Should Do (and Why We Don’t) • Lena Reinhard • GOTO 2019
CircleCI Engineering Competency Matrix
At the end of Lana’s presentation, there’s a link to their CircleCI Competency Matrix. Lana describes in the article, “Why we re-designed our engineering career paths at CircleCI”, CircleCI Blog, 11-Dec-2018, how they had created the matrix three years earlier and had recently updated it to reflect their growth and lessons learned.
Two thoughts struck me:
- The level of transparency, generosity, and strategy from the CircleCI leadership team to share their matrix with the world (via Creative Commons Attribution 4.0).
- The sheer difficulty for any organizaton to create something and not just call it “good enough” and move on; to do self-reflection, iterate on what you learned, and then share it with the world.
I took both the previous Career Path & Salary Espectations paragraphs we had and the CircleCI matrix and I did a very humbling deep-dive into the very phrasing of each matrix level. Don’t let the briviety deceive you. Unpacking each sentence is like uncompressing a highly-efficient, and very large, archive file. It’s a lot of work and I found more humbling than reading and reflecting on The Programmer’s Oath, by Robert “Uncle Bob” Martin from November 2015.
side-note I highly recommend Uncle Bob’s most recent update, Clean Code Episode 45: The Programmer’s Oath.
Thought Backlog
An outline of additional thoughts I have for this topic that may get added to this post in the future.
- Iterative process for introducing it, by facilitating discussions, learning, and reflection (encouraging skepticism and questioning).
- Use as an individual developer to provide an employer agnostic career development guide or tool.
- Onboarding Process - Iteration 3 (2023)
- Boster.dev - thought transparency (show versions of thoughts iterated over time, change log, feed, etc.)
Onboarding Process - Iteration 3
Process
- understanding / learning / reflection
- self assessment
- servant leader assessment
- review / feedback / coaching
- individual development planning (team member-driven, leader-supported)
Details / Thoughts:
- Provide a copy for personal use; feel free to use it throughout career in software (if useful)
- Read through it, write questions down, research topics, and reconcile with current understanding and experience.
- Sketicism is encouraged.
- What do the words mean? What pictures do you see?
- Schedule a 1-1 to talk through each competency.
- Trust is important, otherwise they may feel reluctant to have an open conversation about what they know/don’t know, done/have not done.
- This conversation is about establishing a relationship, connecting, and sharing knowledge both ways.
- Important to share this is like a maturity model in that people in higher job titles may have some lower level compentencies and vice versa.
- It all depends on individuals, their backgrounds, previous opporunities, etc.
- This to help people grow and learn, not to demote them.
- It takes a few meetings to get through it.
- Plan for one program increment (1 quarter / 3 months).
- Self Assessment
- Highlight green for completed and yellow for areas of focus, but try to limit yellow to only 1-3.
- Identify examples of what it means to have completed it or achieved it; consider proficiency vs mastery.
Year over year (only in second year of it), I’m helping document their growth in areas. It’s not about just checking a box, though, it’s about experiences and in some cases not everyone has the opportunity to level-up in a particular area.