From Developer to CTO: A Retrospective Essay Series

If you are:

a developer aspiring to become a software architect,

a software architect aspiring to become an executive,

an executive of any ilk looking for a different perspective on technology leadership,

a non-technical executive trying to partner effectively with technology,

or a technical executive trying to partner effectively with the business…

please, read on.

Preface

If I could take a step back in time and speak to myself 22 years ago - when I first started my professional software career - I’d have a lot to say to myself.  In the interests of sharing my journey and experiences, I wish to present an essay series from that perspective.

If I could step back in time, this is how I’d want to tell my story; what worked, what didn’t work, and how people work.  Most especially, I’d talk about what I had to change about my own mind and perceptions, and my own personal development both on and off the field to become effective, and how to become a respected voice.

I think it’s important to describe my journey in an honest and intimate way, and I don’t want this to feel like a cerebral read.  I mean for this series to feel accessible to readers at all career levels.  I share this openly with the reader because although yes, of course my career is framed within the context of my technical background, it has been the discovery-of-self within this context that has enabled the higher levels of function to which I have aspired, not my technical acumen, and to omit the personal side of my story would be to dishonour and diminish its contribution and causality to my professional development.  My experience cannot be wholly unique; I hope at least some parts of this story strike a common, deeper chord.

I do not present this essay series with the intention of positioning myself as an expert – I don’t purport to be.  I am also not intending for this series to be a complete compendium of all things with which a technology executive must concern themselves.  This series is about street-smarts not book-smarts and is entirely sourced from my experiences from years of boots on the ground.  These are the things that have mattered most to me as I’ve crafted myself and my teams.  To the extent possible, I’ve tried to examine the various situations in which I’ve found myself from multiple dimensions from causality to effect and from people to technology, and will provide what I hope is meaningful guidance on how to prevent, recognise, or remediate difficult situations.  Nothing herein is an attempt to be steadfastly prescriptive; feel free to incorporate what you like, and disregard what you don't.

On a final note, before getting started – I’m Australian, and as this is a personal essay I’m sticking with my native spelling.  If you see an “s” where you’d expect a “z” it is likely not a spelling mistake.

How This Essay Series is Structured

Although a lot of the content in this series relates to how to manage development of a software platform, I’m going to begin this series with a focus on people – not just because this is a more broadly applicable topic, but because it will establish the tone for the essay on the ways in which I see that people, practices, and technology can integrate.

I’ll start first with leadership broadly and leading remotely, followed by sections on managing managers, managing engineers, and managing offshore staff.  I’ll then change tack and get more deeply into considerations in managing technical debt and code quality.  This will be followed by my thoughts on the architecture function of a software department and its role in managing technical debt, code quality, and functional extension of a platform.  Not everything is about code, so I’ll zero in on some practices in Scrum and the relationship between the Technology and Product functions of the organisation.  Finally, I’ll finish up with some thoughts on management of self as a technology executive.

I will present twelve posts as follows:
This is a long read, so I recommend biting it off in chunks.  Please enjoy responsibly.

From Developer to CTO Part 1: My Personal Journey

Contents
1.1    I'm a Builder
1.2    The Professional Services Consulting Phase
1.3    The Engineering and Architecture Phase
1.4    The Management Consulting Phase
1.5    The Career Break Phase

1.    My Personal Journey

1.1    I’m a Builder

I’ve been writing code since I was 11.  I started with Microsoft GW Basic then QBasic, and by the time I got to University I was deep into Ada, 8085, 8086, and 80386 assembly language programming.  Off my own back I built my own machine code assembler and disassembler, and experimented with fractal generation using a floating-point math library that I also built using my assembler.  By the time I left university, I had written my own assembly language 3D graphics engine that could perform basic polygon rasterization, just to see if I could do it.  I was a shameless posterchild for the truly socially awkward geek archetype.

Even by high school though, as much as I enjoyed writing code, I didn’t have a sense of what it might become for me, and I would not develop one for years – it was just a hobby that I thought might become important someday, somehow.  I didn’t even go through high school and university with a focus on computing at all – I was on an educational track to becoming a marine biologist.1

Marine science didn’t work out to be the profession in which I would build myself, however.  By the time I got half-way through my degree I had become disillusioned about the kind of person I was going to become as a scientist.  As it worked out, my love of ships and the sea turned me towards the Royal Australian Navy, and after completion of my degree I would spend the next five years as a Navigation Officer, serving in several multinational naval exercises and in a wartime role in East Timor.  I became a more complete person and learned to lead – at least in a military setting anyway.  After leaving the Navy I emigrated to the United States and knowing nothing else but how to write software, I picked up my career there.

As it would ultimately turn out, my sense of purpose would reveal itself to not be coding at all.  Of course, this was the context for everything I would do, but leading technology efforts as an executive, including the architectures and the people, was where I found my place.  Even though I’m ten years removed from writing code for my job, as a technology leader I still very much consider myself a builder, but at the product and organisational level, not in code.2

1.2. The Professional Services Consulting Phase

After emigrating to the United States from Australia I started my professional career as a Professional Services Consultant for a B2B software company.  With my background as a Naval Officer I was well suited to this; I was technical, relatable, used to being in the hot seat in front of a large group of people, and could assess a difficult situation for what it was.

In this capacity I found myself for a time as the client-facing services lead for a marquee project onsite in London, leading the needs analysis, installation, and configuration of the client’s installation.  This was easy.  I was having a problem however in that I needed to troubleshoot unexpected behaviours and bug fixes on a daily basis, and not unfairly, I was being beaten up by the client over it.  I was not getting the action I needed from technology to get new builds to me.  Marooned onsite, my attempts to provide assurances to the client were not working.  This was a tough experience, and I felt strongly compelled to do something about it. 

After a couple of months I’d had enough.  From what seemed like the fitting setting of an empty upstairs room in British pub on a terribly rainy day, I told my boss over the phone I wanted to move into the engineering department, take it over as soon as I felt I could, and turn the product around – otherwise I’d quit.  Even in the absence of any professional software development experience, to my core I felt this was something I could do.  Such was my conviction that he said yes.

Within 6 months I led the reduction of a three-figure bug queue down to single digits, and those remaining did so only due to differing views on how the software should work.  Based on results, I knew technology leadership was something I could and should do.

1.3. The Engineering and Architecture Phase

Over the years I progressed from engineer to architect, leading the architecture and delivery of several greenfield enterprise-scale platforms, and improving several brownfield platforms as well.  I succeeded here, but there were always tensions in execution that I had difficulty reconciling, in that I didn’t feel I was creating the complete impact I wanted.  Although I was entirely directionally in control of the architectures themselves, from one company to the next I increasingly felt a common thread of fundamental miscues related to the management constructs with which they were being run.  I was not an executive, these were not in my control, and not for lack of trying, I was proving frustratingly ineffective in influencing them.

I was becoming disillusioned and started questioning my limits, wondering if I could ever matriculate to a position in which I had the authorities to do these “right”.  Worse, I started questioning whether I even had a personality type befitting an executive.  These doubts aside however, I knew one thing for sure: none of these projects felt good – they could have been better, and they could have been easier.

1.4. The Management Consulting Phase

I figured that if I was going to struggle with becoming an executive myself, I at least had enough technical experience and room presence to help one out.  Maybe, I figured, without having delivery responsibility and helping clients with beleaguered projects I could develop the leadership voice I was seeking, turn their projects around, and get career satisfaction that way.  The idea sounded great in my head, anyway.

It works out though that management consultants don’t typically have many authorities; they’re paid to analyse departments, people, processes, and chart a way forward.  The authority to execute usually remains the client’s.  In time I realized that many of the executives who had retained my services were the ones that had got themselves into their pickle by a combination of their own practices, resources, constraints (real or imagined) and thinking.  If what felt like organic recommendations to me felt un-natural to them, or were more than their risk appetite could bear, there was only so much that could be done to notch up a meaningful win.  I acknowledge that this sounds like the venting of a frustration, yet I don’t write this in that vein; this truly was often a reality of the role.  Without an introspective executive who was prepared to be vulnerable and open minded, there was often not a lot I could do.

