Thoughts on Leadership & Culture

Its 2024! and we need to look at the way we manage tech teams and tech leadership. We need to start conversations on how to foster productivity in era of ever powerful tools at our disposal. The way we work and the way we think about the work continues to change because of advancement in technologies, especially Generative AI. AI has made it very easy to generate content like code snippets, articles, stories, images, graphic artworks, music, videos, etc. and learning skills like Prompt Engineering has enabled several users to create contextually relevant outputs from AI.  To create teams which thrive in the era of ever evolving technologies, we will have to start discussing how  leadership can foster a culture of continuous learning, accountability, and fulfilment (happiness).

This post is not just to improve culture and productivity, but also serve a sense of higher purpose and create teams which are ready for the next generation of technology.

First things first, who am I and why me?
After having to have worked over 13 years of my life as a software engineer,  I wanted to share some insights I have gained on leadership and culture. This would be a cumulation of my collective knowledge right from working as a junior developer all the way to lead level. I have worked as a contractor, a freelancer, a full-time employee and a consultant. I have worked with various set-ups like MNCs, Start-ups, remote first companies, companies with swanky offices, etc.  There are times when some of the conversations from meet-ups and conferences have also brought in some perspectives, which will be also shared in this post. The ideas shared in the post have been inspired from countless experiences that I have had in last few years and most of them come from my own experiences as opposed to a book or a course.

I also learnt a lot about leadership by being under several leads who have driven productivity through mentorship, collaboration, and positive culture. According to me real success isn't just about hitting milestones; it's about cultivating a fulfilling life that extends beyond the office walls.

Terminology: This post was written to cater a large variety of leadership, viz., managers, leads, senior developers, directors or even founders. I have fixed the terminology as a "leader" and for employees working under a leader, an "associate". The terminology has been made to ensure an ease of sharing thoughts and does not intend to create confusion due to keywords. While the role and responsibility for each leadership will be different, one can cherry pick ideas which relate very closely to them.


Leadership

There might be various ways to lead a team, but to bring in the clarity in terms of audience I am targeting; I wanted to share two extremely and poles-apart ways to lead a team - become their boss, become a mentor.

Being a Boss

Using an old traditional way of creating an authority based on the designation, this type of leadership worked best during the Industrial era. This still works well for  some jobs where the expectation is based on an fixed amount of output (quantity) and less on innovation and creativity. The work is  process driven and does not require employee(s) to use their skills creatively, especially thinking beyond their normal course of work.  The work is more focussed on "do what I say" and less on "try to solve a problem/create something your way". The output is not creativity/innovation and it is measured in terms of quantity of something being delivered.

In this environment often the employees are often frightened and do not question "why" certain things or processes are being followed because they want to come in good books of their respective leads. In some cases, to curb the efficiency, the leadership has to micromanage their employees because there is always a commitment to deliver an "x" amount of work in "y" number of day(s).  

Often times, such leadership ensures that there are no mistakes and creates no plan for contingencies.  The context of having a strict management comes from the way such set ups would work. For instance: A single mistake or any delay (or contingencies) would have big loss for the company because of the way they have signed contract(s) with their clients. This leads to things like management being an authoritarian figure and making sure that there is a respect for deadlines and process.

Often times, when there is too much focus on the quantity of something being delivered, the quality of something being delivered may get compromised.

How do you think impacts the associates mental health and physical health?
Since there is a huge cost to making even a small mistake, it does impact so employee's mental and physical well being. They might have various problems like high cortisol levels, imposter syndrome, etc. "Imposter Syndrome " is a mental health condition in which a person persistantly doubts thier accomplishments (despite having external evidence of proving otherwise) and feels that they are being a fraud. This may impact at a company level if many individuals start doubting thier accomplishments and do not deliver thier best work. There might also be a supriority complex (amongst managers/leads) which might lead to office politics. There might also be a pattern that in order to make things done, they will have to raise their voice or tone.

💡
"If you can't say something nice, don't say nothing at all."
Thumper (Bambi)

This type of leadership worked wonders (and still works wonders) in organisations where there was little to no room for innovation, and ensured that people worked efficiently. But, for tech, especially in 2024, this would be a complete disaster. We cannot have managers act like school principal and teachers, but rather a mentor who has extensive knowledge in a subject and willing to create a positive atmosphere for everyone around.

