Leadership lessons from a Director of Analytics at LinkedIn

How to Run Teams at the highest level.

Devansh
Geek Culture

--

Join 31K+ AI People keeping in touch with the most important ideas in Machine Learning through my free newsletter over here

Fidel Rodriguez is currently a Director of Analytics at LinkedIn. Before this, he was the Head of Analytics at Google Ads. He is an accomplished business and technology executive with 15+ years of experience developing teams and delivering innovative solutions for organizations in the tech, entertainment, and financial services industries. He is also a part-time college professor and has a real-estate-based startup of his own.

Fidel describing his ventures. He also consults pro-bono with some non-profits.

Fidel and I had a great conversation about his experiences running large-scale projects, building crucial features/projects from scratch, and making sure that teams function smoothly. In this post, I will be summarising some of the key takeaways from our conversation.

If you’re someone aiming to get into one of these big tech companies, create/scale your own startup to be the next giant, or just want to know what it takes to run teams that operate that that scale (literal billions), then make sure you read through this post.

Photo by Scott Graham on Unsplash

Key Highlights

Following were the main points from our conversation

  1. Define Processes, Delegate Implementations- Fidel operates at a level where the people that report to him are senior managers with their own teams. He shouldn’t be getting into the day-to-day. He sets the agenda and the core processes and leaves it to his reports to handle the specifics. I will go over some of the key processes that Fidel espouses and how you can use them.
  2. Communicate Obsessively- Fidel believes in leveraging the benefits of communication to attain the best results. Many of his processes involve a lot of 2-way communication. This is why I spend so much time stressing the importance of communication. Having great communication allows you to effectively communicate your team’s needs, goals, and challenges. This will make you invaluable to any organization.
  3. Clarity beats speed- Clarity is one of the biggest benefits of having great communication. Building and developing clarity in your team and organization will create much better results than just jumping right in. In my conversation with Fidel, he recounted a few stories that I will be sharing.
  4. Simplicity is key in business cases- One of my favorite moments in our conversation was when Fidel talked about he made it a point to keep all business cases simple. All stakeholders must be able to articulate why a feature/project is a good idea. This might seem trivial, but this is crucial.
  5. Create a Flywheel- I wanted to know how Fidel managed all his ventures and personal life, while still maintaining his sanity. Fidel walked me through his system of creating flywheels to sync multiple projects together. This is the number 1 productivity tip that no one talks about.

I hope you’re excited about this. Fidel is a phenomenal person with a lot to share.

Define Processes, Delegate Implementations

As you grow senior, you will notice something- The things you were working on no longer have a direct day-day impact. You have junior engineers/interns handling those. Your work tends to be more strategy/long-term focused. Instead of building the apps/services, you will instead define the APIs that will be used by 20 different apps/services. When you get to Fidel’s level- these senior engineers will report to you. You will decide which APIs/microservices are truly most worthwhile, and which new large-scale infrastructure LinkedIn will invest in. Your projects are now measured in months and years.

This also means that you will be unable to be in touch with the realities on the ground. The day-day details are now handled by your subordinates. And this is how it should be. Your time and mental energy are important. They have to be conserved for the best decisions. Remember, at the most senior levels, 1% improvements can lead to millions of dollars.

To learn more about this, read the post The Mathematics of Scale [Math Mondays], linked here

However, you also want to impose strict standards and quality controls on your team, so that every part of your pipeline/user experience is amazing. In such a case, what can you do? Burn out by spending a lot of time and energy making sure every little thing is perfect or focus on the big picture and risk missing a crucial detail till it’s too late?

Strong Like Bamboo. Flexible Like Bamboo.

How a coworker described Fidel’s management.

Fidel handles this tension by setting clear processes/directions for his team and then leaving the day-to-day details to them. He’s very strict about making sure that the quality control checks are met. But as long as they are met, Fidel isn’t going to worry about the day-day. Fidel mentioned two processes in particular that he is strict about, that all of you should implement-

  1. Gemba Walks- This was a new one for me, but when Fidel described it, I found it brilliant. Imagine your team has built a feature. Before shipping it out, have a complete outsider ask you questions about it. They can ask you whatever they want. This will help you see the feature as an outsider would, which can be crucial in identifying improvements/hidden flaws.
  2. OKR- When Fidel first mentioned this, I laughed a little because I associate this with HR. OKR stands for “Objectives and Key Results.” OKRs are typically written with an Objective followed by some supporting Key Results. An example would be, “I will optimize this API to reduce the error rate by 1%, reduce latency by 100ms, and reduce overhead per call by 0.5%This article is a great guide on them. This gives a lot more clarity and direction to the team while adding more accountability overall. And in trying to achieve these goals, you and your team will learn a lot about the architecture of your solution, giving you more potential for amazing results.