In one notable case, I worked with a manager so risk-averse they didn’t realize their biggest risk was taking no risk at all.  Without solid metrics to justify a different approach, they didn’t want to risk their career making the wrong decision and were thus effectively paralysed by an artificial constraint of their own making; executives are classically encouraged to make metrics-driven decisions, after all.  Yet, even in a situation in which defining and gathering meaningful metrics was clearly going to be difficult, it wasn’t enough for a decision to seem intuitively correct to execute upon it.  Gathering metrics requires process data in some form, and that takes a degree of process maturity and tooling.  If they don’t have that maturity, they almost certainly don’t have that data.  Good luck deriving actionable metrics in that situation.

In the years to come though, I would develop an empathy for those executives, love them or loath them.  They felt boxed in by their circumstances, were under massive stress, were looking for ideas their risk appetite could tolerate, and operated from a constantly triggered state of mind.  Their bosses were no better off either, and their being one level further abstracted from the coalface, they felt even more powerless to turn the ship around (whether they’d admit it openly or not).  Besides, no executive enjoys having their soft underbelly exposed by openly debating the merits of their past ideas, so it’s a fine line that needs to be walked in the management consulting role.  The one thought offered in the spirit of honesty and enablement can be taken as insensitive and end a relationship.

For all this experience, still I sought real decision-making authority and self-determination as a technology leader.  From architecture to team to culture, I still wanted to build something, I wanted to build it right, and I wanted the experience to feel right.

1.5. The Career Break Phase

Meanwhile, my wife was going from strength to strength in her own career, and she got the opportunity to pursue her own executive path.3   We relocated between states, and I took a break for three years in support of her career development by playing stay-at-home dad for two pre-kindergarten girls.  Although I continued with some remote management consulting from time to time, I did little to maintain or develop my professional network and I lost touch with a lot of quality people.  I didn’t understand the real value of a quality network.

Looking back further than those three years though, I recognize now that I really short-changed myself in this aspect of my professional development for much longer than that.  Not only did I fail to avail myself of the different perspectives on my challenges from peers at my level or above, I did not develop a strong pool of talented engineers and leaders up or down my Rolodex.  I was lazy in my approach to attending events and generally schmoozing.  I had focused on those with whom I had worked in the past and that was about it.

Not helping matters was that historically, after all my attempts to find professional relevance and acceptance at the level I desired, I had always felt imposter syndrome at any networking event I did make it to.  I would skip out after some perfunctory conversations and give myself a pat on the back for trying, but ultimately know I’d created a non-developmental experience.  Now this wasn’t my being shy – more my sense of an underdeveloped persona as a corporate-savvy technologist.  I was also jaded and cynical about technology leaders in general, and my attitude and frustrations were a little too close to the skin for me to present as grounded.  I wasn’t attracting the right kind of people and I was certainly missing out on the benefit of listening to their different perspectives.

All my frustrations aside though, objectively I truly believed there was a dearth of really good technology leader role models in the industries and geographies in which I’d worked – at least over that timeframe, anyway.  I had seen a lot of projects struggle or outright fail and saw few individuals accessible to me as people I wanted to emulate as leaders.  Whether I was right or not, the net result was that I was not developing a respected leadership voice, and I was not becoming savvy; I had just become opinionated.  I considered whether I would even return to this career full time.  Yet – for all these perceptions and misgivings, part of me still needed to prove to myself I could become more.

1.6. The Golden Opportunity Phase

One day everything changed.  By way of a windfall through one of the few healthy connections I had managed to foster during my time away, I was introduced to the founders of a company that needed a technology leader for a young product they needed to take to the next level.  Solely through confidence, presentation, and experience, they gave me an opportunity to prove myself as Interim CTO, and almost instantly got promoted formally into the CTO role.  They supported my ideas, gave me a product challenge beautifully suited to my background, and a large team to play with.  I created a plan and made it so. 

I took this role right at the beginning of lockdowns due to the COVID pandemic and I barely got to meet anyone on my team.  Granted, 20 or so of them were near-shore teams I would have had to manage remotely anyway, but adopting a new department, contemplating their challenges, coming to understand the architecture, and creating a new vision and roadmap was particularly challenging in a remote setup.  The scenario forced me to be creative and thoughtful, and because I had broad authority, I was able to rise to the occasion and institute changes across the whole department and platform, with great success.  By the time I hit my stride my department had grown to 45 people both onshore and offshore, and included Product, Development, QA, Infrastructure, Site Reliability Engineering, and DevOps.

Through it all, I found my voice, got to practice my leadership skills in a variety of scenarios and forums, and became the person I wanted to become - comfortable in my technology leadership skin, and not defined as an architect for me to provide the value I was aspiring to provide.4   My time as a CTO changed my outlook on myself, on technology leadership, and my prospects for my future.  Although certainly my entire career previous to this position gave me critical know-how, experience, and a strong sense of how to do things right, all of that merely set the stage for the truly transformational changes that occurred in me during this time.

Through it all, I always have and still feel like one of the crew and enjoy connecting with my team as equals.  I’ll confess that it sometimes feels conceited to refer to myself an executive - maybe for all the twists and turns along my journey, it’s the part of me that still needs to pinch myself from time to time.  Either way, it’s what I do, and it’s what I was meant to do.

With fair measure given to every facet of my career, this series will describe the learnings that mean the most to me.  Hereinafter, I will make little reference to the stage of my career at which I developed the knowledge and skills, and I will not reference a particular client or company; after all, the experience I attained is the sum-total of all of it.

Next Up

With my introduction over, in my next post I'm going to discuss my views on effective leadership, with some special focus on the challenges posed by leading remotely.  I think it's appropriate to continue here as the personal journey I've taken has informed many of my views on how to lead effectively, and what it feels like to be lead effectively.  It will also set the tone for the remainder of this series and the role leadership effective leadership of people plays in managing a technology organisation.  

You can view my next post titled "Leadership and Leading Remotely" here.

1.    My degree is actually a double major in zoology and biochemistry.
2.    To this day I do however retain my interest in 3D graphics and in my spare time I code in C++ and OpenGL with a focus on GPU compute; I haven’t entirely lost my connection to my roots.
3.    My wife is impressive.  No small amount of my executive acumen has come from listening to her on conference calls at home whilst the COVID pandemic ground on; proof that it pays to hang around the right people.
4.    Being an architect sure helped though.  In fact, it was a key to my success because of the architectural paradigm shifts the platform needed to take it to the next level, and I could align the project, teams, and technology in a way that made sense to everybody.  With the challenge on hand, I would not have succeeded otherwise.

From Developer to CTO Part 2: Leadership and Leading Remotely

Contents
1.1. The Remote Paradigm Requires You to be a Better Leader
1.2. Leadership Is About Creating Feelings
1.3.1. Understand What Innovation Means to Them
1.4. Embrace Your Peoples’ Individual Work-Style Preferences
1.5. Support Them in Influencing Their Environment
1.6. Challenge Your Engineers to Accept Responsibility
1.7.1. Manage Upward to Set Reasonable Delivery Expectations
1.8. Lead from the Front - Stay Up Late with Your Team
1.9. Set Fair Responsiveness Expectations
1.10. Keep Your Initiatives in Perspective with Four Pillars

1.    Leadership and Leading Remotely

1.1. The Remote Paradigm Requires You to be a Better Leader

Having taken on my first CTO position right as the COVID-19 pandemic struck, I had no time to get to know my employees, my bosses (the co-founders), the industry, or the product.  I was no stranger to managing relationships between onshore and offshore teams so I had that working in my favour, but restructuring an organisation I didn’t yet know, and remotely evolving a product and its architecture that I didn’t yet understand was going to be a task for which I had no career precedent.  I had to make up the rules for how to run a fully remote software engineering organization on the fly.

