What a Senior Staff Software Engineer Does
medium.com
medium.com
I have a lot more influence over the technical/infrastructure direction of the company I work for now as “just” a senior developer than I ever had at my last company where I was officially the Dev lead with dotted line reports.
There to get anything done I had to go through layers of red tape. Where I am now, I’ll use my own discretion on whether I should let the manager know or do everything in the Dev AWS Account (or create another account), do a proof of concept and let them know. Most of the time I either get the okay or a few tweaks or suggested.
And before I get the replies from the infrastructure gatekeepers. Yes, I’m qualified to make infrastructure decisions and I’ve been browbeaten enough across three jobs to know about compliance issues (HIPAA in our case) inside and out.
It’s more complicated than this but this is a good overview.
In any case, the job described does mesh well with what I see most "Senior Engineers" doing. So the article in general is a good idea of where long-term growth as an engineer will take you.
Indeed. I'm also curious about the change in identification over time.
> General staff: in the military, a group of officers that assists the commander of a division or larger unit by formulating and disseminating his policies, transmitting his orders, and overseeing their execution. Normally a general staff is organized along functional lines, with separate sections for administration, intelligence, operations, training, logistics, and other categories.[1]
When used properly, it should refer to someone who supports front line roles.
The ratio of Staff to Line in IT is generally 7:1.
The OP cites spending ~50% of her time on creating scrum tasks; very much a staff function.
That does not mean half her time is spent making tickets. This could be code writing, code reviews, testing, meetings, agendas, designing or ideating new systems or improvements, and, also, making tickets.
I just know I would absolutely hate competing over positions and titles. The real beneficiaries of this are the owners of the businesses who make up these meaningless distinctions in order to get everyone grinding their lives away for shiny baubles.
These mid-size and larger companies offer defined pay, bonus, perks, expectations, and many other predictable attributes. This structure is of a high value to folks who prize stability, to take care of things like their family.
I think it works out fine for people with a good manager who for whatever reason thinks your style is good. But if they aren't good or don't quite care about you then you'll eat shit forever.
Is they the internal decision makers or the HR/recruiters gatekeepers who kvetch about the 'talent shortage' in software engineering? Am I out of line here for feeling like that line could easily come from either group?
Asking as a guy who was rejected by a recruiting agency for my current job, and only got hired later on after discovering by complete and utter coincidence a friend (well, more of an acquaintance, a regular at my neighborhood pub) worked on the team, referred me to his boss who was absolutely delighted with my experience and qualifications, was a near instant-hire.
Sometimes I wonder (quite negatively and cynically) about the agency hiring model.
A track with 6-7 difficult rungs and +10% pay increase? nah, I'm good.
Not for my definitions of quality of life!
A lot of the value you can gain from money (e.g. hiring a maid to clean & cook, buying better quality food) is about clawing back what you lost to get the extra money.
I'm a very senior developer in my 30s who lives in Sweden. I have a "good salary" (make the same or more than every other dev that I know in my age bracket), which translates to a take-home pay of around 45k USD.
Sure, health care is free, education is free (no college fund for my kids) and employer-paid-for pension plans are quite decent, but housing is not cheap (450k USD for a simple 4 bed room family home, luckily I don't live in Stockholm where that costs an additional 200-300k USD) and we also pay 25% VAT on almost everything.
30 days paid vacation (not PTO) per year is pretty sweet and so is the lack of overtime (40 hours is 40 hours) and the parental leave (at home with your kids for a year as a father? no problem!). But man, these salaries that I see quoted here on HN regularly (200-300k) do sting a bit...
Cost of living isn't lower, especially in Dublin, our healthcare system is a slightly worse, college isn't totally free (3k/year or so), and pensions less generous.
On balance though, you'd still be better off working here.
You’re going to top out as a developer after about a decade if you’re semi aggressive. The only way I found to make the next jump is true consultancy (not staff augmentation).
(No longer with Box btw)
I read it again--I liked the article--and saw that the article talks about too many kinds of staff-level contributions, including kinds of mentorship, for my question to be relevant.
I'm still interested enough to pose: I had thought elevation of the technical track to "equal" the management track was a response to technical employees "needing" to go-into-management-and-deal-with-people in order to advance their careers. So now it would seem to me that the technical track is absorbing some of the functions of the management track. That's assuming that mentoring is related to managing.
The leadership and culture markers are _wildly_ subjective. I’m willing to bet managers are still paid more and still carry more favoritism and power and climbing the tech track ranks is very difficult.
* Interminable day-long budget meetings.
* Fighting with the recruiting department and other teams to get new hires.
* Mediating personnel issues, such as "I'm not considered senior and I think I should be" or "We're at loggerheads and can't reach consensus on this decision".
There's of course some wiggle room here, and a lot of people at the first leadership rung do end up with a kind of hybrid role. But by the next level up, management track people are generally spending 100% of their time on these kinds of things.
I have never felt condescended to when I was being mentored by someone with more skills or experience in any of my jobs, and I certainly hope that the people I help through one on ones, code review, and pairing now don’t feel as though there’s any condescension in it. I think mostly, we all just want to become as good as we can be at our jobs.
Because plenty of people won't do it naturally; teaching people things isn't always fun (or alternatively is less fun than coding).
If you want employees to mentor others, call it out as a thing to encourage. If you don't do that, people will be less inclined to do it, instead focusing on raw technical impact or whatever.
Why call out writing good code as a requirement for advancement if everyone should do it anyway? Well, not everyone values the same things. Making values explicit isn't bad.
The sad reality of both tracks, however, is that admin work eats your creative time more and more as you progress along your career path.
Had she gone into management after 5 years, how would the compensation, promotion opportunities, or job opportunities have differed?
I see many people go into management because they think it's the only way to continue to grow a career.
The difference at some companies is so stark that they sometimes feel the need to justify it with statements like "the title of fellow is reserved for truly world class engineers with a lifetime of achievement and wide-reaching industry acclaim" when no such requirement exists anywhere up the management ladder, including (and sometimes especially) in the C-suite.
Management is essentially gaslighting you into thinking that you're not as valuable as they are unless you're Linus Torvalds. That's a level at which any comparison is obviously laughable, but the break-even point is usually far lower than this, and the organization wants to do everything it can to keep you from figuring that out. The majority of highly paid managers at large companies simply don't provide much value compared to a reasonably productive engineer. The concept of an "equivalent technical track" is a bone they throw at you so that you don't rage quit.
So looking at this strictly as a numbers game, you're almost always worse off on the technical track. That doesn't mean you should go into management -- I just think it's important to know the true costs when making this sort of choice.
All companies need managers of some sort, and at the size we're talking about all companies will need a hierarchy of managers. Not all companies need a "Distinguished Engineer".
I think this is still an aspect that can be done better. If the top level of management (before C-suite, not in reporting chain) is some sort of mentor status, I'm not a fan of the term but an "Agile coach", or some sort of expert like that, maybe that's a better equal to the Principle Engineer – still fairly optional, very high level, etc.
There is a condescension to this thing where people say “hey, that’s ok too” when it’s actually not ok for themselves. I can accept that, it is what it is, but it’s definitely there.
- always fun to be around (a consequence of not being overloaded)
- the guy to say "the emperor has no clothes" (having time to look around does that)
- always accurate with his estimates (because he really doesn't want to work overtime)
- always high-quality with his output (because he's not rushed)
Done right, working at 80% speed means that you have 20% of your time to pick up the super-high-value tasks that might otherwise fall by the wayside.
Now, maybe he'll get promoted more slowly than his potential as a striver, but I don't actually think that's going to happen.
Just as a personal anecdote everyone told me constantly that I would never make Staff Engineer at Google (roughly the 90th percentile rank) by just contributing to the code base. But that is what I did, and I was promoted to that rank. And I got the satisfaction of not participating in all the anti patterns of “leadership “ where one person gets promoted for taking credit for the work of many other people, or for solving problems they also created, etc.
In short I rather admire a trade like dentistry or carpentry where one just practices one’s skills to the best of their ability, and there is no such thing as “Senior Staff Dentist”.
So the Senior Staff position may involve less day-to-day coding/design, but a lot more heading off disaster, which I would argue adds huge value to the company, and personally I find satisfying. In fact, there is nothing less satisfying than failing to head off a disaster that you could see coming from miles away.
I remember a very senior IC at one company I worked at, named Gary. Gary basically wandered from meeting-to-meeting, only attending a few minutes because his calendar was routinely triple-booked. He would listen to a few minutes of argumentation, ask the one question that would slice the problem open like a sharp machete to a coconut, and then move on to the next meeting. Didn't design much any more, but his contributions had huge leverage.
Don't write off that some day you may want to be a Gary. It may come naturally at some point, when you frequently start thinking: "I've seen this movie before and it has a baaaad ending."
I make sure I work somewhere that isn't too stressful, and pace myself as much as possible at the dayjob so I can work 20+ hours per week on my own business.
I wish I could have a 3-day workweek so the other 4 days I could be coding my own projects. After $100k why do people even want more money? I just want more time to work on my projects for a chance to have my own business. I'll never understand why so many people choose to be put into golden handcuffs.
You can have the nice house in the burbs, max out your 401K, enjoy decent date nights with your SO every pay period, save for vacations, pay other people to do stuff you don’t want to do (occasional meal prep, yard service, etc), and have enough left for the things that go bump in the night. Realistically, for all the “ands” it takes about $150K to $200K of household income. That’s without getting the biggest house, the nicest cars and the most expensive vacations.
Also, I see “having my own business” and “having a less stressful life” as being the opposite of each other.
I don’t have to worry about finding customers, budgets, marketing, and I have st least six weeks a year paid time off between vacation time and holidays.
If the company disappears tomorrow I get another job.