Reading management books as an individual contributor

Are management books just for managers? If you love your creator role and the intricates of the daily life as a programmer, does it make sense to read any of these organisation focused or management books? Would there be something for you to discover inside that will imrove your experience as an individual contributor? I say a firm YES!

It is not always obvious why this out be of our interest, so I would like to give you a few reasons why reading management books would make your life at work better and even a better programmer.

You are part of an organisation

Organisations are complex, living systems, with a high-degree of interdependence between subsystems like your department and even team. The rituals you take part of every day, the way the work is planned and the backlog organised, the release cycles and even what’s for lunch is a reflection of all the many parts of this whole system.

Let’s repeat the famous Conway’s law, that talks about how the software we make will mirror the organisation that created it:

organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.

As a great fan of systems theory, there is a quote from the “Organisations as Sytems” from w3computing:

…Using a systems overlay to understand organizations allows us to acknowledge the idea of systems composed of subsystems; their interrelatedness and their interdependence; the existence of boundaries that allow or prevent interaction between various departments and elements of other subsystems and environments; and the existence of internal environments characterized by degrees of openness and closedness, which might differ across departments, units, or even systems projects… When any element of a system is changed or eliminated, the rest of the system’s elements and subsystems are also significantly affected.

Reading books on organisational development, or books that your manager, or the manager of your manager, or the manager of the manager of your manager is learning from, will enable you to better understand the system you are participating in, and will enable you to make more empowered decisions. When anything in an organisation changes, it will have it’s trickle down effect to you. We all have felt the tasking effect of non-transparent change, the stress of rapid growth, or the depressing dullness of the not well organised every-day. It is not that you will get the instant super-power to change all of this, or that you will gain instant clarity(every organisation has it’s own peculiarities), but you will feel less isolated and helpless for sure.

One other thing speaking in the favour of understanding the system that you are part of, is understanding the roles in those systems. A typical modern software comapany(if we zoom into the product department) will have several levels of developers, a tech lead, maybe an engineering manager, a product owner, several levels of designers and then many other parts like HR, accounting, marketing, sales etc. The most common trend at the moment is feature teams, where cross-functional work is done. In each of these teams, people take various responsabilities and a few of them will be directly responsible for enabling you conditions for sucess. In a healthy orgnisation that invests and cares about it’s people this should be obivious, but my life experience in the last 10 years has shown me that those places are a real rarity. What are the realistic expectations concering guidance, support, career development, training/mentoring, work conditions, ambitions, general wellbeing that you can have from an organisation(and specifically yours)? If you feel the lack of any of these, is it you, or the problem is systemic? In theory, whose responsibility would it be to help you out with each of these? Reading and understanding the various variations of these systems and management trends would give you ideas about what is possible and give you tools and vocabulary when advocating for your needs. It could come handy in moments when the team or individual team members feel overwhelmed by tasks that are not their job really, or there are obvious gaps of floating unresolved responsability that are making many people miserable. It could also just give you the ideas who to ask about improving the already great conditions. I hope it is the last one :).

A book example

I recently read “The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change” by Camille Fournier. Fournier gives a great overview of the classical path to engineering management with lots of tips about any stage, from senior engineer to executive.
She starts of the book with “Mangement 101”, explaining the relationship that you have with your manager as an individual contributor and what kind of expectations you can have in general about topics like career development or “feedback and workplace guidance”. In the next chapters she opens topics like mentoring, managing projects, managing people etc. She mentiones several times that you don’t need to read the whole book if it doesn’t apply to you(like the very senior levels like CTO or VP), but I think that reading about everyone’s job gives you an understanding how an engineering organisation works, and gives you empathy that you never had before about the work of managers, or managers of manager or CTOs etc. As you read through you can understand the raising complexity in other areas and the detachment from the everyday of the programmer - that could maybe serve as a great point the next time you are really interested in pushing for an organisation wide change. People on the different levels are immersed with different problems. Although everyone is working towards realising the company’s business goals, they do that in different ways, thus caring about different aspects of the business. It could also just help you understand your own responsabilities well and what means to be sucessful at your job - we are too often left wondering about this as employees of any kind.

You are part of a group

Zooming in from the complex system that is an organisation, we find ourselves in our team. Software engineering is a team sport. We spend most of our time at work with our teammates, weather we’re drinking coffee or we are pair programming. To be a sucessful team member is to find a way to fit well in the group dynamics. The dynamics of the group is affected by the different people composing it, by the processes and rituals that the group uses, by the way it fits in the larger department and organisation, by the industry trends that decide on desk setup to communication software. It is quite daunthing to think about all the things that shape our every day life, the place we spent the most of our time and the relationships with the people we see often the most that are out of our control.

A lot of the time, management books(good ones!) speak about improving the well-being in a team. They lay out tools for the managers to lead better convesations with their colleagues, ways to give feedback and to problem-solve. As I am sometimes angry that they don’t teach us how to learn before we start to learn at school, I am also sometimes angry that at our CS universities instead of teaching us that one more technical course on whatever we’ll forget by the time we are out, don’t teach us about communication in a team. Having tools up your sleeve to pull out when you need to do any uncomfortable conversation, when you need to deliver feedback(critical or a praise), when you are struggling to understand why a colleague is so upset with something that doesn’t seem like an issue to you, when you are working on a hard problem with a group and you would like to get the best joint solution possible - isn’t that super valuable? Some people get lucky and learn these skills in their childhood, or pick them up along the way to adulthood. Some workplaces have the resources(and determination) to teach these skills. Most often, we are left on our own with learning about this. Imagine the change that one person can bring into a team if they model excellent communication.