A year and a half later, I had come to realise that the remote work paradigm helped me create the most effective organisational strategy I have ever been a part of.  It forced myself and my team to be crisper on design, assignment of responsibilities, crisper on guidelines in process, architecture, and automation, and it freed me and my teams from what I saw as the constraints, conformity, noise, and imbalance of the regular office work environment.  It also forced me also to be more thoughtful on how to impart meaningful, effective leadership influence on people I didn’t even know in ways I may not have thought to contemplate face to face.

1.2. Leadership Is About Creating Feelings

I believe that fundamentally, leading remotely is only a question of how a leader needs to modify their approach to consider all the dimensions of an employee’s experience that they should be managing face-to-face anyway.  If as a leader you’re missing an answer for how you’d manage any of these in a face-to-face experience, their absence in a remote role is only going to amplify and accelerate an issue that would probably develop over time anyway.  Be it onsite onshore, remote onshore, remote offshore, employee or contractor, it all comes down to the member feeling that the following dimensions of their experience are being actively managed:

  • Feeling their individual intrinsic motivations are understood and that this understanding modulates the behavioural expectations, and the expectations and empowerments commensurate with their role
  • Feeling they are a part of something meaningful
  • Feeling respected and recognised
  • Feeling they can trust their leadership (to be sensible, consistent, observant, and fair)
  • Feeling work-life balance is something they’ve no need to argue for
  • Feeling like they can influence their environment
  • Feeling growth opportunities exist
  • Feeling fairly compensated (more on this as it relates to offshore and contract staff later)
  • Feeling safe to raise issues and suggestions to receptive supervisors

Together, to the extent that you manage them, these dimensions represent your culture.  I’ll restate that these dimensions need to be actively managed.  If these aren’t conversations you’re having from time to time on an individual basis now, or if you don’t contemplate if or how these live in your department, you should start.  Done from a genuine place, the active engagement with your staff will create meaningful connections, and if you follow through with what these items require of you, you’ll generate for them a sense of place, and in them a sense of loyalty.  If you’re only managing your staff’s task list, you’re missing out on leading the person, instead only managing a resource.  In later sections of this series I’ll spend time describing ways to develop these. 

1.3. Understand Your Team Members’ Motivations

It’s obvious to state that not everyone is moved by the same things, yet it’s astonishing how often I’ve seen this do nothing to meaningfully modulate managers’ styles and decision making on a person-by-person basis.  If you were to consider this from the perspective of assessing an employee’s risk of leaving, the tangible ones are generally:

  • Compensation
  • Job stability
  • Promotion in title (especially for up-and-comers)
  • Greater technical skill in their stack of interest, or practices in general
  • More (or less) management responsibility
  • Interest in the industry/business area
  • Contribution to social causes

If you don’t know where your engineers sit in respect to each of these facets, you may get a surprise when one day they walk out the door because some of their main goals weren’t being met.  When new people join your team, and somewhat regularly thereafter (I’ve found quarterly is a good guideline), these are questions you need to ask them and doing so will further contribute to their sense that you value them.

Often, the correct remedy for mismatches in many of these is realignment within the organization to balance career growth, skills, and output, but actively managed with the staff member instead of surprising them with it every time you release a new org chart.  

I’ll spend a moment now outlining just a few areas in which I’ve commonly seen misalignment leading to attrition, suboptimal outcomes, and missed opportunities.

1.3.1. Understand What Innovation Means to Them

Innovation often means a different thing to engineers versus product and business people, and you have to manage expectations.  Highly competitive engineers generally like to innovate for technology’s sake – to try something new by experimenting with emerging technologies.  Business leaders like to innovate because they have a problem to solve.  Yet another class of engineers are not so innovation-driven necessarily, prefer a more status-quo kind of environment, and just want to get the job done well.  There can be a place for all of these kinds of engineers, depending on your goals, and you need to know in which camp they sit.

From the standpoint of an engineer, the curb appeal often lies in their gaining a competitive advantage in the marketplace by being associated with development or use of emerging technologies, as mentioned above.  There is an excitement for them that comes with not working on the “same old stack”, or for that matter being involved in an experimental R&D program to conceive their own new stack components because they believe existing ones do not solve their problem well (for example, React was created by Facebook for just such a reason).  Naturally, not every organization has the luxury or purpose for creating such a function.

From your perspective as a technology executive, unless there is truly a real question of value proposition (competitive advantage, efficiencies) for the development or utilization of a bleeding-edge stack or technology, there are risks and pitfalls to consider in not using something tried, true, and current.  More mature stacks are better tested, more functionally comprehensive, performant, secure, and have large communities contributing to an expansive knowledge base.  This is all pretty self-evident and I’m not making this point for its own sake.  However, depending on your scenario not all team members’ goals will align with your own risk appetite or technology goals, and this is something you must come to know of your team members on an individual basis.  You need to understand if your own technology plan excites them – or is at least match-fit.

Simply put, make sure your engineer is happy to be at their assigned place on the innovation spectrum.  If they’re not there now, and if there aren’t expected to be any roadmap developments where they could slot in in the reasonable future, it’s just a matter of time before that misalignment creates issues.  Either have this conversation actively and plan accordingly, or they’ll make the decision for you and leave you down a set of hands.

1.3.2. Don’t Give Technicians Managerial Responsibility They Don’t Want

Some engineers want to climb the management ladder, some want to climb the technical one, and some are happy where they at their stage of career progression.  Understanding which seat they’re in is important because absent any other consideration, the job descriptions of team leads, scrum masters, and straight-up engineers are different; misalignment here can quickly lower individual or team performance and unity.

I’ve often seen Scrum teams with one of their developers assigned as the Scrum Master.  Unless you have a management-track engineer who wants to excel here and is proven to be truly impartial in the two roles, this can be a problematic union.  Lack of impartiality creates a conflict of interests and is accompanied with:

  • Disgruntlement with the expectations of the dual role (possibly not even really wanting to wear both hats)
  • Poorly specified stories or tasks that aren’t adequate for the purposes of test case specification, leading to quality issues
  • Built-in, undocumented assumptions in technically written work items
  • Lack of transparency in team progress (deliberately or ineptly)
  • Poor time management of the SM themselves and of team members (it’s not their forte)
  • Tendency to not advocate enough for the true business need (they don’t tend to think in terms of the five-whys)
  • Outright lack of people management skill

Ultimately, it can cause quality issues, not getting what you want, and cost and time overruns because the team isn’t getting the qualified leadership and advocacy it needs.

1.4. Embrace Your Peoples’ Individual Work-Style Preferences

I’m distinctly unconventional in my preferences for my ideal physical working environment.  As a place for deliberate purposeful collaboration the traditional office environment has always been fine and enjoyable for me – in collaboration sessions I get a buzz from the energy of the room.  However, I’ve always found it completely suboptimal as an environment in which to get myself into the kind of creative head space I need to solve large-scale problems.  As an engineer, architect, or manager this is a big problem for me as these are all highly creative, analytical roles.  So much so, in fact, that the bulk of my truly deep thinking needed to be done at home, after hours, where I could control my environment.  A lot of people use their after-hours to catch up on emails or writing policy documents for example, but for me that was often being done during the day.  I did not produce my best work in a bright, busy room with people constantly walking by and stopping to ask questions.  I know I’m not alone.

The remote work paradigm opens up the opportunity to let team members be their own person.  Save the requirement to be available for stand-ups, general meetings, or collaboration sessions, let your team members run their own routine.  I’m one to shut my eyes, put my hands behind my head, and put my feet up on the desk in a fully darkened room with headphones on.  Try getting away with that in a standard office environment.  If you’ve got a night owl, don’t expect them to be contactable outside of agreed hours except in planned or exceptional circumstances.  If they want to start work early so they can take off at 2pm for family activities, let them.

