Act Like a Senior Engineer (Part One)
Before becoming a Senior Engineer, you have to start acting like one.
Welcome to Path to Staff Engineering! I’m Sidwyn, and I will teach you the skills to level up to the Staff level faster. If it's your first time here, subscribe to continue receiving this free content.
Welcome back to Path to Staff! I'm starting a new three-part series called "Act Like a Senior Engineer."
Getting to the Senior level (E5) is a challenging and arduous journey. In some companies, you're expected to get there within three years of joining as a fresh grad (E3).
In this "Act Like a Senior Engineer" series, I'll share key traits that I believe are most important. They aren't taught in workplaces, and you're supposed to pick them up by learning from others. But that's not the only way –– you can also pick them up from reading posts like these :)
The first trait we’ll cover is Ownership - what does it take to own a project end to end?
Ownership
So many moving parts in ownership! Don't fret – we'll cover them in a three step guide below.
What is ownership?
Ownership is the behavior of covering a problem end to end. As a problem owner, YOU are in charge of the outcome.
You are the POC for anything and everything related to this problem. You answer questions or redirect to the right person on your team. You know how bad this problem is and where it's most painful.
Why should I care about ownership?
It is much easier for a company to track problems by attaching them to owners. This gives software engineers clear swimlanes and responsibility.
You'll be recognized for ownership, both within and outside your team. As you communicate your progress, other teams and cross-functional stakeholders (PMs, Designers, etc.) will witness your work. These stakeholders are crucial during performance reviews and promotions.
At the end of the day, owning a problem is fun and rewarding. If your journey is successful, it's akin to stamping out an ant colony in your home. Even if there are bumps along the way, there's always something to be learned.
Three Step Guide to Complete Ownership
How does one take ownership? Here are three practical steps from start to finish.
Get the big picture
When tasked with a problem, ALWAYS start with the big picture.
What does that mean? Ask these key questions:
After asking these questions, you should:
Understand the problem deeply.
Why does this problem matter to the company and my team?
How urgent is this problem? Are there any external or internal deadlines?
What is this problem costing us today (usually revenue/efficiency). Think about what happens if you DON'T solve the problem.
Know your stakeholders.
Who are the stakeholders of this project?
How do they like to be updated?
How often should I update them?
Understand points of failure.
What could go wrong while trying to solve this problem?
How can we anticipate that ahead of time?
How much buffer do we bake into our plans?
Found this helpful? Subscribe to make sure you don’t miss new articles.
Plan before executing
Before you execute, you must have a process in place. Make sure you do the following before you execute:
Build your army.
This is crucial: Find people with skills that complement yours. For example, if you're a Web specialist and your problem spans both Web and Mobile, find a mobile specialist.
Work with your manager to approach the people you have in mind and win them over.
Use this: "I've heard you are really good at solving problems in this space. Both my manager and I think you'd be a great fit to join us on this journey to solve Problem X. Would you be interested?"
Conduct a brainstorm.
Bring everyone together and have them contribute ideas.
This gives them responsibility and ensures they are bought into the solutions.
I sit everyone down in a room and use a tool like Figjam to conduct a brainstorm. Be open to all new ideas.
Create goals and milestones.
Using these ideas, set achievable goals for the end of the half.
Always underpromise and overdeliver. Remember: you and your team will be held accountable for these goals.
Create smaller milestones for these goals. For example, by the end of the month we'll achieve 5%, in 3 months 15% and by the end of the half we'll be at 30%.
Bonus: Leverage your team specialists to create small, independent goals. This will hold them accountable for their areas.
Hold regular standups:
Standups are the best way to keep your teammates accountable.
Make sure that the agenda is well-structured. My preference is 10 minutes for callouts and 20 minutes for updates.
Use a Kanban board to keep track of tasks so there is visibility throughout the team's progress.
Execute. This one needs no description. You know what to do :)
Found this helpful? Subscribe to make sure you don’t miss new articles.
Communicate, communicate, communicate
Communication is extremely important to a project's success. Especially for more urgent projects, it is paramount that you share updates throughout the process.
Find out where your stakeholders congregate.
This could be Slack, email, documents, chats, or internal message boards. Or even a combination of them.
Figure out your cadence sweet spot.
Start a weekly post to keep folks up to date as long as you have enough updates.
You can change this to daily or biweekly, depending on the project's urgency.
Tailor your message to your audience.
Understand your audience well and how much time they have.
Be succinct with your message. I like to use a TLDR up front.
Summarize highlights and lessons learned from the week.
Lean on managers for support.
Your managers will have more meetings than you do and meet more leadership stakeholders.
Lean on your managers to forward your status updates to the right folks. You can use this: "Hey X, I would love your help with increasing the visibility of my project updates. Could you help me forward these weekly status updates to key folks or audiences that I missed? I would really appreciate it.
Communication is all about ensuring the visibility of your work. Think about it as the marketing side of a startup. You can't always be building without selling.
BONUS: When you have completed your project, share reflections and lessons learned. Bring others along for the ride. This is a great way to reflect and help others along the way.
Real-world example
I'll share a real example that happened several years ago.
I was tasked to build a Tax integration within three months. All I heard was, "We need to integrate with a Large Tax Company before tax filing season starts in January."
It was less than three months, and I had to figure it out. I accepted the challenge.
I made sure I understood the problem end-to-end. I assembled stakeholders, set key goals and milestones. I formed a small but mighty team. We worked hard at the problem, and focused on the problem at hand.
I communicated progress every week on Slack to share key updates. We delivered a week ahead of schedule, and I ended up receiving a promo to senior that year with a "Redefines Expectations" rating. The highest anyone could get at the company.
TLDR
If you want to be promoted to Senior and above, you must take ownership.
Get the big picture: Understand the problem, stakeholders, and potential points of failure.
Plan before executing: Find the right people, brainstorm, and set clear goals.
Communicate, communicate, communicate: The most critical piece to ownership is updating your stakeholders.
Thanks for reading. I hope this helps you in your journey to grow as a software engineer. These are shared from a decade-long journey working as a software engineer in startups and Big Tech.
Have thoughts or feedback? Comment or reach out to me here or on LinkedIn.