A book example

“Resilient Management” by Lara Hogan. My highlight of this amazing book was learning about the “six core needs”. It made me instantly understand why there were times when I felt absolutely miserable at work and going the the office every day felt like a battlefield, but also made me understand why some other places felt safe and welcoming and productive.

The six core needs are(you can read more about them here):

  • Belonging - “sense of belonging, a connection to a community or to a group of people.”

  • Improvement/Progress - “sense of making progress—whether for your organization, for your team, or for your personal life.”

  • Choice - “the power to make decisions about your own life and work.”

  • Equality/Fairness - “boils down to the idea that your environment includes equal access to resources, informa- tion, and support for everyone in it.”

  • Predictability - “When our sense of certainty is threatened, we may have a really hard time focusing on our job duties or goals.”

  • Significance - “understanding where we are in a hierarchy, especially in relation to others.”

Lara goes out to explain that our core needs must be met for us to feel safe and secure. In her own words, the core needs thought her why people react in such a suprising way to a situation that others don’t percieve as threatening. If you are distinctly different in any way than the rest of the team, I am sure you know this all so well and it can feel quite lonely. This is a great tool to both understand others, and understand yourself. If you can verbalise that intense feeling in a way that you can share with others, you already have a great way to advocate for your needs and be heard.

There are many more lovely things about group dynamics in this book, as well as very pratical help on how to ask questions and give feedback. Wholeheartedly recommended!

Continuous self-improvement

Programming, reading technical material and trying out new techniques/languages/tools/systems is very important in our industry that is always rapidly changing. The CS field has already grown so much that it is impossible to know everything and you can spend every waking day of your life learning about all the things that are out there. Even if you manage to soak all of that up, there are times where the things you have learned conquering the technical details of something will not be sufficient to get you where you want to go. Let’s look at some of those examples.

  • You have spent a long time researching, practicing and benchmarking a new language/tool/library and you would like to integrate it in into the everyday work of the company. You enjoy working with it so much and it is really important to you. Where do you start?

  • You have been trying to find the right architecture for the part of the system you are responsible for. You have been trying out several solutions, all seem to either not be a good fit, not work at all, or if they work, they are not giving the best results. How do you take it from here?

  • You have been working for several years trying to advance in a particular topic/become an expert on something/get particular success that is improtant to you. You seem to hit a ceiling and it has been exhausting you. What can you do?

Management books are full with advice on how to propagate and manage change, advice about many different ways to make decisions and how to find the right questions and people to ask them too. After gaining understanding of the organisation as a system, the roles that various people have on each level and their responsabilites, and sucessful ways to pursue communication, you might be on a great path to solve all of your problems like the ones above.

A book example

Switch: How to change things when thing is hard by Chip and Dan Heath. The book talks a lot about change management. How do you do large scale changes, how do you achieve change in “impossible” circuimstances, how to better understand problems and come up with the right solutions.

One thing that can be connected to all of the situations that I mentioned above and I learned from this book is “looking for the bright spots”. What it means is that, when you are faced with a problem that is hard to solve, go and look at the places where things are already working and see why this is happening. They give multiple examples on different topics in the book: from solving malnutrition in Vietnam’s villages, to having a problem-child sit calm in maths class(there is an article about it here). Let’s examine what looking for the bright spots would mean in our examples.

  1. Some organisations are really hard to change. There have been decades of layered processes and “ways that we do things”, executives and managers really “set in their ways”. You would really like to use this new tool at work, but everyone is telling you to just drop it and don’t bother. Let’s apply the bright spots thinking. When was the last big change that happened in an organisation? Who lead the change? Could you find out by speaking to them? What worked for them and why? Is it the carefully crafted messages to each different layer in the organisation, speaking directly to what they are optimizing for? Or maybe it just needs the right demo at the right meeting? Each orgnisation is special in the way that things get done and instead of pushing through a wall, you could have a chat and see what worked before.

  2. After trying several examples, you can’t seem to crack it. What is the last time an architecture worked great and seemed to fit great with what you already have in the company and what the users need? Could you sit down and look into how this change was initiated, discussed and eventually implemented? Who were the different stakeholders involved? Is there any crucial knowledge you are missing that will guide you towards a better solution? Maybe you are lucky and there is documentation out there.

  3. You know this feeling when you are solving a maths equation or a doing a physics proof, and there is no way you can push through and it just makes you give up? Then you take it to your peer that has solved it, or the teacher and they give you this other perspective or key information that you have been missing and it all comes into place? That is often repeated in cases when we are trying to break through in different areas. Who in your company/network/field is where you would like to be by learning or getting these skills? Who seems to do it efortlessly? Could you send a friendly email or read something they wrote or approach them at a conference with your ready questions? Instead of silently pushing through, looking for the bright spot and asking for help could get you really far in this case.


There are many other reasons to read management books as an individual contributor, but I hope that these are enough for you to get some incentive. I am a book work and I thoroughly enjoy soaking up other people’s smarts, so ping me with all of your recommendations! I have to say that all the gentle parenting books I am reading are helping tons as well with learning how to be a better communicator, but that’s another topic. Happy reading!

Previous
Previous

My mum is a programmer

Next
Next

Junior skills, senior tasks