Manage expectations and around availability and accountability for work product and you have the framework to allow them to create their own optimal environment.  These are things you need anyway, and besides, looking over their shoulders between 8 and 5 doesn’t get you very much.  It’s tantamount to an implicit assumption that it’s ok to bother them between those hours.  I’ll continue the theme on accountability in a later section, “Remote Software Engineering Challenges”.

1.5. Support Them in Influencing Their Environment

Creating a structure where your staff can influence their environment is critical to an engaged team culture.  This is something you want as an executive – it quickly becomes tiring to attempt to anticipate and implement every initiative you think the team needs in an attempt to influence it for them, and they may not necessarily follow you if they feel you’ve missed the mark.  Sure, from time to time some teams genuinely don’t have the ideas to improve their work environment (there can be a few reasons for this, especially in a transformation project), but generally, most teams know where they need support to improve the quality of their work experience.  All they need is your backing to make it so, as long as it makes sense.  If it doesn’t make sense, you still need to think about the outcome they were going for when you suggest an alternative.

Each team member will live with stresses, frictions, and inefficiencies that make that daily or even hourly experiences problematic.  Anything with the way teams coordinate their efforts in related areas of source code, to the process of reverse merging a team’s code across a shared code base, to the release process, to issues in Scrum management can cause problems that detract from available time and their general enjoyment at work.  You’ll be in a bad spot if you don’t listen to and support their suggestions – with some common sense and experience applied of course – because you need your people to want to make a difference, and for this they need to feel heard.

Ironically, the place where I’ve seen frequent failures is in the part of the Scrum process whose explicit purpose is to create a continual improvement culture – the Retrospective ceremony.  I’ve witnessed time and again organisations whose teams attend the ceremony, do their keep/stop/start exercise, only to find a few sprints down the road that few things have changed in a meaningful way.  The teams disengage and eventually, under the delivery pressures of a system and process that isn’t improving, adopt the mentality that nothing will ever change.

This phenomenon is cancer to a department.  Ensuring continual improvement is a core responsibility as an executive and if this phenomenon is happening, you need to find out why.  The obstacles need to be identified and overcome.  Is it Scrum Masters or managers who are not taking their suggestions seriously?  Are they unable to articulate them?  Are they unable to see the whole picture, think creatively, and create a workable incremental suggestion that can see progress in the right direction?  Are you yourself supporting your managers adequately?  The answer to this problem may ultimately come down to something you yourself need to improve on.  Their suggestions need to be implemented.

1.6. Challenge Your Engineers to Accept Responsibility

When solutioning, make your architect encourage your engineers to give their own design thoughts before pushing a design down to them.  They’ll learn more if they challenge their own thinking and it will develop a sense of ownership, and of themselves becoming part of the platform.  Nothing is worse for a budding engineer than having a design pushed down with little opportunity to provide input and to code it like an automaton.  That is not leadership – it is just poor management.  Also, as far as remote task management and accountability is concerned, your team is a lot more likely to do the work and not slack off if they’re the ones that lay out how they want to approach a problem.

1.7. Insist on Work-Life Balance

It goes without saying that we want our staff to have an equitable work life balance in which they feel they have quality of work life and quality of personal life, but we all know in the modern workplace this can be a hard goal to realize.  Especially in the start-up space, operational tempo and commitments can be high, timelines can be short, and resourcing levels may not be adequate to wholly meet all needs.  Executives, managers and lower-level employees alike get stressed to unhealthy levels.  They come to resent this situation and ultimately move on in search of greener, calmer pastures.  You’ve lost talent, and you’ve lost knowledge.

There are two main ways to help ensure this is not the experience your staff will have.  As I’ll discuss in the following sections, manage reasonable delivery expectations and risks with senior leadership, identify and manage inefficiencies (broadly speaking) in your staff’s work habits and processes that increase workload, reinforce that you expect them to work reasonable hours, and if it comes down to it, recognize and stave-off fatigue.

1.7.1. Manage Upward to Set Reasonable Delivery Expectations

A company with an aggressive growth strategy is going to continue to push all the time; senior leadership knows they’re asking a lot, and they’re going to ask you to balance it.  You cannot often outright say no to the business when asked to work on new initiatives, and you also cannot just promise everything and push the work down to the staff without controls, either.  You must work out what you have to reason with, and what price leadership is prepared to pay for accepting new work.  Give them options, be it a request for more resources, reduction in scope in some places, bumping some items further down roadmap, accumulating some technical debt, or sacrificing some of the “ilities” for a spell.

Any reasonable business leader is going to appreciate the options you give them as it is responsible of you to do so; you’re illuminating the risks that are created that they want and need to understand.  If they don’t like the price or the risks, they have the option to decide to defer this or another initiative.  You haven’t said no, and you’ve empowered them with the information needed to make the choice themselves.

1.7.2. Recognise and Eliminate Engineering Inefficiencies

This subsection is going to be so short as to appear to whitewash some very complex topics – some of which I discuss in some detail in other parts of this retrospective series – but I point them out in this context because I want to highlight their abilities to influence how much time your staff can spend doing things inefficiently, and therefore their direct impact on work-life balance and overall job satisfaction.

It can be hard to influence all the extra-departmental factors that contribute to long work hours, yet make no mistake, a great many of the conditions that can cause long work hours are purely intra-departmental, can very much be influenced, and if addressed can entirely be expected to cause work effort to trend downward:

  • Provision of incomplete or aggressive delivery estimates to management, perhaps due to inadequate architectural oversight, not considering non-coding activities in the estimate (meetings), or just plain lack of experience and understanding of the realities of the task
  • Not saying no when they think something is not realistically achievable and trying anyway
  • No attention to code quality, thus driving up development and knowledge management cost, and the chance of bugs along with it
  • Poorly written user stories or task descriptions that create confusion, require additional consultation to understand, and that potentially blow out estimates
  • Poor quality assurance, causing issues to be detected too late in the release cycle, resulting in the inefficiencies of context switching between bugs and planned work
  • Bad or missing continuous integration/continuous delivery mechanism, causing manual work
  • Of course, this is all easier said than done, but this is your work.  All else being equal, engineers won’t have a quality life if these go unmanaged.

The need for a sense of self-determination for staff is critical here (I go into this more in the section “Lessons in Scrum”).  Most people will work in suboptimal conditions for a time, but if their feedback on ways to create efficiencies is not openly received and supported, they will turn off very quickly.  No one wants to work when they don’t believe anything they do can will make a difference to uncomfortable working conditions that require too much of them out of hours.

1.7.3. Recognise and Mitigate Fatigue - Don’t Be Stingy with Your Time

To me, the prevalence of stringent, inflexible 2-week vacation and floating holiday policies is a sign of lack of understanding of the way people want to function.  I go against the standard corporate grain in that I think it’s a failing model.  It certainly never worked for me, anyway.  Any time I’ve gone into my single 2 week per year vacation I have done so frazzled, worn out, and worrying about what will await me upon my return.  I’d dread my return to work on a daily basis, having barely been mentally ready to return, and in fact would go so far as to say I often resented my return.  The final insult is the year long wait you must endure before getting a reasonable break again.  Almost everyone has this experience and yet in the interests of ease of management and equality for all, these policies stick around.  My employers’ HR strategies didn’t include creative ways to use time off as a way to keep me rested, engaged, and productive.

Moreover, budget for financial incentives is typically limited and may not be sufficient to recognize the hard work of all of your staff in a meaningful way.  If you only have a 30k bonus budget across a 50 person team, someone is missing out, even if they made a major contribution and burned midnight oil for you.  Even a thousand dollars once a year isn’t particularly meaningful, and done once a year is certainly not a way to incentivize an employee to keep up the good work.  Moreover, giving employees money does absolutely nothing to manage fatigue.  Sure, on the face of it, it shows they’re appreciated, but think about the unspoken undertone of this reward: “please don’t leave, and by the way another such reward is contingent on keeping up that pace of delivery”.  This is awful.

