Together with agile coach Balint Farkas, we recorded a conversation hosted by Iseeq recruitment in Budapest. We explored what seniority means for software developers. This 30-minute session explored my experience on career paths for software engineers, the difference in impact at various levels and more advice on growing, as a developer. Listen to the recording here, on Soundcloud and read a short summary on topics discussed, below.
What are the typical career paths for software engineers? (01:35)
Talking about how I generally think about career progression, from engineers starting out, all the way to staff/principal engineers. And how management comes into this.
Differences in scope and impact between different software engineering levels (04:20)
Talking about how the expected impact is a big differentiator between levels like software engineers, senior engineers or staff engineers. The staff/principal level is especially interesting on what it means to have organization-wide or company-wide models. Why is both scope and impact important, at this level?
As an engineer, when you have a great idea, how can you make this a reality? Even if this idea is in disagreement with views of more senior members of the team. (09:35)
How experienced people should be supportive in healthy working environments. And how staff/principal engineers often will step out of projects, when things are looking good, moving on to the next, most challenging thing in the organization.
Why is autonomy important for software engineers? (14:00)
And why software engineers are non-productive at places, which are hierarchical and they are treated as replaceable resources (and often called "resources").
Taking ownership of your career: why it's important and what can I do to get in control? (16:10)
Stepping back: before you decide to change companies, why it's important you take ownership of your career and vocalize what is important for you and where you want to go. A story about how I changed teams because I didn't like my manager... to not like my manager at the next team either. And realizing that I was expecting both my managers to read my mind and help me reach my career goals that I never told them.
- Goals. Have an honest conversation with yourself on your goals, write these down and share them with your manager. Your manager will try to create opportunities for you to grow.
- Creating opportunities. Instead of just waiting on your manager to create opportunities to work towards your goals, create these yourself. Step out of your comfort zone and volunteer to do some work that is challenging. Pick up work that might not be as fun or shiny, but the work that no one else wants to do, but is important.
- Get to know your professional self. What are things that motivate you, what are things that demotivate you?
As a manager, how can you foster a more collaborative environment, with more learning happening? (23:20)
- Get to know people on your team. Spend time with people and get to know people's background and motivation.
- Help people grow. Give actionable feedback - both positive and constructive.
- Mentorship and coaching. Mentor people and find mentors for them: engineers mentoring other software engineers is also a fantastic growth tool. Coach people to grow.
Mentoring and teaching as a growth tool, as an engineer (26:15)
We talk about how teaching is an important tool to become an expert in something, while also helping others around you grow.
Featured Pragmatic Engineer Jobs
- Founding Engineer, Front End and API at Causal. $175-225K + equity. Boston.
- Senior Software Engineer at Portchain. Coppenhagen or Remote (EU).
- Engineering Team Lead at Portchain. Coppenhagen or Remote (EU).
- Software Engineer - Infrastructure & SRE at Koyeb. €71-105K + equity. Remote (Global).
- Software Engineer - Service Mesh & Networking at Koyeb. €75-105K + equity. Remote (EU).
- Security Lead at Conjecture. £85-210K. London.
- Senior Software Engineer at Consensus. Boston, MA or Remote (US).
- Senior Frontend Engineer at Plain. £75-110K. Remote (Europe / 2 hours within GMT).
- Lead iOS Engineer at Polarsteps. Amsterdam or the Netherlands.
- Distributed Systems Staff Engineer at Reframe Technologies. Remote (Global).
- Senior Software Engineer at Karat Financial. $160-225K. Remote (US time zones).
- Senior Backend Engineer - Ruby at Rise Calendar. €80-120K + equity. Remote (Europe). I'm an investor.
- Senior DevOps Engineer at Droit. $170-205K. New York.
- Senior DevOps Engineer at Droit. London.
- Full Stack Engineer at Applied. £45-69K. London or Remote (UK).
- Solution Engineer at Pigment. $90-180K. New York or Toronto.
- Senior Backend Engineer at Pigment. €60-130K. Paris.
- Senior Engineering Manager at Whimsical. $185K + equity. Remote (US, Canada).
- Engineering Manager at Bobsled. $170-190K. Remote (US, Europe, South America).
The above jobs score at least 10/12 on The Pragmatic Engineer Test. Browse more senior engineer and engineering leadership roles with great engineering cultures, or add your own on The Pragmatic Engineer Job board and apply to join The Pragmatic Engineer Talent Collective.
Want to get interesting opportunities from vetted tech companies? Sign up to The Pragmatic Engineer Talent Collective and get sent great opportunities - similar to the ones below without any obligation. You can be public or anonymous, and I’ll be curating the list of companies and people.
Are you hiring senior+ engineers or engineering managers? Apply to join The Pragmatic Engineer Talent Collective to contact world-class senior and above engineers and engineering managers/directors. Get vetted drops twice a month, from software engineers - full-stack, backend, mobile, frontend, data, ML - and managers currently working at Big Tech, high-growth startups, and places with strong engineering cultures. Apply here.