Being a Mentor

Using modern approach in which Leadership focusses on mentoring employees and giving them directions and going beyond thier normal scope of getting things done. They understand that all they need to have to create successful teams which is self-motivated and driven with a purpose. If employees are given thie purpose and respect, they can do wonders.

While nothing is good or bad, but its just the way we want to define and create organisations entrepreneurs want to build. While Being a leader and leading the team could often be the best solution for IT (Information Technology) firms, it might not be the best solution for other industry. Some of the points mentioned below are very specific to building teams which have mutual respect, professionalism, empathy and at core. These are some of my own values and I want to give ideas on how we can use these traits to efficiently lead a team.


Become a SME (Subject Matter Expert)

💡
"The best leaders are those who have proven themselves to be great individual contributors before moving into a management role. " - Steve Jobs

The leaders who have grown as individual contributors understand the requirement beyond Jira and are very efficient in gathering requirements. This is because they have some knowledge in terms of "how" something can be achieved technically and can come up with asking questions and seeking clarity beyond what is normally provided. They also keep themselves sharp, because lets face it: technology = ever evolving = ever learning.

Having a tech expertease can mean having clarity in terms of birds-eye view and in some cases a worm's eye view.

  1. Building up on existing Knowledge
    How to quickly learn a new technology, not from scratch but building knowledge in terms of how they already know. For instance, learning Vue JS if we already know React JS and so on
  2. Ability to Evaluate and compare technologies
    Ability to take decision on "why" some technology has to be used. Give critial analysis. For instance using Next JS vs Remix, looking at thir specifications and path to learning, license, etc.
  3. Get a detailed view of the "problem"
    What is the problem we are trying to solve. What are our priorities. How we are solving the problem (in detail, with technicalities).

While there have been great leaders who have been through top Management Schools, they tend to have issues with handling failures, understanding technicalities and specifications; and sometimes lack technical expertease. For such managers, I would highly advise to get at least a higher level view of technical details happening in the codebase and create a mindset of learning and growing technically, not just with soft-skills.  Having a functional knowledge is essential, having technical expertise could work wonders in managing teams.

Its not essential for a manager to know how to write a code for creating a fetch request, but essential for a manager to know "why" and "how" we are making that fetch request (and possible privacy and security measures to be taken).

As managers/leads we need to be aware of technologies our team is using. Its not essential for a lead to know the entirity of We cannot expect continuous learning from our associates if we as managers are not walking the path.

Contingencies Strategies

Lest be honest, there's always a possibility that something might break our code and/or a associate might make a mistake. Also, there's always a possibility that we might have tested the 99 scenarios and probably that 1 problem that we did not test creates a problem. While the intention would always be to wirte 100% bug-free code, there is always a possibility of something being missed out.

What is our strategy in such case? What would be our contingency strategy to resolve such instances? Can we rely solely on the associates?

Building applications using Test Driven Development and creating a culture of writing test cases right from where the development starts could be one good way to think beyond the Jira description and create strategies for contingencis. This is an excellent way of becoming a leader who inspires the team.

Hence, in such cases; it becomes more important to become a subject matter expert and a problem solver. Leadership should always be about solving problems and helping associates. Most associates, in their correct frame of mind would never make a mistake intentionally and they should never be at a receiving end of any judgement or shame (even in the slightest possible manner).