To be clear, I’m not arguing against working harder when required.  Yes, sometimes people need to work longer hours to get beyond a milestone when a delivery date is approaching, or when an issue has been discovered that changes the assumptions under which a design was made and thus a change to the estimate, and everyone understands that.  However, it doesn’t mean it is desirable or sustainable, and it cannot be the status quo.  People need time off in the middle of difficult periods, and they should not have to dig into their PTO or sick days to get it.  Leave their PTO to take vacation and enjoy their families.

The answer – simply giving an unaccountable day off in the middle of a tough run is an easy and cost-effective way to manage your peoples’ fatigue.  It actually gives them time off to relax their minds.  It recognizes that mental burnout is real and cannot be ignored.  It shows you care and want them to have balance in their work life.  Don’t wait for them to ask for it – be observant, watch for the early signs of onset of fatigue, and give it to them before they become fatigued.  It’s a lot cheaper than replacing your people once they get burned out.  As a technology executive, you should insist on having the discretionary flexibility to execute this for every employee.  Naturally, be level in your application of this so that you’re mindful of the possibility of inequity.

For me this has proven to be a valuable tool, even for offshore resources.  The fact that they’re contractors doesn’t mean they are any less important as contributors, and their fatigue needs managing too.  This kind of time off needs to be reported to the vendor, but it should be made very clear to them that the vendor must still pay the contractor’s compensation for the day off, and as a customer, you will ensure that the vendor is paid for that time; you’ve got that hourly budgeted anyway.  I discuss this more in the section “Managing Offshore Vendor Staff”.

1.8. Lead from the Front - Stay Up Late with Your Team

The remote work paradigm provides some serious opportunities when it comes to having to battle through some issues with your team.

No one respects an armchair general.  If your teams’ activities see them working harder than normal and late into the night, you’d better be in amongst it doing whatever you can to make them know their extra efforts are appreciated, to unblock them when needed, and to provide general comic relief.  Leading from the front means being amongst your team when things are tough.  Now – this does not mean micromanaging the effort.  If they are working late and need questions answered, be instantly available on your communication tools.

I’ve “presided” over many a late-night effort due to anything from production issues, releases gone wrong, analysis of problems to work out a plan of action, and more.  If I’ve asked the team to continue to work past the normal end of the day into the evening or even into the weekend, I’ve set up a long-running video conference bridge, left video off while no one is discussing actively, but when there is discussion, I’d turn my video and microphone on.  They could see me, they knew I was listening to their thinking and mostly staying out of the way unless they needed me.  From time to time I’d suggest we take 15 mins for a coffee break, which made it feel like we were taking a break together.  Naturally they knew I was using the late night opportunity to do my own work too, but the most important thing they knew was that I was not out living the good life while they were working late.  I was there to be on video the instant one of them messaged me.  The team loved it, and moreover, it truly felt like a bonding experience.  This is such a simple thing to do, and I cannot overstate how impactful it is.  If you’re there for them, they’ll be there for you.  I’ve experienced this outcome time and again.

Importantly, know when to call it a night.  When working late the team is going to be nervous about calling it a night because they aren’t always clear exactly when it’s ok to down tools.  Take this concern away from them.  Not many good decisions get made late at night anyway, and if it is clear the work effort required to fix an issue is going to last into the next day, give them a break, let them rest up, and reconvene in the morning (assuming operationally you can, of course).  They’ll appreciate that you’re supporting a positive state of mind.

Lastly – especially if they’ve a family – let them take a break after work, have dinner, put their kids to bed, and then resume together at a set time.

1.9. Set Fair Responsiveness Expectations

In the days of 100% in-office work, as an architect or executive I always wrestled with the concept of the open-door policy.  It encourages undisciplined use of time in a manner insensitive to an issue’s true priority.  Your time as an executive is important and you need focus also.  Of course, in the remote paradigm messaging platforms make disruption even easier and it’s reasonable to set expectations around when people can contact you and how quickly you’ll get back to them.

In your instant messaging tool of choice, establish high priority channels to which people can reach out for urgent needs, and otherwise mute your notifications.  For example, set up “CTO Immediate, CTO 2 Hour, CTO 4 Hour” and honour those windows, and in any other channel get back to them as soon as it is convenient, even if it is end of day.

Similarly, don’t expect your team members to reply immediately to you, either.  If something needs urgent discussion, post a message to a public high priority channel requesting a specific person or team so that they can better manage notifications on their private and team channels.  Otherwise, set expectations that they’ll get back to you at their next convenience, and in any event not later than end of day.

Lastly, make it clear to your team that if you’re sending emails at night because it’s the only time you can get to them, there should be no expectation of a reply before work starts the next day.  They should not need to be monitoring or responding to any work communication channel after hours unless by prior arrangement.

1.10. Keep Your Initiatives in Perspective With Four Pillars

We all know the myriad challenges that come with remote work and I’ve no reason to belabour those.  I do have my own take on some specific software engineering management challenges, however, so I will spend a little time on this topic momentarily.  As this essay series goes on to describe, there are many interdependent disciplines and considerations involved in managing the more nuanced side of a software engineering organisation.  With so many of them in play it can be easy to lose the forest through the trees; you can lose sight of the ones most important for your organisation’s current evolutionary stage.

I believe these disciplines and considerations can be seen as the underpinnings of a small number of fundamental thoughts that relate them all to each other; in the absence of a construct, they just seem like items on a very long to-do list.  I’m going to describe these thoughts as “pillars”.  A disclaimer: there are several different “four pillar” constructs out there that touch on various aspects of leadership, management, software engineering practice, and more.  I’m going to introduce mine as “The Four Pillars of Software Engineering Leadership”: 1

  1. Make your people want to stay engaged
  2. Define very clear and demonstrable outputs
  3. Create focus and try not to achieve too much at once
  4. Continually improve

Stated individually these seem obvious and without much value but have a think it by way of some examples.  If you’re struggling with cultural issues for any of a multitude of reasons, you’re almost certainly going to have an issue supporting the first pillar.  If input from sprint retrospectives isn’t implemented, you’ll impact the first and fourth pillars.  If you have your teams spread too thinly across too many initiatives you lose traceability and focus and you affect both the second and third pillars, arguably with follow-on effects to the first pillar too.  If you have many continual improvement initiatives – which on the face of it sounds great – you’ll undermine the third pillar.  If you take it that all four pillars must stand for your department to be healthy, accept that dysfunction in one will reverberate across the others.

If you think in terms of the pillars it can help put your in-flight activities and initiatives into perspective, driving focus toward the ones that will most directly support the success of your engineering efforts.  They help you visualise your problems from the top down – your main imperatives – and then drill down to where the work is.  Anything else you have going on that doesn’t meaningfully support these might just be noise.

All told and simply put, you need to be able to attest: “as a leader I know my people want to be here, they know exactly that they’re to do, we’re achieving the right amount of demonstrable work, and we’re getting better all the time”.

1.11. Understand Remote Engineering’s Destabilising Forces