This approach of delegating the day-to-day to the people who face these challenges has a lot of benefits. One this frees up your time to focus on more important things. Second, it frees up the people below you to tackle the tasks in the best way. Since these people face these challenges every day, they will be able to come up with the best solutions. This increased level of freedom, also means that your subordinates will feel an increased sense of ownership and won’t be unhappy about a micromanaging boss.

Clearly, this would require a very strong mutual understanding where everyone understands exactly where the project is headed and why. This requires communication. Lots of clear communication. So how can you promote this in your team? Let’s cover that.

Communicate Obsessively

One of the most striking parts of talking to Fidel was how he put a lot of emphasis on communication. His love for communication was only beaten by my undying love for chocolate milk. When we talked, he was driving to Las Vegas to go to a major event held by LinkedIn.

Fidel When he sees an employee with good communication.

This passion showed through some of the other processes that he made sure that his teams did before they even started working on the projects. Fidel put a large emphasis on bi-directional communication. What does this mean? Fidel first makes sure to have 1–1 meeting with all the stakeholders in a project/venture to understand their needs and wants very well. He then takes time to sit with his reports and share these needs in great detail, taking input from their end. These inputs can then be used when shaping strategy and setting long-term goals. By doing so, the whole organization is aligned as one, and things progress smoothly.

One of the things that Fidel does to accomplish this is something that all organizations should accomplish. If you are a manager/senior dev, then look at implementing this. What is this magic task? It’s creating specific evaluation ladders.

Many times, software engineering can feel more like an art than a science. No matter how much you try to impose rigor and formalization into your systems, there will always be a large of creativity involved. This can make evaluating engineers difficult, especially when it comes to promotions and career progression. Think about it. What really differentiates a good software developer and one that would be better at a higher role? This nuance can be more tricky than you would think. Especially when you recognize that the best actions depend on context. Even Charles Oliveira would be worthless if asked to play Football. Not because he’s a bad athlete, but because it’s the wrong sport for him.

The champion has a name. I’m so hyped for his fight against Islam Makhachev. Who do you think wins that? Share your predictions with me. Image

That being said, having some clarity on the evaluations used for career ladders can be motivating. It tells people exactly what they need to accomplish. It also adds a lot of clarity to the project, telling the people involved what the priorities are. Once the priorities are established through clear and thorough communication on all fronts, having a clear and well-defined evaluation guideline for employees will skyrocket productivity.

In my experience, there are two things that make great evaluation guidelines. Firstly, the evaluations should be specific to the task/project at hand. As I’ve mentioned, even for the same project, what is the priority? Is it security, stability, costs, speed, or something else? What are the end goals? Who is this project for? Understanding these will help you create guidelines that truly add clarity and direction for the project members.

Secondly, the guidelines should have a clear gradient. You should be able to judge the difference between a senior and junior engineer, based on the factors considered. Every level should have its own OKRs (ohh god, what have I become). This will not only add clarity about what each level should be focusing on but will also show juniors what skills they need to become effective senior devs.

All of this adds a lot of clarity and direction to the overall project and team. Which are important enough that I will now take some time to discuss them. And why the way many people rush into projects without doing the prep work is a terrible approach.

Clarity kills all

In Brazilian Jiu-Jitsu, we have a saying

Slow is Smooth. Smooth is Fast.

Turns out it also applies to Software Engineering. Especially at the highest levels.

It’s easy to want to rush into projects, solving things as they come. Especially in Tech, where things move extremely quickly. “Move Fast, Break Things” is a Silicon Valley slogan. While that has its place, it’s not the smartest idea when starting/working on huge projects.

Remember, if something has a huge scale, it will be harder to fix/change once you do send it out. Especially if you do things in a very ad-hoc manner, where things are fixed as they come up. I’m not saying that you have to go into every little detail in your preplanning. I am telling you that rushing blindly into large-scale ventures will burn a lot of money and energy.

While it can be annoying to take time doing meetings, brainstorming sessions, and other HR-y things, they did become staples for a reason. We’ve already covered how these sessions can boost developer productivity, by giving the team a clear and coherent direction. However, taking it slow and doing the prep work to gain clarity can also save a lot of resources in the long term. Here is a Fidel Story to illustrate this-

When Fidel was starting off in his role, teams were in a hurry to fill the headcount. Due to the high impact of the Analytics team, a lot of eyes were on the time that it would take to hire. Fidel worked with his team, stakeholders, and senior leadership (esp. his manager who has been “awesome”) to invest the necessary time to refactor hiring processes in order to focus on the right skills and profiles. This also gave him time to understand the team’s current state and business needs.

