Seven tips for Senior Engineers

Abdellfetah SGHIOUAR
6 min readDec 29, 2022

You might be thinking: Oh no, another article about tips for senior engineers, genius idea Abdel, Bravo 👏

But these are my learned tips, stuff I learned working in the IT field for ~15 years and growing my career and knowledge along the way.

I recently discussed this topic at #BlaBlaConf, an online conference organized by my friends at GeeksBlaBla. If you speak Moroccan, head to their youtube channel to watch the talk when it is made available.

If you, however, don’t speak Moroccan, this article is for you.

#1. Hard work pays off

My first job was at a startup back in Morocco. The company I worked for was a carrier-neutral data center (the first in the country); we hosted servers and VM’s for customers.

I had to do many things in that position and sometimes learn on the spot. I spent ~2.5 years in that company, joined as the 4th employee, and left the company when the team reached ten people. I was doing what you could qualify as modern days DevOps.

The role was loosely defined. One day I had to deploy MS exchange and migrate a customer to it. Another day I had to help a customer move physical servers from their beat up datacenter to ours. The other day I had to figure out how to configure the badging system for the site. It didn’t matter to me; I had to learn and get stuff done. Technologies and Frameworks didn’t matter to me (Okay, I lied; the only thing I did care about was using Linux as my daily driver; my boss didn’t like that very much, Amine. If you are reading, hello 👋).

My main focus was learning as much as possible with the opportunities coming my way. I worked hard, and it paid off. 2.5 years later, I joined Google.

NB: Since this article is coming out in a time of tech layoffs and uncertainty, I get asked a lot about what to do you get laid off and what’s the best thing to prepare. My advice is, “Arguably, your ability to re-invent yourself is the best skill; that’s why I always advise you to focus on fundamentals instead of frameworks.”

#2. Give actionable feedback

My first days, weeks, and months at Google were a honeymoon, with rainbows and butterflies everywhere. I am freaking working for Google. But six months in, problems started bubbling up.

Without going into too much detail, I joined a very tightly composed team; everyone knew everyone else, and they liked working together; they had a specific idea of how I should integrate into the team. To put it mildly, I was supposed to do the shit work (run cables, lift heavy stuff) no one wanted to do for a while until they felt I deserved the right to do a good job(touch the keyboard and use the terminal). That was different from my idea, and I tried to learn as much as possible; I spent a lot of time reading documentation and familiarizing myself with processes.

Six months in, my first evaluation was up. I got feedback that I was jumpy, wanted to learn too fast, and asked too many questions. I organized 1:1 with every team member, and the same feedback echoed.

The issue is “you are too ambitious” or “you want to learn too fast” is not actionable feedback; I cannot do anything with this information.

So if you give feedback to people, make it actionable, and be clear with what behavior you think the person should stop and what work you want them to do more. You are too ambitious is, at best stupid feedback and, worst, pitty.

#3. Understand your career progression clearly

One of the good things about Google is transparency, career progression is pretty straightforward, and the rules are easy to understand. Information about what is expected from you so you can progress to the next level is readily available.

I joined Google as a Datacenter tech Level 1 (if you work for the same company and you are reading this and going, how the hell, level 1 doesn’t exist? Well, nine years ago, it did). I got promoted five times since to reach a Senior Level. Each time the process was straightforward. Read and understand the expectations at each level. Discuss with managers and work toward getting projects and opportunities that allowed me to demonstrate I fit the next level.

So the tip to learn here is to understand the rules. It is okay to discuss this with your management and be clear about your expectations.

#4. If you are pissed, take the day off

A few years ago, I was working on a project; we had tight deadlines, the customer had high expectations for us, and a lot of money was on the table. I let stress get into me and made a widespread mistake. I sent an email to a wide range of people pointy out who needs to do what they should do.

We aim to subscribe to a blameless culture at Google; when things go wrong, we write a postmortem and point at what went bad where, not who was at fault. In other terms, we focus on process, not people. My email was the opposite of that.

After cooling off, talking to management, and apologizing, things got sorted out.

The lesson I learned and my 4th tip is: if you are mad or pissed at something or someone, don’t talk/chat/send an email immediately. Take time cool off, think rationally about the situation and clearly communicate what bothers you.

#5. Learning and growing is a slow process; you have to come to terms with this fact

I question myself a lot. I often struggle with what I don’t know and ask whether I’m doing the right thing. I had difficulty coming to terms with these feelings until I learned what the Dunning–Kruger effect is.

In sh|ort, Dunning–Kruger is a cognitive bias by which people with low abilities or knowledge think they know a lot, and proportionally those with high abilities or knowledge underestimate themselves.

In other terms, the more you know, the more you underestimate your knowledge and abilities.

This could manifest itself in many forms; you might be the shy person in a meeting who doesn’t participate because they think their ideas are not worthwhile. Or you might have the answer to a question but never raise your hand, or you might be thinking about writing that first blog post or recording that first video, but you are putting it off because you have doubts about yourself.

I struggled for a while, understanding that the more you grow and learn, the slower you will learn new things. At least, this is true for me. And this makes me doubt my knowledge, and you get the point.

My friend Stephane Karagulmez wrote this excellent article about his struggles which I highly recommend you read.

#6. You cannot know it all

It’s okay to say, “I don’t know” or “Let me double check that and get back to you” instead of trying to BS because of your ego and not wanting to look bad in front of your boss.

It’s far better to be cautious about what you say than try to make up answers.

And a bonus tip, there is a massive difference between knowing things and having opinions. We all have ideas (mine are well documented on my Twitter). But “Feeling like” something works a certain way and knowing how they work precisely are entirely different things.

I learned that from 100s of interviews I conducted in the past. If you are not sure, say, so it’s okay.

#7. Delegate

Your ability to scale your work through others is arguably the most critical skill a Senior engineer should have. And a key to doing this is delegating to others and trusting your team members.

Your deep knowledge of technologies and stacks is essential, but more important is your experience with what works and what doesn’t and how you can communicate that experience clearly to others and help them learn along the way.

I hope this was a valuable read for you. As usual, my DM is open on Twitter and LinkedIn.

--

--

Abdellfetah SGHIOUAR

Google Cloud Engineer with a focus on Serverless, Kubernetes, and Devops Methodologies. A supporter and contributor to OSS. Podcast Host @cloudcareers.dev