Naturally you can apply the four pillars concept to any engineering organisation, and as broad as all the contributing disciplines and considerations are (again, that we cover throughout the remainder of this series), it’s worth introducing those in this section because in a remote world there are more forces negatively influencing your ability to keep those pillars standing: 

  • People feeling disengaged from the mission 
  • People feeling isolated from other team members
  • Lack of access to the engineering coaching they need that would be easily obtained in person
  • Difficulty in brainstorming, ideation, and design
  • For yourself and your managers, the following challenges also present:
  • Difficulty ensuring people are staying focused on their work, working honest hours, and staying accountable
  • Difficulty ensuring out-of-band continual improvement initiatives are implemented
  • Difficulty getting people to speak up during meetings
  • All of these challenges can slow a department down considerably and dent your culture.  Some examples of ways in which you can combat these for your engineers follow:
  • Keep your people engaged by sharing case studies and success stories, keep them abreast of product roadmap, and encourage them to present their ideas if they see opportunities that the business may not see, and do regular highlights of great work.
  • If possible, reduce feelings of isolation by getting your team together in person “somewhat” regularly, but seriously reduce work expectations when you do.  Do something people-centric and not in the office.  Avoid them checking emails between activities.  If your team is very distributed, conduct conference call “happy hours” well before the end of the workday so it doesn’t come out of their family time, and then give them the rest of the day off.
  • Keep developer coaching going with regular team sessions given by your Architect or senior engineers.  Point out undesirable coding patterns and how to migrate them to a desirable state.  Make sure this time is budgeted in their scrum commitments for all involved.  Don’t make them pay the price of losing their lunch hour for “brownbag” coaching sessions.
  • Enhance design and ideation sessions by providing your team with good pen-based tablets and use a whiteboard collaboration tool so they can mark up each others’ diagrams.  Before turning a session into a free-for-all, establish the problem statement well ahead of time to give them time to create their own diagrams, and set an agenda so they can present them.
  • Ensure developer accountability by having them showcase their work to their team lead daily – not just functional end of sprint style demos but their individual input needs to be on display.  They cannot be allowed to go several days in a sprint saying they’re working on stuff when they really aren’t.  When they’re asked to make an excursion from process it can make it hard to demonstrate accountability, so limit those as much as possible and document when it was required.
  • Ensure you’re getting motion on continual improvement initiatives by managing a register, and budget sprint time for your engineers for it; continual improvement has a cost and they may not always be managed as sprint deliverables as much as side projects, but this should not be expected to be net plus over their regular work product.
  • Encourage more active participation in meetings by asking random people what their perspective is on a particular topic of conversation.  It will keep them on their toes and disincentivise them from doing something else off camera.  If something they are working on is that important that they feel the need to multitask during a meeting, it is better to have that conversation openly and excuse people if required.

Next Up

The leadership thinking in this post has been mostly general, but naturally employees and contractors at different levels in your organisation need to be managed with more techniques specific to their level.  In the next few posts I'm going to address those areas, starting with managers.

You can view my next post titled "Managing Managers" here

1.    I’ll also note that there are some other ideas that might fairly make cameos as pillars here too, such as “focus on value”.  Although naturally focus on value is important for the organisation holistically, for the sake of this series my platform is more about making a healthy engineering department, and less about the business decisions that drive the right features into the product.  You could argue that “automation” is a pillar too (in fact ITIL® 4 does, as a “principle” in their parlance), but I count automation as a way to achieve continual improvement.

From Developer to CTO Part 3: Managing Managers

Contents
1.1.1. Managers Who Were Engineers
1.2. Don’t Make a Habit of Being the “Idea Person”
1.3. Don’t Ask Them to Have All the Answers in a Pinch
1.4. Ensure They Can Recapitulate Your Vision and Values
1.5. Assess Their Ability to Handle Ambiguity
1.6. Personal Style and Fostering Culture
1.7. Go “Between Decks”
1.8. Coach Managers in Providing Tough Feedback
1.9. Promote Visibility
1.10. Meaningfully Reward Them to Retain Them

1.    Managing Managers

Managing managers is a very different skill to managing coalface staff such as engineers, and it isn’t just about project management, resource management, and delegation.  Your managers need to be able to align with your vision and value set and use that knowledge to guide their decision making in support of the activities of their own staff.  Ultimately, managing managers effectively is about providing them the enablement and environment for them to solve your problems for you, and you not taking too heavy a hand in solving their problems for them.  They are an extension of you.

This section isn’t about which tasks managers need to manage or how they do them; it’s about giving them the best chance to be great leaders by thinking “outside the task”.

1.1.    Understand Your Managers’ Backgrounds

Understanding the career heritage of your managers is important to modulating the way in which you manage and enable them.  I’ve generally seen that development managers fall into one of two broad categories; those with a scrum master and/or project management pedigree but without a development background (your CSM and PMP types), or those that do have a development background and may have anything from no formal education in a scrum or project management discipline to a high degree of the same.

1.1.1.    Managers Who Were Engineers

Managing managers can be a challenge for someone who has come up through the engineering ranks for a couple of reasons.  Firstly, management discipline isn’t generally an experience set that they’ve spent years honing like their technical skills.  Secondly, engineers natively tend toward solutioning because it’s in their DNA, but as a manager this can actually get in the way of establishing successful managerial relationships and proper enablement of your managers and coal-face staff.  They tend to solution rather than manage.  A struggle for these types of individuals is that they can sometimes irritate senior leadership because they do not speak in abstract enough terms to which the business can, and that can make it hard for senior leadership to fully understand the risks they’re working with.

It’s not uncommon for this individual to get to this position by virtue of success as a senior engineer who proved they can make things happen, perhaps by way of effective coordination of the technical activities of a small number of teams, with a modicum of interaction with the product function.  Some may even still be an active contributor to the code base.  Yet the ability of this individual to roadmap, plan, manage upward, and to understand and lead people may be underdeveloped and cause problems.  Nevertheless, for the right individual with the right goals who is introspective and open to coaching, they can be developed into a dual-skilled, potent manager who deeply understands the platform.  There is a huge amount of value in this.

1.1.2.    Managers Who Were Not Engineers

Before saying anything else in this section let me say this – I do not look down on non-technical managers at all.  I’ve worked with some incredibly effective managers from scrum masters to product owners to program managers.  Their success has largely been the result of a conscious focus on understanding of self, managing effective relationships, looking out for their staff, managing upward effectively, and best practice as it relates to project management discipline.  Well supported, this type of individual naturally tends to garner respect of senior leadership more quickly because they natively speak in terms that the business relates to, and the lack of technical discussion means conversations don’t get cloudy.

Naturally, the dynamic and expectations of a non-technical manager need to be different, and they need to be supplemented with appropriately mature senior engineers to get the comfort in their gut that they’re seeing things as they really are, and thus that they can understand risks and make the right recommendations and decisions.  However, this manager will struggle to represent the platform well if they don’t have this relationship, and may find themselves in a position where they cannot explain (or stop) timeline slippage because they don’t have a good internal compass on what’s really going on.

Whatever their background, understand that their technical or management strengths can change where risk lives to some extent, and it ultimately comes down to your own experience to ask the right questions, listen to your gut, and your ability to create the appropriate balance in staffing to stay properly informed and complete the picture. 

1.2.    Don’t Make a Habit of Being the “Idea Person”

I’ll state again that ultimately, managing managers is about enabling them to solve your problems for you, and not you taking too heavy a hand in solving their problems for them.  Of course, it’s important to be creative in your overall approach to vision, leadership, and long-range planning, and at the end of the day you will ideate in ways no one else is qualified to, especially as the most senior technology executive.  However, it should not be standard operating procedure for you to think too far south into problems that your managers should be able to creatively solve.  For the purposes of this section I’m referring to project management, administrative activities, and of course activities designed to improve engineering process and the “ilities”, for example.

At the risk of the following paragraph sounding obvious, in setting the imperative, be very sure to explain what you feel current state is so they know what you think they’re starting with.  Be as specific as possible in describing the destination state.  Follow-up further with what assumptions they can safely work with, and what constraints they must consider in solutioning.  Initially, avoid giving them any leg up with an implementation suggestion and see what they come up with under their own steam; it’s important to learn how creative your managers are.  If they struggle, dribble a rubric of an idea past them and see if it’s enough for them to get it over the line.  This is managing the “who” and the “what”, not the “how”.

If they’re still not getting there, you know what you’re dealing with, and naturally you have to get more directly involved in discussion to come to the answer.  Of course, if you’ve got your own idea then give it to them, but importantly use it as a coaching opportunity and describe why your solution is the one.  Discuss why it works within the assumptions and constraints.  They don’t necessarily have to learn to think like you, but they do have to come to understand how you think.

1.3.    Don’t Ask Them to Have All the Answers in a Pinch