I want you to think over as a leader and ask these difficult questions.

  • Are associates afraid to make a mistake? What is your response to them making a mistake? Do they know that they have your (or any other team member's) back in terms of anything going wrong?
  • What is the price they will have to pay for that mistake. Will they feel a sense of shame or judgements?
  • Do you have a structure in place so that repeated occurrences of same mistakes do not happen? that is we learn from our mistakes, collectively as a team?

Having difficult discussions

Having difficult conversations can be a great leadership skill to be learnt, while I have tried to just brisk this topic, but I found it essential

As managers we can only delay the inevitable, but there will always be situations where we will have to discuss a difficult and unpleasant conversation. In such case here are some of my pointers how we can achieve doing so

  1. Some Ground Rules
    - Not using Guilt Tripping
    - Not using any statments which could make someone feel defensive
    - Being Respectful and professional
    - Understanding Core of problem and some possible solutions
    - No spoon-feeding ideas and making sure the conversation makes associate feel  introspective and creates a sense of curiocity (to solve the problem).
    - Give directions: Don't give man a fish, teach them how to catch one.
    - No Sarcasm or any funny statement, it can backfire
  2. Choice of Words
    Often times it is not "what" but "how" we discuss can impact our message. The tone of communication often relies heavily on choice of words in a remote setup because it completely removes body language and the tone of our voice. Often as managers our intentions can be mis-interpreted if we use an incorrect choice of words. Being mindful of using words that communicate assertively our thoughts can make a person feel safe and welcomed.
  3. Create points of discussion
    Make sure that you are aware of how a associate might respond to feedback. Feedback in terms of points of improvement can work in either motivaing an employee or provoking them. Provoke is a right word here because we do not want the associates to feel threteaned or not valued. As suggested in point 3, the discussion should empower them to become "problem solver" for the problem being discussed.
  4. What/how to discuss in Meeting
    Start with employee's strengths and how they have delivered thier best work in past, communicate the problems and ask them how they can help in solving them. Do not make any statements that would make them defensive. Rather focus clearly on expectations and goals we have set for them.  
  5. Actively listen
    The focus of the meeting should also be understanding the associate's point of view. Ask open-ended questions, paraphrase to clarify, seek clarifications incase if there are differences between your understanding vs their understanding of problem. Interrupting a conversation could be a bad idea.
  6. Minutes of meeting
    Ask the associate to create a minutes of meeting documenting all the points discussed. This creates a level of ownership and responsibility from a perspective of an associate. The action points become more and more clear from associate's perspective.
  7. Monitoring performance
    Go beyond the performance review and make them understand how their contributions can help achieving an organisation level goal. [to be written]
  8. Giving Feedback
    Writing how a feedback has been taken constructively works wonders in motivating employees. [to be written]
  9. Points of learning Create a detailed document on how they achieved something, This could inspire other employees to become more responsible and motivated.
  10. Recognise efforts and Gratification
    You wouldnt imagine how writing an email and documenting how an employee has done a good job at doing something works wonders in motivating an employee. All employees want to be in a place where thier efforts are valued and recognised.

Having Open Discussions on AI vs Productivity

Having to use AI for work means we would be sharing some data. Now, there are ways to hide sensitive data by creating a clear company-level policy in terms of how we can use AI without compromising sensitive data. Failure to priortise privacy can also lead to legal liabilities and erode customer trust. Although the intent of using AI might be to create a positive impact, knowing how AI works and how we can limit the data we send to AI should be well documented.

AI can also have bias embedded in algorithms. For instance, we cannot absolutely rely on AI to provide data when we have to make some opinionated decisions. Often times the data provided to AI might be old or obsolete.


Nice Guy Syndrome

It's often I hear from a lot of managers that associate might take advantage of a manager's good nature. This is a problem not just for empaths and people-pleasers, but also for general management as well. We as managers need to create healthy professional boundaries when we think someone is being manipulative or going against an ethical code of conduct. Getting a reality check and maintaining professionalism becomes more important in such situations.

Maintaining clear, polite conversations on expectations and repercussions would assert an associate to not take organisation and/or the team for granted


Culture

I remember watching the podcast of The Ranveer Show, there was an episode where Deepinder Goyal, The Zomato Founder stated "Culture is about how people behave. How they response to stimuli? What is their response to pressure? How do they think of growth and quality of work? and so on".  It got me thinking introspectively in terms of the teams which really think about things like

  • What happens when there is a difficult discussion, how would it be handled?
  • What if there is an employee who seems to be under-perfoming? How do we manage to have that discussion with employee?
  • How will the managers(and associates) behave if there is a production bug or a small mistake in code? Do they work like a team or turn to politics and shift blame?

If we do not change the way "some" people behave in an organisation, sooner we will have "pods" of people working in similar ways. This could result in a culture which becomes difficult to change and manage.

We spend almost 9-10 hours of our day working with colleagues and its right to say that 1/3 of our day is spent with them. Hence, it becomes more important to understand that we want to have a positive experience, not just for us, but everyone around us. "


Please give credit where due: If this post inspires you to introspect and write your own views on your personal blog/company culture website; A link back to this post would highly be appreciated.