While this did affect the hiring rate, this saved a lot more in downstream costs. Imagine what would have happened if hiring was executed hastily and the wrong members were hired. Fixing these mistakes would end up being much costlier. Before taking any big decisions, take a step back and drink some water (or milk).

When given 10 hours to chop down a tree, it’s better to spend 8 hours sharpening the ax. This way you can cut down the tree easier AND use that sharp ax to cut down other trees.

One of the best ways to gain clarity is to fall in love with Simplicity. Specifically in your business cases. When working on projects/features, everything should serve a purpose. We’ve already mentioned how everyone involved in a feature/service should be able to articulate why that service is being developed. On top of this, team members should be able to understand the tradeoffs, and why things are being done in one way over another. Bonus points if you can talk about how the current feature/service can be improved in the future. This requires simplification of design and architecture, which makes scaling systems for the future much easier.

So far, we’ve covered how Fidel is able to be an extremely effective leader. However, what stands out about him is how he’s able to manage at a leading Big Tech, his startup, and his role as a professor without burning out. For this, I want to introduce you to Fidel’s amazing Productivity Hack.

Build a Flywheel

On the surface, it looks like Fidel’s ventures have very little overlap. LinkedIn has nothing to do with real estate, and none of these have anything in common with College Courses. So how can Fidel optimize his time?

This is where some creative thinking and taking a high-level view are important. These ventures have more in common than you’d think. For starters, they all have something to do with Data Analytics. Why is this important? Because they can be impacted.

Often for his college projects, Fidel gives his students problems similar to the challenges being faced by his Real Estate/LinkedIn teams. The students are able to work on real-life important problems and gain exposure to actual perspectives. Fidel gets new, often cutting-edge answers (since these students are reading the latest papers). And the problems are solved much quicker than normal. In this arrangement, everyone wins. And one part of this feeds into the other, allowing things to flow seamlessly.

This allows him to cut down on a lot of extra work. Fidel doesn’t have to spend a lot of extra time coming up with assignments since they are already there for him. The evaluation can be done by his team as they discuss possible solutions. Most likely, his team would have already done a detailed analysis of a similar approach, so he is able to grade much easier. And the many distinct ventures coexist perfectly.

This is an approach that would be great for you to implement. Look into the activities you are doing/would like to do. And find ways to club them together. Once you start bunching things together, you’d be shocked at how much you can accomplish.

Above was a piece from my newsletter Technology Interviews Made Simple. For more such high-level analysis for free, check it out. The newsletter needs no names, no personal information. Just your email. And there is no spam. Ever.

For Machine Learning a base combining Software Engineering, Math, and Computer Science is crucial. It will help you conceptualize, build, and optimize your ML. My daily newsletter, Technology Interviews Made Simple covers topics in Algorithm Design, Math, Recent Events in Tech, Software Engineering, and much more to make you a better developer. I am currently running a 20% discount for a WHOLE YEAR, so make sure to check it out.

I created Technology Interviews Made Simple using new techniques discovered through tutoring multiple people into top tech firms. The newsletter is designed to help you succeed, saving you from hours wasted on the Leetcode grind. I have a 100% satisfaction policy, so you can try it out at no risk to you. You can read the FAQs and find out more here

Feel free to reach out if you have any interesting jobs/projects/ideas for me as well. Always happy to hear you out.

For monetary support of my work following are my Venmo and Paypal. Any amount is appreciated and helps a lot. Donations unlock exclusive content such as paper analysis, special code, consultations, and specific coaching:

Venmo: https://account.venmo.com/u/FNU-Devansh

Paypal: paypal.me/ISeeThings

Reach out to me

Use the links below to check out my other content, learn more about tutoring, or just to say hi. Also, check out the free Robinhood referral link. We both get a free stock (you don’t have to put any money), and there is no risk to you. So not using it is just losing free money.

Check out my other articles on Medium. : https://rb.gy/zn1aiu

My YouTube: https://rb.gy/88iwdd

Reach out to me on LinkedIn. Let’s connect: https://rb.gy/m5ok2y

My Instagram: https://rb.gy/gmvuy9

My Twitter: https://twitter.com/Machine01776819

If you’re preparing for coding/technical interviews: https://codinginterviewsmadesimple.substack.com/

Get a free stock on Robinhood: https://join.robinhood.com/fnud75

--

--

Devansh
Geek Culture

Writing about AI, Math, the Tech Industry and whatever else interests me. Join my cult to gain inner peace and to support my crippling chocolate milk addiction