Not everything goes well all the time in a customer-facing world, and expectations can change quickly.  Bugs can arise, systems can suffer outages, customers can come up with difficult requests, and the company may change direction on something when it’s least convenient to you.  In these moments you’ll likely be on the hot seat to answer questions on timelines or how you managed to get yourself into a pickle.

Any reasonable senior leader to whom you report knows that in the hunt for information to drive recommendations and decisions, in a larger organization you may not have the information on hand at the drop of a dime.  The information needed for decision making may be spread around multiple people and the answer may not be knowable until some discussion has been had between you and your team.  The same goes for your managers; don’t put the pressure on them to be able to answer everything at the drop of a dime.  As an executive there’s a lot of pressure you need to absorb in order to keep the environment positive and workable for your managers, so don’t let too much of it roll downhill.

If you’re in a difficult situation and need information fast, give them confidence that fundamentally saying they don’t know is ok, however, they need a construct to get them beyond there.  Help keep them off their back foot by encouraging them to take a different approach to saying they don’t know, by making it clear to them as a matter of routine your expectation is that they’ll find the who, the how, and the when, by leading their team to come up with the best options.  Naturally this is the same way you need to confer with your senior leadership when you’re in the hot seat, too.  Don’t ever get caught saying you don’t know without following that up with a plan for how you’re going to find out.

1.4.    Ensure They Can Recapitulate Your Vision and Values

You can have the best vision statement and value set in the world, but if your managers don’t buy into and live by those, they will be meaningless.  They will have little to no impact on your engineering capability or culture, and your department will be, in effect, rudderless as it relates to the nuances and higher order maturities characteristic of an advanced engineering organization.

It comes to you to be incredibly crisp with your messaging because if it is not clear you cannot blame your managers for those values not coming to life.  If you are effective at this, you should be able to sense in them a passion and personal connection to your vision and values, but if they don’t you need to work out why because that will pervade their decision making and culture.  It could be that you didn’t do a good job articulating them, that they are well meaning but struggling to haul it in, or that they’re just not emotionally engaged enough to care.  Either way it goes, you need to make sure you’ve got the appropriately motivated people in these seats because your success in managing the softer aspects of software engineering depends on it.

Importantly, the rubber has to hit the road as it relates to these.  Yours and their management decisions have to be aligned with them (there will sometimes be justifiable excursions as these are guiding principles, not rules) otherwise your staff will see that they sound nice but really don’t impact the way in which you truly operate.  You must stand by them.  If you’re looking for a place to start, make them read this essay series, and construct your own playbook using the parts of this that feel most relevant to you.

1.5.    Assess Their Ability to Handle Ambiguity

As an executive you won’t always be given totally crisp requirements statements from your senior leadership and sometimes it may even be a sole statement of desired outcome and that’s it.  It will come to you to work out exactly what is needed yourself, and to lead the team in the conception of a solution with maybe very few working assumptions and constraints.  This is a main role of a manager – make abstract thoughts into more concrete thoughts, with ideas becoming successively more concrete the further south into your org chart the process goes.  In order to do this, you need your managers to analyse, ask questions, creatively solution with a set of assumptions and constraints they may themselves have to create, and offer a solution proposal back to senior leadership framed within those.

Simply put, if your managers are not analytical and creative, you’ll find yourself having to come down a level in your job function to do this yourself, and other functions of own job will suffer.  Worse, your managers may become accustomed to not thinking these through themselves or taking initiative, and now you’ve got a harder job to restore balance.  These are attributes that you definitely want to try and get a sense of during the interview process, but it’s an uncomfortable fact that you might not know for sure for several months after a hire how it will really play out.

Best case, even with little baseline knowledge, a truly analytical and curious manager will ask progressively deeper questions and can get understanding of a problem set relatively quickly.  These are the people you want because they can have relatively immediate impact, create their own vision, and take charge.  Some others may only become effective once they’ve been there long enough to have enough baseline information to work with (i.e., they understand things contextually), and this is fair enough as long as it doesn’t take too long; you expect to have to ramp up new managers for a while.

It may ultimately prove clear that you don’t have the right person in their seat.  Some people have a hard time visualizing a problem set, and therefore keeping their thoughts organized in its mire is a challenge.  This is a hard problem to fix.  It’s expensive to replace a person as quickly as a few months, but it gets more expensive the longer you let it go on.  If this makes you feel bad remember also that if they don’t have the vision, their team is likely to end up misled because they don’t understand the imperatives driving the desired outcome.  You’ll need to get involved, and this effectively flattens your organization.  You cannot really afford to compromise for long here.

1.6.    Personal Style and Fostering Culture

I’ll take a manager who has issues with ambiguity any day over a manager that does not understand people and who does not have the requisite emotional intelligence.  If a manager does not know what it feels like to be part of a good team they likely cannot manage one, and the damage they can cause is tremendous.  To be specific if not obvious, if a manager’s personal style includes any of the following traits you have a problem:

  • Egotistical or arrogant
  • Inflexible and pushy
  • Hyper-competitive
  • Too abrupt
  • Doesn’t listen to their team
  • Argumentative
  • Tone deaf to the feel in the room
  • Lack of introspection ability (not self-correcting)
  • Must be right
  • Bad at receiving or giving feedback

Now, it’s one thing for a manger who reports to you to be this way with you because you’re empowered to address the issue, but it’s quite another if they’re the same way with their own reports who won’t feel as empowered to raise concerns about their manager’s style.  Your best intentions for great culture will go unfulfilled if you don’t actively observe and correct their performance in how they deal with their people.  This is one of the main things you want to look out for in going between decks (see below in the section “Go Between Decks”).  I’ve had to fire a manager before because of their team’s complaints about their manager’s personal style, resulting in them coming to me with “please help or else” type conversations.  At the end of the day, the manager proved too resistant to feedback, and keeping culture was more important to me than that manager’s individual contributions, engineering prowess, and my timelines.

On the positive side, you want to actively recognize your manager for exhibiting these following traits:

  • Humility
  • Absence of ego
  • Recognizes and encourages their own team members
  • Is good at giving and receiving feedback
  • Calmness under pressure

Make it clear to them ahead of time that you expect them to exhibit these traits, and when they do, tell them that you appreciate these things about them so they get reinforcement of their positive behaviours, perhaps after observing them in a large team meeting, for example.  If they could do with improvement in any of these, include it in their personal improvement plan, get them to buy into the idea that it’s something they need and want, and don’t forget to reward them when they get there.  A touch of vulnerability in how you learned these traits yourself will help.

I’ll further expand on this theme in a following section “Coach Managers in Providing Feedback”.

1.7.    Go “Between Decks”

Inevitably, the culture you want to build and the messaging you want to promulgate don’t always make their way to the leaves of the org chart undiluted.  Your managers’ personalities are always going to modulate the feel of the department and they’re going to put their own spin on what they perceive.  This is normal to an extent but if you have middle managers who aren’t completely in tune with you and the tone you’re trying to set, this will cause problems because if the engineers don’t sense the colour of your personal influence, they may not feel connected to mission and the way you want things to feel, no matter how much you believe you’re saying the right thing.

During my time in the Royal Australian Navy, I became accustomed to a tradition called “going ‘tween decks”.  This is a practice whereby the Commanding Officer – without previous announcement – leaves their usual confines of the Bridge, Captain’s Cabin, or the Combat Information Centre and proceeds to wander the ship talking to crew members from all departments and at all ranks, and in particular, those in lower ranking roles.  This is done because the Captain assumes that the abovementioned inevitability will manifest itself in some form, and by assuming he’s either not getting the whole unbiased story from his junior officers or that they are just not clued into what is happening on deck, he creates the opportunity to get a feel for the truth directly.

Even in the Navy, this is something that needs to be done with sensitivity, because department heads, junior officers, and senior sailors quickly become nervous if they feel like they may not be “buttoned up” in all respects.  Additionally, the crew worry about reprisals from their immediate leadership and unless they have a real sense of loyalty and respect for the Captain, they might not give it to them straight-up.  Captains need to be creative in how they get their information and subsequently handle changes and feedback based on their conclusions so as to protect the source.

