A technical glass ceiling isn't a term I've heard coined a lot in my usual conversations with people, and a lot of my conversations are with technical people. Typically, we'll talk about new technologies, the local IT industry or any number of things but we rarely sit down to truly listen to each other and explore the apprehensions many of us face as "senior consultants", "senior developers" or any number of other variations on the "upper technical" theme.
I was at a conference last week (Codemania - you should absolutely book a ticket next year) and a conversation topic was raised where the question was put to the room, "I'm a senior developer. What should I do next: management or architect?". There were a LOT of people interested in discussing this and a good many people in the room who were also facing the same existential crisis. For many, the career choices facing them were those same "traditional two": playing politics and dealing with people management at the expense of any coding or a life spent in Excel workbooks, Visio diagrams and whiteboards. After all, when your career is built on your technical and analytical problem-solving skills, it's hard to envisage any other options and some companies (particularly those that have been around a while) may implicitly or explicitly set the expectation that only two possible career paths are available.
That's the essence of the technical glass ceiling: a barrier for technical / knowledge workers where they've peaked in their current skill set but are unable or uncomfortable with the apparent career path steps beyond.
When the question at the conference was put, my first reaction (after agreeing that I've faced this problem a few times too) was to challenge the question. "What do you 'know' that actually isn't so?". In other words, what assumptions or biases are you holding on to that may be constraining your options? How is our choice of language in the question affecting our available answers? When I asked people to instead consider the question, "What is it that I need in order to feel fulfilled in a job?", suddenly it completely shifts people's perspective on the problem. Now, instead of looking for extrinsic fulfilment the individual's attention is directed to intrinsic: from "what do I want my next job to provide" to "what skill or experience do I want to develop further and how can that need best be met".
It may well be that in both cases the answer is a new job, but there is a huge and important difference here in that with an extrinsic viewpoint, the inherent expectation is that "the grass will be greener when I take that job at this new company". While the change in circumstances may be refreshing early on, the very real risk is that you start finding the same lack of reward or achievement in your new surroundings.
Growth vs Deficiency Motivation
My personal experience has been that any job can be viewed as an energy resource: your enthusiasm for coming to work each day is influenced by the technical problems you solve, the social interactions with whom you share an office, the culture of the organisation (this is a separate blog post in its own right) and your personal skills and experience / knowledge growth you gain from your work. All these things should add to the total energy pool you derive from your job. Your motivation is growth-oriented, i.e. "what skills and experience can I build through my contributions and work?".
Conversely, technical people very often don't want to give up coding because that was the most rewarding aspect of their day-to-day activities. But in order to "progress" in the company, the only apparent career path is often believed to be management or technical specialist / architect. These prospects typically won't be considered attractive because a) they require a heavily-reduced focus on coding, and b) they demand performance in skills most technical specialists don't feel positive about investing in.
It's this sort of situation where people feel listless or stagnant and begin looking outside for another company that might tick the right boxes. This is deficiency-oriented motivation, i.e. "my current job isn't offering the opportunities and skills I want to concentrate on".
There are a number of factors that contribute to perception of career growth and opportunities in any sector. In the technology sector, those factors include:
- Your role
- The company business model
- The team structure
When looking at how the technical glass ceiling affects job motivation and career perceptions, the traditional model for most technology businesses is to divide consultants or developments into stratified tiers: "junior", "intermediate" and "senior". How your role as part of a wider team structure fits into the company's business model directly affects your understanding of career (and by association, your personal growth) opportunities.
Randall Koutnik takes the view (which I strongly agree with) that these role definitions are largely meaningless and unhelpful. Rather, he prefers the concept of "implementer", "solver" and "finder". Each role deals with more complex arrays of tasks. An Implementer is someone to whom you can give a task with a set of instructions and leave them to execute that task. They may need guidance and mentoring around the code base and may not have a full appreciation of the broader client / product business environment.
The Solver can look at a problem and weigh up different options with a better contextual view and assess the optimal way in which to address that problem. The solver is someone who has experience to draw from in assessing challenges and can be relied on to bring that experience to bear.
Finally, the Finder is someone who has a wealth of experience and can see a much broader system view of a given solution. They are able to work more independently and can be relied on to identify and guide technical decisions for a client or solution. People performing this role will often lean towards mentoring tasks as well.
I really recommend reading Randall's 2016 blog post on the subject in detail.
Sit down... and the solution presents itself
The difficulty with looking at a technical glass ceiling and seeing only the choices of management or solution specialist is that it's a false dichotomy: the choices are really more about how you want to flavour your skills and areas of focus; not being forced to "pick a path". The traditional perception is a pyramid structure where fewer and fewer people "level up".
In reality, the challenge is to understand your own situation and what it is that motivates you. There is a huge range of personal skills to learn and refine. The task is to decide which ones to concentrate on and in which quantities.
Moving from a technical role to a managerial role is really hard. More so because most organisations do not equip people making this transition with the training to become better at it. Your technical skills and willingness to make decisions for a team do not map directly to people skills, conflict and leadership awareness and navigating a more political landscape. One of the best things you can do both in terms of your career and to expose more potential career path options that resonate with you is to become a force multiplier for your team. The term I first heard coined by Jessica Kerr for this is "generativity": the observed increase in productivity of a whole team as a direct result of the individual's participation on it. As a rule, people don't just want to be productive; they want to be generative: contributing broadly to their peers' ability to understand and work collaboratively on a problem so that everyone's capability, engagement, and by extension, their productivity is improved.
Gerald Weinberg has some excellent team skills improvement observations and suggestions in his book "Becoming a Technical Leader". In it, he discusses the need for a "personal plan for change": essentially recognising the countless opportunities we are presented with for learning but without a plan, we tend to miss most of them. Without knowing what it is that you enjoy and want to explore further, it's considerably harder to make informed choices that will move you closer to achieving those goals.
As technical people reach a high proficiency level in their discipline technically, it's very common to feel that things have plateaued and they're unable to progress in a direction that has personal appeal and solid, reliable longevity. This isn't really a glass ceiling when you step back and look at your situation from the outside in; it's a personal skills problem where you've mastered one set over a period of some years and you're now faced with the unfamiliar challenge of adopting new skill sets.
Start with a small one and work on that for a short period each day. Pick a slightly larger one and work on that over a period of weeks. Things that you've considered trying but have for one reason or another not made the time to explore are good candidates. People-centric skills are an ever-present factor in any software or technical role, but are also the sort of thing that many (often introverted) technical people shy away from. These are good personal challenges that extend your horizons and push your comfort zone a little. And hopefully after testing the water on a few fronts, you find some experiences that capture your interest enough that you find you're chasing a new goal and a clearer picture of where you want to be.
Hope this helps! Carry on the discussion with me on Twitter.