How to succeed as a Senior Engineer

Philip Starritt
3 min readAug 18, 2022

Over the last 10 years, I have had the pleasure of working with many talented engineers. Ranging across a start-up, hyper-growth tech companies, and a large structured organization.

Image from unsplash

Based on my experience, there are important key characteristics and skills that senior engineers display. Although, due to the variation of roles, and titles across companies, these behaviors may apply across seniority levels. e.g. Senior, Lead, Principal, or simply a Software Engineer in a flat hierarchy.

Of course, this list is open and incomplete.

Rethinking

  • Ability to rework ideas & approaches in order to simplify things
  • Gains another perspective by reframing viewpoints
  • Identifies unseen opportunities

Strategy

  • Prioritizes ruthlessly
  • Influences decisions and finds mutual understanding between parties
  • Collaborates effectively across all stakeholders. Ensures alignment with the target direction

Engineering

  • Avoids over-engineering and strives to reduce complexity
  • Understands when not to do something. E.g. Re-writing a library from scratch
  • Comfortable with ambiguity. Able to take incomplete requirements and frame them into a working solution
  • Gets other engineers to listen to ideas without making them feel threatened
  • Realizes it’s not what they solely deliver, but rather what the team delivers and the outcome
  • Harmonizes best practices. Understands when and which to apply to the current context. Including security, testing, automation, design patterns
  • Takes ownership and drives stories from requirements to delivery
  • Makes changes small and often
  • Sees the bigger picture and how it relates to each component
  • Is able to give up their product, so they can work on something else
  • Identifies and balances risk. E.g. Technology Adoption
  • Understands that good software is working software
  • Can communicate complex concepts to non-technical or junior staff
  • Cares about the software after it's released. E.g. Observability, monitoring, support, debugging
  • Searches for root causes

Culture

  • No ego. Puts the product and team first. We are better as a collective
  • Creates a safe, supportive, collaborative, diverse environment. A place where people learn, grow, and care about each other
  • Identifies problems before they occur
  • Mediates conflict, unblocks and brings people together
  • Guides people with decision-making. Without providing answers
  • Feedback. Understands how and when to give feedback
  • Takes negative feedback gracefully
  • Always learning
  • Shares their knowledge to level up the whole team. Avoids unnecessary knowledge bottlenecks and associated risk
  • Champions open and honest post-mortems
  • Sustainability. Understands the importance of time-off, disconnecting, and respecting others’ work-life balance
  • Is self-aware and understands how their actions impact others
  • TMI. Understands the right amount of information to share. Sometimes, the less you talk, the more you’re listened to
  • Navigates the culture map of multi-national teams
  • Helps people get promoted and recognized
  • Knows how to get the right information and seeks support when necessary
  • Gets the best out of others
  • Avoids politics. Shields it from the team when necessary

Did I miss something? Let me know in the comments :)

Thanks for reading the article

Have a great day

Philip

--

--