This blog is not about Engineering Managers, instead it is about the Individual Contributors (IC) and the role that leadership plays. During the span of my internship, I have spoken with engineers and engineering managers at Medallia. Leadership has been a common theme in many conversations. By listening to their anecdotes, I have gained understanding to a completely different definition of leadership. And it is not defined by your job title.
I used to believe only people of power can be leaders, such as the CEO of a company, president of a committee, or manager. To take on these leadership roles, you have to start off as an IC and be promoted to a management position. In reality, at Medallia, and many other companies, IC and management are two parallel career tracks. You do not climb to a manager position; you switch into a completely new role. You can progress at the same rate in either track in terms of responsibilities, impact, and compensation.
Speaking with Medallians helped me avoid confusing leadership with management positions. Don’t get me wrong, the managers at Medallia are great leaders; but they are not the only ones. ICs can be leaders too. To be a leader, you have to be able to bring the best out of others, to empower them with opportunity to learn and growth. It is about making an impact. A good leader leaves the place better than before they came. You can do and be all of that as an IC.
Be observant of the problems around you, and take the initiative to brainstorm solutions to solve them. There may be ways to improve the codebase, the workflow, or even how the desks are arranged. Could you answer “what’s the biggest problem you see at the office?” If so, you should find a solution, speak with the relevant parties, and work to implement that solution.
Imagine a new technology is released, like Java 8 or HTTP/2. Your team does not seem to be paying much attention to these new developments, but you believe there are great benefits to migrate. Survey your teammates, research the topics, and convince your team to switch. Your team is now more agile, using better standards, and abiding to the best practices.
A company is a living breathing being, it needs to constantly improve. The problems you see may be caused by some fundamental flaws. Your solutions will help the company grow and evolve. At Medallia, we are all about “Growth Mindset”. We know we can always be better; we just have to take the initiative.
Small things count.
While It is important to look at the big year-long changes, it is equally important to pay attention to the everyday small things. You can make a great difference by doing things like lending a hand, teaching others what you learned recently, giving feedbacks, etc. By doing these, you will bring out the best in others. You can help them to learn and grow. You are making a difference by making individuals more aware of their strength, weaknesses, interests, and values. As individuals grow, the team grows, as does the whole company.
A fellow intern at Medallia suggested that the interns get together to share their knowledge. We would give a short 10-minute talk about one interesting topic that we learned. This intern realized that that the little things we learn through our internship may be beneficial to everyone. Some of these subjects may pique our interests or we may realize our weakness in certain area of computer science. In the end, we get to learn and grow and become better software engineers.
It’s great that you are taking initiatives and paying attention to the little things. But if you don’t speak up with your ideas and plans, it is near impossible to make progress. Share your opinions, and explain why you think it should be done a certain way. Standups and team meetings are great opportunities to share. If your reasoning makes sense, you have just directed the project on a better path. However, sometimes your opinion may be wrong or unfit for the situation at hand. This offers you the opportunity to learn and grow. With this experience, you will be better at judging similar cases in the future.
Sometimes, it’s about giving up power and control.
Being a leader does not mean you boss those around you. In fact, you should do the exact opposite sometimes – you should let them tell you what you should do. You are surrounded by smart individuals. Often times, someone else know the subject better than you. Let someone else lead the discussion. Their expertise allows them to see the problem in a different perspective, which can lead to innovative solutions.
As an intern, this situation comes up more often. Even though it may be my project, but the experienced engineers often have new insights on the technology and codebase. I taken their suggestions with great weight. If I were to ignore others suggestion, I may build a product that’s not using the best practices, poorly tested, or even unusable. So, I will make a decision while considering all the opinions. The product ends up being a collaboration of great ideas.
Anyone can be a leader, be it ICs or managers. We just have to remember to empower ourselves and those around us, and leave the place with the resources to continue to grow. Demonstrating leadership as an IC allows us to be impactful to our team and the company. You and I and everyone around us get to learn and grow. You are not just an engineer. You are leading the charge in solving amazing first world problems. Let’s make waves.