Now of course being so brazen as to try this in the civilian world would establish a fear-driven culture and be completely counter to the goal you’re trying to achieve, which is simply – find out what’s really happening on the ground, and how are process and personalities influencing (or influenced by) those.

In your own department, establish “non-formalised” ways to keep your ear to the ground on a routine basis.  Without undercutting your managers, find ways to keep yourself in conversation with people at all levels in your department with sufficient regularity that it becomes considered par for the course and doesn’t raise any alarms that might taint the information you’re getting.  Never give direction to subordinates that aren’t your direct reports; use this simply as an information gathering exercise.  If this information reveals weakness in process or personnel then it can be brought up as feedback and action taken through the regular “command chain”.

If this seems sneaky, understand that human nature almost guarantees issues at some level, and unless you have absolute trust in all levels of your management, it comes to you to take steps to ensure the culture you want is really playing out.  Either way, establishing culture is your job, and this cannot be a passive process.

1.8.    Coach Managers in Providing Tough Feedback

Earlier in my career, giving feedback with the goal of improving a manager’s performance was easily the most terrifying thing I had to do, short of outright separating someone from the organisation.  Between my concerns about how the team member would take the feedback, and whether I would be able to deliver the feedback in a sensitive yet effective way, I always approached feedback sessions with trepidation.  There was an underlying fear in me that by the time the conversation was complete, the experience could have proven contentious, and the working relationship tarnished.  Stated another way – I had a fear I wasn’t going to manage this in a skilled way, and they wouldn’t like me by the end of it.  I had to develop a go-to technique, and I had to find my voice.  After some experience, for me it came down to three considerations.

Before you get yourself into a position in which you must give tough feedback, early on in your relationships with your staff you need to establish frequent positive feedback to set yourself up for success.  When a manager does something positive, provide feedback that you like what you saw, and do it often.  This sets the tone that they’re appreciated and that you’re observant of their performance.  This will make it easier for them to receive tough feedback because they know you’re recognizing what they do well.  I believe this to be an overall more effective strategy than using the “bathtub” technique of good feedback, tough feedback, and good feedback again.  To me that’s just a mind game to make the experience easier on both of you and it doesn’t come across as genuine, because they know you’re only giving them positive feedback to soften the blow.

The next consideration is proper timing.  Feedback must be given as soon as possible once a situation has become apparent, or an event has taken place.  This is important because the scenario has to be clear in both your mind and theirs.  Given too late, it can come as more of a surprise and just increase the chances that it will get them on the back foot.  Differences in recall can turn the experience argumentative.  Given straight away, the reality of the situation should not really be under debate, and it can be kept “real” and un-obfuscated.

It seems obvious to say, but the last aspect was to understand the person and tailor my approach to them, rather than having a single style that was all about me.  My super-confident “operator” types have generally been easy because I could do a “drive-by” of sorts; set up a 2-minute call, quickly state the observation, don’t hang around on the call long enough to belabour it, ask them to think about it and tell them to come back to me with their ideas, and then leave.  They’ve generally not been the kind to take it to heart and required little handholding but saw it for what it was and then worked with me to change it.

It's not as easy with the types who take things more personally.  It’s easy to say be respectful and empathetic, but that doesn’t do much to help you hit the mark when you’re putting someone on the spot.  People often experience an underlying sense of injustice because they don’t feel their hard work is understood or appreciated (false narrative or otherwise) and this can drive some uncomfortable outcomes.  The technique I have used in this case is to ask questions to get a sense of how they’re doing from a more personal perspective to set a genuine, caring tone, such as: “do you feel you’re working reasonable hours?”, “is your manager supporting you well?”, and “are you getting the help you want towards your goals?”.  Follow up with a statement to the effect that you’re here for them so they should feel free to reach out if they feel they’re not getting what they need to succeed.  Establish a tone of “you belong here and you matter to me”.

Having done so, establish a conversation; specifically, ask them to talk about how they feel they’re doing as it relates to the area that you want to discuss.  Don’t be too direct and just come at them with your feedback.  As they answer with how they think they’re doing or thinking (or did or thought) drive the conversation toward asking if there is anything they see potential to improve about it.  Drive the conversation but let them do the talking – they’ll feel less threatened, and may even come up with the answer by themselves.  To the extent possible, take a non-imperative approach with “I’ve seen great results in the past when…”, or “you might get better results if you…”, versus the more direct, imperative, and awkward “I need to you…”.  This may all seem like trite advice but it can be a difference maker to how they remember the experience and how they feel about you and their job when they get back to their desk.

Critically, make sure your managers handle their reports the same way.  This is one area in which you can sour an employee instantly no matter what culture you’re trying to create.  It is important that you get a sense of the styles of each of your managers as it relates to this skill because the costs of being insensitive to their team are too high.  This isn’t easy but this is an area in which you’ll thank yourself later for coaching them.

At the end of the day be comfortable in the knowledge that what you’re doing is the right thing and it will contribute to a better outcome for everyone, and don’t concern yourself as to whether they’re going to like you after the fact or not.  If despite best efforts the relationship sours and they prove unreceptive to feedback you need to consider whether they’re a cultural fit.  The chances are that if they’re unreceptive to feedback they might have a stubbornness that makes them problematic in collaboration which can drive friction in a team, and you might be better off without them anyway.

1.9.    Promote Visibility

Trust is easy to lose if a manager conceals issues, whether it’s due to a deliberate aim of misleading leadership that things are better than they really are, or just not being experienced enough to realize the damage it can cause and risk it creates.  Encourage your managers to be transparent with you and acknowledge a manager for coming to you with something that is going wrong, and don’t be punitive.  The same goes for you with your own bosses, too.  It helps your bosses understand and manage risk, and if they can they’ll give you extra support where they see you need it or ask for it.

1.10.    Meaningfully Reward Them to Retain Them

You’ve spent all lot of effort crafting a match fit manager, so don’t let them go unrewarded when they’re working hard or being very successful; a good manager is not a commodity individual, and replacing one is expensive, difficult, and time consuming, and you’ll personally bear the extra burden if they leave.  Drop them a grand or two every now and then to let them know they’re appreciated or meet a delivery milestone or coaching goal.  This is especially meaningful when the demands on them are higher than normal for too long.  Placement fees at 20% add up to a lot of money for a $150,000 individual, so don’t be stingy for the sake of a few grand every now and then.  Budget for this so you don’t have to go back to the well.

Give thought to not telecasting that a bonus is a possibility attached to a goal.  This is not a hard and fast rule of course, but the impact a surprise bonus can give is much greater and helps you avoid some potential issues.  It is highly likely that they will be disappointed for missing out on a bonus for not meeting a goal, and worse, a situation could develop in which they insist they met a goal but by your own estimation they did not.  This will almost certainly drive resentment.

1.11.    Create Focus with a “Theme of the Week”

The goals of a roadmap or longer-term plan can get lost in the daily battles of management and it can be helpful to give your managers a mental construct to keep them focused on a shorter-term timebox.  This is especially important if there is a lot of parallel work going on and context switching is happening constantly.  More than anything, the theme of the week gives them permission to not think about other activities.  This is freeing.

Generally, if a manager and their team are doing something not aligned with the theme it needs to be a conversation because it may indicate a lack of focus in execution or lack of clarity in vision or the theme itself.  This is a great topic during your regular meet-ups, an aim of which should be to verify the goals of the theme are being met.

The theme of the week concept also forces you as an executive to focus on what is truly important.  If you cannot clearly specify a theme of the week that is achievable, you need to recalibrate your priorities.

Next Up

Generally there are more engineers than managers in a technology organisation, and the diversity in their skills and personalities can run the gamut.  It is important to equip your managers with the skills and awareness to manage their engineers and this starts and ends with understanding them, so I'll continue my discussion there.

You can view my next post titled "Understanding and Assessing Engineers" here.