Spent two years completely remaking the product I was tasked to work on, while the two other engineers on my team, both a level above me, cheered me on and didn’t do much.
I turned our product from a total waste about to be cancelled into a promising tech with some momentum, but I spent all my time coding instead of writing about coding, and I likely won’t get promoted again this cycle.
It’s been very strange to see the fruits of my labor benefit the org while feeling totally unrecognized outside of my team.
Now dealing with massive burn out for the first time in my career. Not sure what to do. I make sure to put out fires and do the bare minimum to keep up the product momentum, but I have no love for the org and just don’t think I’m cut out for the politics games.
Note that at Big Tech companies, almost all code is written by L3/L4 (the untitled "Software Engineers") and the few L5s ("Senior") that enjoy coding. L6-L8 ("Staff" through "Principal") are the political levels, where EQ is more important than IQ, your job is as much wrangling/convincing/selling/negotiating with other people as writing code. Most L6-L8 engineers are managers, but even those who are ICs spend the majority of their time politicking.
Being under the protection of a good L6+ is essential to actually getting anything done, launching, and getting promoted at a big company. Without it, you'll find that you won't get any cooperation from other teams, your projects will get canceled, and nothing you do will ever launch.
Staff+ engineers burn out at significantly higher rates than lower levels. I know a lot of Senior engineers that are quite content to just sit there and never get promoted, because the quality of life at that level is IMHO significantly better than at higher levels. Was talking with another recently-promoted Staff engineer (I'm Staff myself), and we were lamenting that Big Tech doesn't really do demotions, because the job expectations at higher levels get progressively higher, you have progressively lower control over outcomes, and the consequences for screwing up are significantly worse.
There do exist those rare creatures who manage to get promoted to, and beyond, L6 as ICs. I've been trying figure out how they do it, but can't say I've been making much progress.
(I'm Staff myself, but would not have got here without management responsibilities.)
I spent the last 3 years completely redeveloping the foundation of our platform which will save the company millions of dollars a year. I didn't do it alone or anything. But I started the project, was the only one to work on it full time throughout the whole project, defined the underlying architecture, and implemented most of the lowest layers. I poured all my energy into the project.
We launched beginning of this month, I was so prod of what it represented technically. A week later I was told my performance was "acceptable", I got less than my target bonus, and got a 3% raise.
I tried to quit, but relented when I was convinced not to and am now putting my unlimited vacation to work. I'm 3 days into a month I'm taking off.
One thing I wish someone told me earlier in my career is that the skills and activities you need to perform to get promoted are totally different than the skills and activities you need to perform to get your job done, which by the way, are different than the skills and activities you need to perform in order to pass the interview and get hired. Not "related" or "complementary" to the job you are hired for--totally different.
Promotion is about marketing. Getting your name in a favorable light in front of the deciders, and projecting an image of "someone who is like other people who we promote." Different companies do this differently. At some of them, it's about directly brown-nosing the higher-ups. At others it's about getting in the right cool-kid clique. At others it's about playing golf with key influencers or talking about sportsball with them in the lunch room. At others, who pretend to be merit based, it's about writing docs and "evidence" of your good work, but don't be fooled, those docs are marketing material, not technical evidence. Getting promoted is a separate job skill you need to learn, just like debugging and DevOps. Except it's a skill that does not benefit the company's bottom line at all. You have to set aside time and stop doing the work that you were hired for, stop solving the technical problems, and switch gears to doing the unrelated "getting promoted" work.
Nobody in leadership or HR is going to explain it this way, of course. You kind of have to learn about it organically or listen to someone like me who had to learn it the hard way.
It's a signal from the market ("employer") that what you currently offer is not what they currently value. If you desire greater rewards/ recognition, you need to discover what they value and decide if you want to offer that.
Developers expect that work such as "refactoring", "platform architecture", "R&D", "investing into the future" has some intrinsic value to the business. At the company level, work such as "knowledge sharing", "upskilling the team", "fixing bugs for revenue-generating products", "reassuring management" can be more impactful given their current values and roadmap. You must choose whether to spend your energy working on your priorities or their priorities. Generally, you make more money if you help other people solve their problems rather than your problems.
Or find new partnerships where the two sets overlap, but the highest-earning consultants can fall in love with solving the problems they do have, not the problems they wish they had.
> I tried to quit, but relented when I was convinced not to
How did they convince you not to? Please tell me they have offered you something concrete and haven't just made empty promises or said nice things.
(I'm running on the assumption the unlimited holiday you mentioned is company policy rather than something they've done just for you, so by "something concrete" I very specifically mean compensation - salary, bonus, maybe stock.)
I am currently learning that platform work in most places means nothing if you cannot point at an actual metric that management at appropriate level cares about, changing in a very tangible way; or unless your users are your peers, and you can be so good/promote yourself so well that your sheer reputation helps (and I'm not sure the latter even works in most places).
I've actually previously worked at a platform team for a ton of internal customers, and then at a B2B startup selling platforms - that's where you get promoted for platform development, cause platform is the product and reducing request latency or whatever is something VPs care about... in my current team I have a long list of impactful (on platform level) improvements I could make to infrastructure and libraries, engineering fundamentals, etc... that I'm not doing, cause I'm doing some boring work that will move some number, or sitting in meetings with 3 teams trying to get out a feature, that customers (or management) care about for some strange reason ;) E.g. perf work only matters when we want to save on server budget, and we have to decide to save on it beforehand, and it still doesn't matter as much as shipping some new widget or a metric change. Or e.g. I created a library for X that ended up being used by a bunch of people in a few teams (not the original goal). I am pretty sure nobody above IC level cares. All I get for that are occasional bug reports and a perception that I might be an expert at X... if the library doesn't contribute to my career via the latter, there's no other way it will :)
As a somewhat seasoned developer and former executive I can, sadly, state that raises and rewards are rarely tied to your output or how much it brings to the company. If your manager and executive leadership team are not actively marketing/hyping what your team is doing there is little to no hope of getting what you deserve. I get that this sounds "unfair" but there are some reasonable reasons for this. A company is huge there are many teams working on multiple projects, some of which have more executive hype visibility than others, where executives lust/focus money follows. If your project isn't one of those the best you can hope for is compensation the following year once the benefits are noticed, if they are noticed. Also note in any organization there is a never ending line of people who feel their contributions deserve more remuneration than others, so you have to make yourself standout from this bunch.
That being said the best way to get large raises in your company is to network and market yourself and your accomplishments LOUDLY and OFTEN. If this makes you uncomfortable then the absolute best way to get a raise overall is to leave for a new company; don't worry in two years you will be welcomed back at your current company if you want to return.
I am at the stage in my career now where I just want a solid funnel of work to rip through on technology that I enjoy working on and a competitive salary. I have a full life outside of work that brings me fulfillment and joy so I no longer need accolades and attention from work, honestly the less they notice me the happier I am! My job is for money and to keep my mind sharp, if I am unhappy I leave if I am happy I stay. I spent years climbing the ladder, learning to network and market myself and my team, sadly I learned that it was all a waste of time for me and I have more overall life enjoyment being a well thought of and compensated developer!
Working in big tech has been incredibly disappointing. I'm a mix of a Software Engineer and a Systems Engineer, so finding jobs (and not getting downleveled) is fairly easy. That said, after nearly a decade in tech, and staying at one firm for over three years I have never been promoted without leaving a company. It's not like I don't have major accomplishments either; but politics is a blood sport and either you or your manager must play it.
My two cents, it's not worth trying to get promoted. Enjoy what you do and once your RSUs have matured, start your exit by interviewing elsewhere.
> My two cents, it's not worth trying to get promoted. Enjoy what you do and once your RSUs have matured, start your exit by interviewing elsewhere.
This is the best advice I've seen so far.
I have refrained from playing the political game, have mostly stuck to helping people whenever they needed technical help (as it turns out, technical skills are critical when fixing things : p ) and that has lead to me being naturally included in interesting projects. If I start feeling like I'm not being asked to work on interesting things anymore, its a good sign to start looking elsewhere.
I guess I am somewhat fortunate/privileged that there are so many opportunities in tech that I don't have to play politics. Its pretty great though; its not like I can't recognize when others are playing political games, but I chose not to get involved in that world.
Some big companies are starting to figure out they need a plan to get people promoted before they leave. If so read that closely: it is your roadmap. Often what the map says isn't be a great coder, so put your time into the things on the map.
> I turned our product from a total waste about to be cancelled into a promising tech with some momentum, but I spent all my time coding instead of writing about coding, and I likely won’t get promoted again this cycle.
As a FAANG SWE, what I am reading is "I spent two years cranking out code without doing any design work. My manager and TL never suggested I write a design doc, or didn't give me opportunities to do so."
At least at my employer - where, yes, you typically need to do design work to get promoted - that shouldn't happen. It's a failure of management if it did.
To get promoted in FAANG (and many large tech companies), yes, you need to document it.
Interestingly, whether it works or not is completely unrelated to whether it's documented or not. In fact, the types of useful documentation (descriptions of how decisions were reached, known tradeoffs, API contracts, etc) often are completely different than the types of documentation management asks for (box diagrams that no one but management looks at). And the timeline for generating it is often different as well (management oftentimes asks for documentation before implementation, where such documentation runs the risk of being an incorrect blueprint; what is useful is documenting along the way).
Valuing documentation can be done well, but pretty much every place I've seen it as an organizational requirement it has been a checkbox (and definitely running afoul of the agile manifesto, which makes it doubly frustrating, when an org also says "we're agile because we do scrum" or whatever).
My conclusion after working in tech for a few years: If you don't want to play the politics game, just interview with new companies and get a new role and a significant pay bump every 1-2 years.
That's hard, I've been there too. I went into role where nothing was documented, and I built up a knowledge base to get all of the tribal knowledge out of people's heads. There were all sorts of manual scripts running "hot" on production to fix issues, very few of them documented. It made my ramp up time much harder than it should have been. And my efforts made it way easier (and safer) for the team and everyone who was hired after me. That year I got a lower performance rating.
The silver lining was that I gained skills that helped me land my next gig, along with a nice bump in pay. I responded to a cold call email from a recruiter and from that began a more fulfilling career trajectory where I was appreciated more.
I don't know anything about what you did or what your level is, but a few things to consider:
- While what you did sounds like good work and beneficial to the company / team, was it something that exceeded expectations or just a good job but expected?
- How many other engineers can do what you did? i.e. was what you did special / unique in some way?
- Did what you accomplished demonstrate abilities at the next level? A very good L5 that exceeds expectations may or may not be at the L6 level.
Especially at the more senior levels, a promotion isn't typically just about doing your current job well. The next level some times involves a slightly different skillset.
Again I know know anything about what you did or if you "deserve" a promotion, but some things to consider.
> One of the things I have noticed in both my full time jobs at this point is that my direct managers have had no idea what I do day to day.
FYI: This isn’t normal. It’s not even particularly common in the industry as a whole. It is, however, a hallmark of dysfunctional companies that are headed in the wrong direction.
If you find yourself consistently stuck under clueless managers or working in companies that reward all the wrong things, it might be worth reevaluating your choice of companies and shaking up your career a bit.
It’s not good to be stuck in dysfunctional companies for years. This is how people become disgruntled and cynical.
The unpleasant reality is that getting promotions requires a bit self-promotion. While good managers (which you apparently don't have) will clue you in on what's necessary and help out with it, the bulk of the burden is always on the employee to be able to explain their value to the company and to make sure their achievements are known and recognized.
(Taken to extremes, this can be as sociopathic as it may sound. So don't and avoid those who do.)
Don't get bitter or passive aggressive; that will only hurt your career and mental health long term. Find a new team internally, sell them on what you did and move on. Or move to a new company.
If the product was failing when you arrived, you're already in a poorly managed group anyway. No point in sticking around.
I’m in a similar spot, except I’m also the guy people come to for weird problems they don’t understand. The work I did day one is arguably one level above mine, and my first boss was on track to promote me but the little fucker quit a month before the annual review cycle and the next guy promoted way fewer people than he should have.
Now it’s been going on for so long that I’m not entirely sure how I will react if/when I do get promoted. I think we’ve gotten beyond, “about time” into some swear words. For starters they’d have to backdate the raise. I am about to start actively looking.
You often do need to leave to get a promotion. If you are not willing to leave they assume you are satisfied where you are, which is more money they don't have to pay you.
Sorry to hear this. Feeling validated and appreciated for your work is often overlooked in all career types in multiple jobs. Try to find peace with the small wins you’ve done for yourself. It sounds super impressive and something you definitely should be proud of.
I ran into the same situation at FAANG. I was explicitly told I had failed to lead a project because of my level by my direct manager. I was not named as a tech lead (which was not necessarily level dependent) of my area and had multiple coworkers ask me why.
The final product was shockingly close to my original documentation and implementation. Part of the reason for this was the core implementation was all done by me, but I actually set good enough direction that after I left the company, a year later the final product was closer to what I designed than when I left. This product is still being maintained and the core functionality is the same and has been expanded upon (that is no full rewrite). The implementation isn't ideal imo and could be improved in a variety of ways, but it works well enough for the users 2 years later.
This entire ordeal burnt me out hard enough that I took 5 months off and I'm still recovering, and I've basically given up on leveling up in a traditional tech company in anyway. People might tell me I didn't play the game right, and I didn't, but it did really drill that politics and appearance is more important than impact. Especially anything that can be made to look like indirect influence can be used to take credit. I made the mistake of trusting managers and senior engineers with my ideas and they didn't return the favor.
If you're not cut out for politics, you have two possible moves: Stay or quit. Don't threaten to quit -- but actually quit. Give them the least amount of warning possible to find a replacement before you walk out the door.
Frankly if they're not investing in you doing your job, then you shouldn't feel invested in staying.
That said, people have debts, and can't leave a job for whatever reason, so both moves are completely respectable decisions.
Building or adjusting stuff on your own is unlikely to lead to a promotion. Guiding a group while being the main and most important contributor increases your chances. Working with other teams on a critical cross-team use case, increases chances even further. The main differentiating factor here is scope and impact of work the related amount of dependencies.
For your work to be easily recognized by others, one usually requires their peers' or manager's support. This means, asking for advice from more senior peers within and outside of your team and talking in 1on1s about the solutions you developed, problems you resolved, and discussing the business impact that the changes will bring product-wise. If no one knows about the product/platform being broken or suffering from performance problems in the first place, then it will be hard for them to value that the product is now working as expected.
Eligibility for promotion highly depends on the product that you are building. If you impact a product responsible for a sizeable portion of the revenue, visibility and impact is orders of magnitude easier to get.
Further, the business impact, as defined by KPIs for the product, may need a few months to materialize and show a trend. Unless provided with sufficient observability and historical data, you may not even be able to show that the product is more reliable or stable due to changes in its architecture or performance improvements. Pouring more marketing money may lead to the same effects business wise on the top line (revenue).
Lastly, and most importantly, promotions depend on your manager. If managers are not incentivised for the development and growth of engineers they manage, but more as a function of the scope or size of the team they lead, the latter may be the easier path as team growth may occur naturally with less effort and friction on their end.
>...I spent all my time coding instead of writing about coding, and I likely won’t get promoted again this cycle.
Would your perception about the org, team and self really change if you would get promoted?
If that's the case, then you could try to promote yourself. Especially, now that you've got a concrete result. It's just to show openly to the org and team that the promotion is what you want.
Package it with some outlook about how your contribution in the new role would boost the team and how timely you feel this is in your professional growth.
I’m sorry to hear this. Please take care of your health, mentally and physically. Management usually promotes folks showing “visions” rather than those who keep their head down and make sure the plumbing works smoothly. It’s a sad state.
Have you looked around at other places while still working on this project? It sounds like they don't value you enough. That said, take care of yourself, burn out can be serious.
Save up money and work at a risky pre-Series A startup. They'd kill to have an ex-FAANG employee who can design things from the ground up, lease a project to completion, and enjoy the systems they are building.
Recently left a small startup for Google and was recently talking with someone who thought I was going for promotion. I asked if I should, they then looked at my profile and said "You've only been here X long so they won't give it to you even if you deserve it."
Completely different world. Completely different mentality.
I made a fairly popular reddit post recently on how I down-leveled my career in recent years. Each time I down-level, I get a raise in salary -- it's pretty great.
What that permitted me to learn about myself is that - at the end of the day - I just like solving interesting and challenging problems, working with colleagues as equals, and creating products and solutions that I'm proud of. I have utterly no interest any more in climbing any sorts of ladders, or "chasing" a role, position, or title because I think that'll somehow be the road to riches. Having autonomy, the flexibility to work when I'm productive and inspired (and to not work when not), and interesting/meaningful work is infinitely more important than role or salary. I also feel like I'm not the first person to come to this conclusion.
I mean at the end of the day the title is only to feed your own ego. At family gathering nobody's gonna ask you why you were Principal and now you're Staff. I find no difference between being called a "Director" or a "Manager", because the title alone tells me absolutely nothing
Reminds me of American Psycho, where everybody is a damn Vice President (reflective of the time)
It's more complex than that, though. If you're meeting with people outside your company, your title can influence how they see you. If you're meeting with a bunch of "Director" level people and you're a "Senior", they may treat you as a lesser member of the group. This can be impactful to your ability to accomplish your goals within that group at times.
> Reminds me of American Psycho, where everybody is a damn Vice President (reflective of the time)
My understanding was that this still happens as a way to get around corporate card policies (either from the company or the credit company) that prevent anyone with a lower-than-leadership title from having signature power for purchasing. Want to give someone a corporate card so they can buy their own necessities? Give them a VP title.
idk to me salary determines the level. you can't really "down level" when you get paid more. titles doesn't matter. I know for a fact a lot of people with "manager" are paid significantly less than me with my bland title, but it lets everyone sleep at night so all is well.
All the things you mentioned important to you are indeed important stuff, and you are not wrong to prioritize them. But that doesn't mean you should completely ignore the title. Think of the title as giving you more freedom to choose. By completely ignoring, you are potentially missing the extra freedom you can have in choosing your problem and team. So, I would agree you don't want to chase a title, but as a secondary nice-to-have goal, it absolutely is worth considering.
Mostly agree, but how about a person (lets say like me) who would like to offer skills in exchange for a great salary and thats it? No need for challenging problems, just the autonomy and time - thats what I would care about the most (and € ofc).
Personal motto: work for living, not live to work. Therefore: screw those titles.
“For example, a senior title at Big Tech typically expects more from an engineer than a small developer agency, a non-tech-first company, or a recently founded start-up does”
This is simply not true. Seniors at FAANG type companies simply dont do that much. Typically have a narrow specialty and a good grasp on how it fits into the larger Org’s strategy etc.
Senior engineers at a small shop do EVERYTHING. Front end, back end, DBA work, training and upleveling juniors, PM work, sales calls and client support occasionally. Also more involved in product and strategy.
> This is simply not true. Seniors at FAANG type companies simply dont do that much.
I don’t know where this myth came from, but it’s not true. Aside from the isolated stories about mismanaged FAANG departments that don’t have many responsibilities, FAANG jobs tend to have high standards and high expectations.
FAANG companies don’t pay the highest salaries without expecting high output. The engineers may not be spread thin across many domains like in a startup, but they are expected to have both broad and deep knowledge within their speciality, and to deliver work that meets the highest standards.
Having worked at both I can say this with a high degree of certainty from my experience.
Even if you have a dedicated Sr at a BigTechCo it is just a much bigger boat to move. Also I have seen people promo at FAANG for projects that would be considered trivial/part of the job at a smaller shop. Command line utilities, improved CI pipeline etc.
The gap emerges because doing everything under is vastly different than doing strategic work across multiple organizations. It's the difference between captaining a small boat versus a super carrier.
I've met Principal Engineers at Amazon who never write a line of code and barely do any mentoring (I don't like those PEs).
But I've also worked with Senior and Principal Engineers who do incredible work, mentor, truly lead. They are force multipliers, making adjustments to the course of the organization in ways that have huge benefits and gains. And if you dropped these people into a new challenge with a totally different stack and business, they'd do the same thing there too.
Have you worked at a FAANG? I'm sure it depends on company/team, but it was pretty common for externally hired senior engineers to struggle (and sometimes flame out) due to consistently high and enforced expectations, different mode of work (extremely cross-org and cross-functional) and very high ambiguity (which can also come with low handholding in fast growing areas).
I worked at Google and Microsoft and left both of them and started my own company precisely because of how hard it is to get anything done at bigger companies, and comparatively speaking Google is one of the less "bureaucratic" companies to work for with much less friction compared to the other FAANG companies.
Working at a start up company allows you to be far more productive than at a bigger company. You are not shoehorned into any particular position and you need to be able to excel at multiple areas and be able to switch gears rapidly. One month I'm using React/TypeScript to implement new front-end web pages, and then the next month I'm working on improving the green-thread scheduler we use for our backend systems in C++, and then after that I jump into Kotlin to work on the mobile version of our app. All of the developers here are able to work across the different projects and pick what areas they want to, some choose to focus just on a particular area and that's fine, but others can jump across a variety of different technologies, and as I own the company I like to get involved in a little bit of everything.
At Google, I'd be lucky to be working on one narrow facet of one of those areas over the course of a year.
Startups are absolutely not for everyone and they can lead to burn out, as is evident from many posts to HN, but for people who really want to immerse themselves in tech and want to work on a variety of different technologies I just can't see working at a bigger company comparing to it. That said it's definitely true that if I didn't have Google/MS on my resume, no one would have taken my startup seriously, so it's worth getting some experience at FAANG for the credential, and then jumping ship after a couple of years if the opportunity arises. Also there were nice things about Google as an environment, like tech talks, and I absolutely miss Testing on the Toilet. You can recreate some of that at a smaller company but the scale at which Google is able to do it is very impressive and hard to replicate. That said you can always go back to FAANG and recruiters from both companies are just an email away.
I have worked at a FAANG company and my experience was very much like the poster's. Everyone around me seemed to really heavily weight the expectations placed on folks at each level going up, but nothing was like the actual responsibility levels people had in the orgs I'd worked in before.
This has been the opposite for me. Yes I wore a ton of hats at the startups I worked at but working at big tech I’ve been exposed to scale and quality standards beyond what I was used to before. Plus my coworkers are all higher quality so it’s like being in college again and hanging out with all these smart people I’m learning from just by interacting with them.
And this is coming from someone very cynical of big tech otherwise
Sometimes it is. In my experience I was expected to do less at a start-up but to do it well. Yes, I worked across the stack and often would find myself doing varied things but instead of stacking more on in a day, it was more like quickly shifting priorities each day.
Now at a larger company I’m expected to spin many plates so to speak. I’m measured on my ability to write code, pitch projects, design architecture, manage cross functional relationships, interview many candidates a week, have company outreach of some form, mentor junior members, deal with organizational politics (this is the big draining one), participate in project reviews, run projects for new employees to work on, provide feedback to all my peers, tons of personal development planning and self-reviews, manage third-party relationships, respond to incidents and be on-call for things not related to my team, learn new things every year aka personal development, and more.
And if I fail in one of the four areas in a performance review I can be put on a performance review plan. I’m making it sound more grim than it is, but for my experience there are just more things to do and there are no compromising them.
Maybe other individuals are better at this or work with a manager that has less expectations, but this is my experience. I think I was a better programmer at the startup, but I have more organizational impact at the bigger company.
> Seniors at FAANG type companies simply dont do that much.
I initially mis-interpreted this sentence to be talking about quantity rather than roles, it seems like others here got the same impression. It’s important to recognize the part you quoted was talking about quantity and not role, and what you’re talking about is role and not quantity. It’s also important to recognize that engineers with a lot of experience are biased toward working at stable companies and not startups. From experience, I would agree with the article that the common expectation in startups very much is that you have to make do with junior developers when hiring, and if you get high quality senior engineers with a lot of experience, you’re pretty lucky.
While there’s some truth to startup roles sometimes being more broad (less focused) and big-company roles being more deep (more focused), might it be best to stick to personal experience rather than claim what a broad group of other people’s experiences is without really knowing?
As a founder with a partner in an initially 2-person company, I did only front-end while my partner did only back-end. Our dev roles were more focused than by previous big-company jobs, but we both had to do non-dev work too, of course.
As a sr/principal in a FAANG-type company, I’m doing more mentoring of juniors, more sales and support calls, and also more math & research, than I was doing with my startup. I’m also involved in product coding, algorithms, and design prototyping.
So, speaking personally, I can’t exactly confirm your view that startups are broad and big-company roles are narrow. For me, the difference is that with a startup there were some tasks that I just don’t have at a big company, like doing taxes. The other main difference is that my own company was mine, and big-company work is structured around the organization. It’s not so much a difference in the amount or the type of work, but a difference in the ownership and motivations and what success and failure looks like at any given time.
Your mileage may definitely vary, especially based on what kind of team you're in.
Senior SWE at a small company was significantly less responsibility than Senior SWE at Google. As a Senior at Google, I was doing almost everything you say a "small company" Senior does, aside from DBA work and sales calls.
I suppose if you're just a cog in the machine of some huge org like Ads or Search you might be right, but a smaller product team might look a lot more like a small company than you might realize. There is a lot of extra overhead of various sorts, but I wouldn't say the responsibilities are significantly less.
> This is simply not true. Seniors at FAANG type companies simply dont do that much. Typically have a narrow specialty and a good grasp on how it fits into the larger Org’s strategy etc.
I don't think this is true. Big techs have surprisingly many moving parts even for minor engineering projects and that complexity is the main motivation of hiring smart people from the globe. Most SWEs in big techs are generalists, not specialists.
Do you want to launch something in Google? Then good luck dealing with all the facets from general engineering to other topics like security, privacy, latency, quality, measurement, logging, scalability, redundancy, monitoring, resource management, access control, data retention, documentation, testing, release, i18n and even inclusion nowadays. Upon all the technical debts accumulated over 20 years. Oh, did I mention organizational dynamics? Usually you need to deal with 5~10 teams for getting anything non-trivial done. And it is a very fun thing to find out the current owner of very specific dependency to avoid accidental breakages.
I would politely say that that just means it is harder to get things done so you accomplish less and by definition “get less things done” at a BigTechCo
Navigating a bureaucracy is a skill. And doing so can help get things done but in and of itself it is not actually getting anything done. Getting things done at a BigTechCo definitely takes more effort.
This isn’t the case but your statement is true all the same. Smaller shops engineers DO do everything which is valuable at a small shop but is not valued at all at a large shop because it doesn’t scale. Once you’re working at scale different values surface like being able to communicate and drive consensus, focus on one (high impact) thing, and do higher leverage work. When I went from small-co to big-co I also didn’t understand what others valued and I languished a little trying to do all the things. Now I’m in the groove and look back at how much easier it was to just do all the things.
That still seems to be expecting more in terms of skill.
I have only ever worked on small teams with smallish companies in my short career, so I have had to handle everything from test to database to frontend to cloud config.
I really don't think these kinds of roles let me master anything because I am so often switching modes.
If you get to focus, you probably become more skilled very quickly.
The title rollercoaster was a great opportunity to disassociate my worth from my title. My last three jobs went something like this: started as Senior Engineer -> left as a Director; started as Manager -> left as Senior Manager; started as Manager -> left as Manager.
As just about everyone I started off caring about titles. As I moved up company tiers, my compensation was significantly higher each time, despite lower title. Downlevel in title also doesn't always mean downlevel in responsibilities - the scope of my Director role at a lifestyle business was the same as the Manager scope at a fast-growing startup. The next "step down" was a true downlevel, but such is the price you pay with FAANG. It's an opportunity to perform with lower expectations at a higher compensation.
In other words, it's a multidimensional rollercoaster and it's not recommended to be always focused on a single dimension (title).
This. Before accepting any offer, put all promises into writing. Attach milestones, even if you just make them up, i.e. salary will increase when company receives next funding round.
Send this to the employer. If they balk you know know they were just telling you what you wanted to hear. Be wary.
I'm not trying to be insulting, but none of what you wrote is realistic.
There's no such thing as putting a promise of a quick-promotion into writing. No company would agree to that, nor should they (what if you suck once you start?). And I'm highly skeptical a company will agree to a milestones-rewards plan for an individual employee.
If someone wrote such a proposal and sent it to me, I'd immediately reject them in the hiring pipeline. And I consider myself to be a very employee-friendly hiring manager.
I've noticed that unless you live in a city where one can switch jobs in under a week, not have to re-locate, or take a big hit on the commute, companies know (knew? At least pre-COVID and rise of work from home) that they have the upper hand.
Even in countries with extremely strong labor laws, companies are not shy to pull every trick in the book to drag out promotions. I've seen examples where it took close to 12 months for someone to get their promotions finalized, and thus a new tittle/higher pay. It took that long time because the employer knew they were the highest paying in the area (albeit underpaying the employees in question, due to not having received promotions in years), and very much locked to their jobs.
When people get established with a mortgage, family, and what not, it's much harder to just drop everything and move away for some extra bucks. So my advice to young devs / engineers would be to do as much career climbing as you can, before you settle down. Once a company knows there's little chance of you leaving, they'll slow down things all over.
As you get older there is diminishing returns on getting better. There is a big difference between someone fresh out of school and been there for 1 year. Between 1 and 2 years it isn't as big, but still important. Between 10 and 20 years there is very little (at 20 years you should have forgotten something that is no longer useful). By 40 years your mind is probably in decline...
This. Anytime management asks you to do some work, ask them -
"How will this play into my promotion?"
If they can't come up with tangible points, don't do the work. You are not risking anything because at this point, the manager has already decided they want to string you along.
If I had a direct report who asked me this for all the work I ask them to do, I'll have to tell them:
"All the work you do, every bit of it, plays into your promotion. I ask you to do something because it's important to the company and to us all as a team, not because it's going to specifically help you get promoted. If you deliver strong results, I will be the first to champion your promotion. But if all you care about is promotion, maybe you should start looking elsewhere."
I mean, it's perfectly fine (and expected) that I should be discussing with my direct reports how their work helps them on path to promotion. But it's not acceptable for that discussion to be a blocking question for every work item.
The thing that many folks don't understand is that it's not that "Titles don't matter", it's that "Titles don't matter when compared across companies". There's not a universal definition of say, "senior software engineer", so comparing titles across companies will always be an apples/oranges exercise.
Titles do matter, but only when in the proper context.
One area that was not discussed at length was the transition from a high tier to a medium tier. In that case the HR at the medium tier often put a lot of weight into the title. I have seen HR teams say thing like "That person was not a principal engineer in their previous job" so they need to come in at a lower level here. They (HR) often don't recognized tiers within the industry, and use titles as a proxy for skill. Many HR staff view a change in title as a direct indication of skill, and when they see someone go from 'Sr. Software Engineer' to 'Software Engineer' they assume a skill demotion. In one of my earlier companies we used the title 'member of technical staff' in a pretty broad context, and I later heard that it was problematic for some people in getting interviews in future jobs. It is stupid, of course, but also a reality.
At one of my previous employers I noticed that a few of my coworkers had created/inflated their job titles on their business cards, so I asked my manager (without naming names) if that was allowed, to which they said it was fine as long as you don't claim to be CEO.
I worked at a company that called everyone Member of the Technical Staff (were you at Cycorp too?), and I just put a more descriptive title on my LinkedIn, resume, etc. I never had a use for business cards so the issue never came up
When a big tech (or FAANG) company acquires a smaller company, it very often happens that the smaller company's employees' titles all get adjusted. SmallScrappyCo's CEO becomes the team's Senior Manager. SmallScrappyCo's VP of engineering becomes Regular Engineering Manager. I've worked directly with former Directors who suddenly became "third engineer from the left" after their company was acquired.
There ARE formal definitions of positions, title/rank, and requirements for experience and education, (as well as pay range) defined by the US Federal Government's Office of Personnel Management. These are used for determining staffing requirements in government contracting and hiring.
Most mature government contracting companies follow these standards.
In private industry, though - it's like Lord of the Flies. As far as I've seen.
Titles only matter to me when I need what they communicate.
Once, when working in a distributed team where I was going to be the lead, it was critical to me that I was "promoted" to a more senior title than the people I was working with. I didn't care what the title was, nor did I care for the money. (I didn't get a raise.)
All that mattered was that the title established who was in charge. It didn't matter what the title was.
> People who stay at the same company for a long time can get left behind compared to their peers, especially if the company does not move internal compensation bands to keep up with new offers
Right now, my office is being absolutely raided by recruiters from other companies because of this. With the switch to more remote jobs, the pay differences between geographies have gotten more level. What used to be great pay for Toronto is now good, but not great.
A lot of people who wanted promotions but weren't getting them are getting them- somewhere else, for more money.
I was downranked once when switching jobs. I had significantly more experience than the people who I was working with, including the leadership, and it showed. There were some red flags during the interviews, but because of life circumstances, I felt like I couldn't say no.
The situation didn't end well. It didn't have to, but I place that firmly on the managements' inexperience.
(Side lesson: I suspect that situations like what I encountered are why a lot of people "age out" of tech. Although many people state that "ageism is real," I think a lot of younger managers just have trouble letting go when they work with people more experienced than they are.)
Spent two years completely remaking the product I was tasked to work on, while the two other engineers on my team, both a level above me, cheered me on and didn’t do much.
I turned our product from a total waste about to be cancelled into a promising tech with some momentum, but I spent all my time coding instead of writing about coding, and I likely won’t get promoted again this cycle.
It’s been very strange to see the fruits of my labor benefit the org while feeling totally unrecognized outside of my team.
Now dealing with massive burn out for the first time in my career. Not sure what to do. I make sure to put out fires and do the bare minimum to keep up the product momentum, but I have no love for the org and just don’t think I’m cut out for the politics games.
Being under the protection of a good L6+ is essential to actually getting anything done, launching, and getting promoted at a big company. Without it, you'll find that you won't get any cooperation from other teams, your projects will get canceled, and nothing you do will ever launch.
Staff+ engineers burn out at significantly higher rates than lower levels. I know a lot of Senior engineers that are quite content to just sit there and never get promoted, because the quality of life at that level is IMHO significantly better than at higher levels. Was talking with another recently-promoted Staff engineer (I'm Staff myself), and we were lamenting that Big Tech doesn't really do demotions, because the job expectations at higher levels get progressively higher, you have progressively lower control over outcomes, and the consequences for screwing up are significantly worse.
(I'm Staff myself, but would not have got here without management responsibilities.)
Deleted Comment
I spent the last 3 years completely redeveloping the foundation of our platform which will save the company millions of dollars a year. I didn't do it alone or anything. But I started the project, was the only one to work on it full time throughout the whole project, defined the underlying architecture, and implemented most of the lowest layers. I poured all my energy into the project.
We launched beginning of this month, I was so prod of what it represented technically. A week later I was told my performance was "acceptable", I got less than my target bonus, and got a 3% raise.
I tried to quit, but relented when I was convinced not to and am now putting my unlimited vacation to work. I'm 3 days into a month I'm taking off.
Promotion is about marketing. Getting your name in a favorable light in front of the deciders, and projecting an image of "someone who is like other people who we promote." Different companies do this differently. At some of them, it's about directly brown-nosing the higher-ups. At others it's about getting in the right cool-kid clique. At others it's about playing golf with key influencers or talking about sportsball with them in the lunch room. At others, who pretend to be merit based, it's about writing docs and "evidence" of your good work, but don't be fooled, those docs are marketing material, not technical evidence. Getting promoted is a separate job skill you need to learn, just like debugging and DevOps. Except it's a skill that does not benefit the company's bottom line at all. You have to set aside time and stop doing the work that you were hired for, stop solving the technical problems, and switch gears to doing the unrelated "getting promoted" work.
Nobody in leadership or HR is going to explain it this way, of course. You kind of have to learn about it organically or listen to someone like me who had to learn it the hard way.
Developers expect that work such as "refactoring", "platform architecture", "R&D", "investing into the future" has some intrinsic value to the business. At the company level, work such as "knowledge sharing", "upskilling the team", "fixing bugs for revenue-generating products", "reassuring management" can be more impactful given their current values and roadmap. You must choose whether to spend your energy working on your priorities or their priorities. Generally, you make more money if you help other people solve their problems rather than your problems.
Or find new partnerships where the two sets overlap, but the highest-earning consultants can fall in love with solving the problems they do have, not the problems they wish they had.
How did they convince you not to? Please tell me they have offered you something concrete and haven't just made empty promises or said nice things.
(I'm running on the assumption the unlimited holiday you mentioned is company policy rather than something they've done just for you, so by "something concrete" I very specifically mean compensation - salary, bonus, maybe stock.)
So just quit after the vacation.
I've actually previously worked at a platform team for a ton of internal customers, and then at a B2B startup selling platforms - that's where you get promoted for platform development, cause platform is the product and reducing request latency or whatever is something VPs care about... in my current team I have a long list of impactful (on platform level) improvements I could make to infrastructure and libraries, engineering fundamentals, etc... that I'm not doing, cause I'm doing some boring work that will move some number, or sitting in meetings with 3 teams trying to get out a feature, that customers (or management) care about for some strange reason ;) E.g. perf work only matters when we want to save on server budget, and we have to decide to save on it beforehand, and it still doesn't matter as much as shipping some new widget or a metric change. Or e.g. I created a library for X that ended up being used by a bunch of people in a few teams (not the original goal). I am pretty sure nobody above IC level cares. All I get for that are occasional bug reports and a perception that I might be an expert at X... if the library doesn't contribute to my career via the latter, there's no other way it will :)
That being said the best way to get large raises in your company is to network and market yourself and your accomplishments LOUDLY and OFTEN. If this makes you uncomfortable then the absolute best way to get a raise overall is to leave for a new company; don't worry in two years you will be welcomed back at your current company if you want to return.
I am at the stage in my career now where I just want a solid funnel of work to rip through on technology that I enjoy working on and a competitive salary. I have a full life outside of work that brings me fulfillment and joy so I no longer need accolades and attention from work, honestly the less they notice me the happier I am! My job is for money and to keep my mind sharp, if I am unhappy I leave if I am happy I stay. I spent years climbing the ladder, learning to network and market myself and my team, sadly I learned that it was all a waste of time for me and I have more overall life enjoyment being a well thought of and compensated developer!
My two cents, it's not worth trying to get promoted. Enjoy what you do and once your RSUs have matured, start your exit by interviewing elsewhere.
This is the best advice I've seen so far.
I have refrained from playing the political game, have mostly stuck to helping people whenever they needed technical help (as it turns out, technical skills are critical when fixing things : p ) and that has lead to me being naturally included in interesting projects. If I start feeling like I'm not being asked to work on interesting things anymore, its a good sign to start looking elsewhere.
I guess I am somewhat fortunate/privileged that there are so many opportunities in tech that I don't have to play politics. Its pretty great though; its not like I can't recognize when others are playing political games, but I chose not to get involved in that world.
As a FAANG SWE, what I am reading is "I spent two years cranking out code without doing any design work. My manager and TL never suggested I write a design doc, or didn't give me opportunities to do so."
At least at my employer - where, yes, you typically need to do design work to get promoted - that shouldn't happen. It's a failure of management if it did.
To get promoted in FAANG (and many large tech companies), yes, you need to document it.
Interestingly, whether it works or not is completely unrelated to whether it's documented or not. In fact, the types of useful documentation (descriptions of how decisions were reached, known tradeoffs, API contracts, etc) often are completely different than the types of documentation management asks for (box diagrams that no one but management looks at). And the timeline for generating it is often different as well (management oftentimes asks for documentation before implementation, where such documentation runs the risk of being an incorrect blueprint; what is useful is documenting along the way).
Valuing documentation can be done well, but pretty much every place I've seen it as an organizational requirement it has been a checkbox (and definitely running afoul of the agile manifesto, which makes it doubly frustrating, when an org also says "we're agile because we do scrum" or whatever).
Sad that the incentives are set up this way.
The silver lining was that I gained skills that helped me land my next gig, along with a nice bump in pay. I responded to a cold call email from a recruiter and from that began a more fulfilling career trajectory where I was appreciated more.
- While what you did sounds like good work and beneficial to the company / team, was it something that exceeded expectations or just a good job but expected?
- How many other engineers can do what you did? i.e. was what you did special / unique in some way?
- Did what you accomplished demonstrate abilities at the next level? A very good L5 that exceeds expectations may or may not be at the L6 level.
Especially at the more senior levels, a promotion isn't typically just about doing your current job well. The next level some times involves a slightly different skillset.
Again I know know anything about what you did or if you "deserve" a promotion, but some things to consider.
There are entire weeks where I could have achieved absolutely nothing and I am not sure if it would have been noticed.
And that is probably not conducive to promotion as nobody who has power has any idea what I do.
FYI: This isn’t normal. It’s not even particularly common in the industry as a whole. It is, however, a hallmark of dysfunctional companies that are headed in the wrong direction.
If you find yourself consistently stuck under clueless managers or working in companies that reward all the wrong things, it might be worth reevaluating your choice of companies and shaking up your career a bit.
It’s not good to be stuck in dysfunctional companies for years. This is how people become disgruntled and cynical.
(Taken to extremes, this can be as sociopathic as it may sound. So don't and avoid those who do.)
If the product was failing when you arrived, you're already in a poorly managed group anyway. No point in sticking around.
Now it’s been going on for so long that I’m not entirely sure how I will react if/when I do get promoted. I think we’ve gotten beyond, “about time” into some swear words. For starters they’d have to backdate the raise. I am about to start actively looking.
The final product was shockingly close to my original documentation and implementation. Part of the reason for this was the core implementation was all done by me, but I actually set good enough direction that after I left the company, a year later the final product was closer to what I designed than when I left. This product is still being maintained and the core functionality is the same and has been expanded upon (that is no full rewrite). The implementation isn't ideal imo and could be improved in a variety of ways, but it works well enough for the users 2 years later.
This entire ordeal burnt me out hard enough that I took 5 months off and I'm still recovering, and I've basically given up on leveling up in a traditional tech company in anyway. People might tell me I didn't play the game right, and I didn't, but it did really drill that politics and appearance is more important than impact. Especially anything that can be made to look like indirect influence can be used to take credit. I made the mistake of trusting managers and senior engineers with my ideas and they didn't return the favor.
Frankly if they're not investing in you doing your job, then you shouldn't feel invested in staying.
That said, people have debts, and can't leave a job for whatever reason, so both moves are completely respectable decisions.
For your work to be easily recognized by others, one usually requires their peers' or manager's support. This means, asking for advice from more senior peers within and outside of your team and talking in 1on1s about the solutions you developed, problems you resolved, and discussing the business impact that the changes will bring product-wise. If no one knows about the product/platform being broken or suffering from performance problems in the first place, then it will be hard for them to value that the product is now working as expected.
Eligibility for promotion highly depends on the product that you are building. If you impact a product responsible for a sizeable portion of the revenue, visibility and impact is orders of magnitude easier to get. Further, the business impact, as defined by KPIs for the product, may need a few months to materialize and show a trend. Unless provided with sufficient observability and historical data, you may not even be able to show that the product is more reliable or stable due to changes in its architecture or performance improvements. Pouring more marketing money may lead to the same effects business wise on the top line (revenue).
Lastly, and most importantly, promotions depend on your manager. If managers are not incentivised for the development and growth of engineers they manage, but more as a function of the scope or size of the team they lead, the latter may be the easier path as team growth may occur naturally with less effort and friction on their end.
Would your perception about the org, team and self really change if you would get promoted?
If that's the case, then you could try to promote yourself. Especially, now that you've got a concrete result. It's just to show openly to the org and team that the promotion is what you want.
Package it with some outlook about how your contribution in the new role would boost the team and how timely you feel this is in your professional growth.
This is the norm in my company, and I suspect many others.
I've been in a similar situation in the past and finding a different job solved the problem
Recently left a small startup for Google and was recently talking with someone who thought I was going for promotion. I asked if I should, they then looked at my profile and said "You've only been here X long so they won't give it to you even if you deserve it."
Completely different world. Completely different mentality.
Did you skill up? Switch jobs asap. Get yourself a 20% raise.
Deleted Comment
What that permitted me to learn about myself is that - at the end of the day - I just like solving interesting and challenging problems, working with colleagues as equals, and creating products and solutions that I'm proud of. I have utterly no interest any more in climbing any sorts of ladders, or "chasing" a role, position, or title because I think that'll somehow be the road to riches. Having autonomy, the flexibility to work when I'm productive and inspired (and to not work when not), and interesting/meaningful work is infinitely more important than role or salary. I also feel like I'm not the first person to come to this conclusion.
Reminds me of American Psycho, where everybody is a damn Vice President (reflective of the time)
Reflective of the industry, really. It’s still that way in banking.
My understanding was that this still happens as a way to get around corporate card policies (either from the company or the credit company) that prevent anyone with a lower-than-leadership title from having signature power for purchasing. Want to give someone a corporate card so they can buy their own necessities? Give them a VP title.
It's a little cheeky and at times a little hyperbolic, but I stand by it.
Quote from TFA "For those in an underrepresented group, titles make a world of difference in establishing credibility."
This is simply not true. Seniors at FAANG type companies simply dont do that much. Typically have a narrow specialty and a good grasp on how it fits into the larger Org’s strategy etc.
Senior engineers at a small shop do EVERYTHING. Front end, back end, DBA work, training and upleveling juniors, PM work, sales calls and client support occasionally. Also more involved in product and strategy.
I don’t know where this myth came from, but it’s not true. Aside from the isolated stories about mismanaged FAANG departments that don’t have many responsibilities, FAANG jobs tend to have high standards and high expectations.
FAANG companies don’t pay the highest salaries without expecting high output. The engineers may not be spread thin across many domains like in a startup, but they are expected to have both broad and deep knowledge within their speciality, and to deliver work that meets the highest standards.
Even if you have a dedicated Sr at a BigTechCo it is just a much bigger boat to move. Also I have seen people promo at FAANG for projects that would be considered trivial/part of the job at a smaller shop. Command line utilities, improved CI pipeline etc.
I've met Principal Engineers at Amazon who never write a line of code and barely do any mentoring (I don't like those PEs).
But I've also worked with Senior and Principal Engineers who do incredible work, mentor, truly lead. They are force multipliers, making adjustments to the course of the organization in ways that have huge benefits and gains. And if you dropped these people into a new challenge with a totally different stack and business, they'd do the same thing there too.
I hope to someday be one of those people.
Working at a start up company allows you to be far more productive than at a bigger company. You are not shoehorned into any particular position and you need to be able to excel at multiple areas and be able to switch gears rapidly. One month I'm using React/TypeScript to implement new front-end web pages, and then the next month I'm working on improving the green-thread scheduler we use for our backend systems in C++, and then after that I jump into Kotlin to work on the mobile version of our app. All of the developers here are able to work across the different projects and pick what areas they want to, some choose to focus just on a particular area and that's fine, but others can jump across a variety of different technologies, and as I own the company I like to get involved in a little bit of everything.
At Google, I'd be lucky to be working on one narrow facet of one of those areas over the course of a year.
Startups are absolutely not for everyone and they can lead to burn out, as is evident from many posts to HN, but for people who really want to immerse themselves in tech and want to work on a variety of different technologies I just can't see working at a bigger company comparing to it. That said it's definitely true that if I didn't have Google/MS on my resume, no one would have taken my startup seriously, so it's worth getting some experience at FAANG for the credential, and then jumping ship after a couple of years if the opportunity arises. Also there were nice things about Google as an environment, like tech talks, and I absolutely miss Testing on the Toilet. You can recreate some of that at a smaller company but the scale at which Google is able to do it is very impressive and hard to replicate. That said you can always go back to FAANG and recruiters from both companies are just an email away.
And this is coming from someone very cynical of big tech otherwise
Now at a larger company I’m expected to spin many plates so to speak. I’m measured on my ability to write code, pitch projects, design architecture, manage cross functional relationships, interview many candidates a week, have company outreach of some form, mentor junior members, deal with organizational politics (this is the big draining one), participate in project reviews, run projects for new employees to work on, provide feedback to all my peers, tons of personal development planning and self-reviews, manage third-party relationships, respond to incidents and be on-call for things not related to my team, learn new things every year aka personal development, and more.
And if I fail in one of the four areas in a performance review I can be put on a performance review plan. I’m making it sound more grim than it is, but for my experience there are just more things to do and there are no compromising them.
Maybe other individuals are better at this or work with a manager that has less expectations, but this is my experience. I think I was a better programmer at the startup, but I have more organizational impact at the bigger company.
I initially mis-interpreted this sentence to be talking about quantity rather than roles, it seems like others here got the same impression. It’s important to recognize the part you quoted was talking about quantity and not role, and what you’re talking about is role and not quantity. It’s also important to recognize that engineers with a lot of experience are biased toward working at stable companies and not startups. From experience, I would agree with the article that the common expectation in startups very much is that you have to make do with junior developers when hiring, and if you get high quality senior engineers with a lot of experience, you’re pretty lucky.
While there’s some truth to startup roles sometimes being more broad (less focused) and big-company roles being more deep (more focused), might it be best to stick to personal experience rather than claim what a broad group of other people’s experiences is without really knowing?
As a founder with a partner in an initially 2-person company, I did only front-end while my partner did only back-end. Our dev roles were more focused than by previous big-company jobs, but we both had to do non-dev work too, of course.
As a sr/principal in a FAANG-type company, I’m doing more mentoring of juniors, more sales and support calls, and also more math & research, than I was doing with my startup. I’m also involved in product coding, algorithms, and design prototyping.
So, speaking personally, I can’t exactly confirm your view that startups are broad and big-company roles are narrow. For me, the difference is that with a startup there were some tasks that I just don’t have at a big company, like doing taxes. The other main difference is that my own company was mine, and big-company work is structured around the organization. It’s not so much a difference in the amount or the type of work, but a difference in the ownership and motivations and what success and failure looks like at any given time.
Senior SWE at a small company was significantly less responsibility than Senior SWE at Google. As a Senior at Google, I was doing almost everything you say a "small company" Senior does, aside from DBA work and sales calls.
I suppose if you're just a cog in the machine of some huge org like Ads or Search you might be right, but a smaller product team might look a lot more like a small company than you might realize. There is a lot of extra overhead of various sorts, but I wouldn't say the responsibilities are significantly less.
I don't think this is true. Big techs have surprisingly many moving parts even for minor engineering projects and that complexity is the main motivation of hiring smart people from the globe. Most SWEs in big techs are generalists, not specialists.
Do you want to launch something in Google? Then good luck dealing with all the facets from general engineering to other topics like security, privacy, latency, quality, measurement, logging, scalability, redundancy, monitoring, resource management, access control, data retention, documentation, testing, release, i18n and even inclusion nowadays. Upon all the technical debts accumulated over 20 years. Oh, did I mention organizational dynamics? Usually you need to deal with 5~10 teams for getting anything non-trivial done. And it is a very fun thing to find out the current owner of very specific dependency to avoid accidental breakages.
Navigating a bureaucracy is a skill. And doing so can help get things done but in and of itself it is not actually getting anything done. Getting things done at a BigTechCo definitely takes more effort.
I have only ever worked on small teams with smallish companies in my short career, so I have had to handle everything from test to database to frontend to cloud config.
I really don't think these kinds of roles let me master anything because I am so often switching modes.
If you get to focus, you probably become more skilled very quickly.
I could see why some at smaller companies would believe that, or rather prefer to believe that.
As just about everyone I started off caring about titles. As I moved up company tiers, my compensation was significantly higher each time, despite lower title. Downlevel in title also doesn't always mean downlevel in responsibilities - the scope of my Director role at a lifestyle business was the same as the Manager scope at a fast-growing startup. The next "step down" was a true downlevel, but such is the price you pay with FAANG. It's an opportunity to perform with lower expectations at a higher compensation.
In other words, it's a multidimensional rollercoaster and it's not recommended to be always focused on a single dimension (title).
Send this to the employer. If they balk you know know they were just telling you what you wanted to hear. Be wary.
There's no such thing as putting a promise of a quick-promotion into writing. No company would agree to that, nor should they (what if you suck once you start?). And I'm highly skeptical a company will agree to a milestones-rewards plan for an individual employee.
If someone wrote such a proposal and sent it to me, I'd immediately reject them in the hiring pipeline. And I consider myself to be a very employee-friendly hiring manager.
Even in countries with extremely strong labor laws, companies are not shy to pull every trick in the book to drag out promotions. I've seen examples where it took close to 12 months for someone to get their promotions finalized, and thus a new tittle/higher pay. It took that long time because the employer knew they were the highest paying in the area (albeit underpaying the employees in question, due to not having received promotions in years), and very much locked to their jobs.
When people get established with a mortgage, family, and what not, it's much harder to just drop everything and move away for some extra bucks. So my advice to young devs / engineers would be to do as much career climbing as you can, before you settle down. Once a company knows there's little chance of you leaving, they'll slow down things all over.
If they can't come up with tangible points, don't do the work. You are not risking anything because at this point, the manager has already decided they want to string you along.
"All the work you do, every bit of it, plays into your promotion. I ask you to do something because it's important to the company and to us all as a team, not because it's going to specifically help you get promoted. If you deliver strong results, I will be the first to champion your promotion. But if all you care about is promotion, maybe you should start looking elsewhere."
I mean, it's perfectly fine (and expected) that I should be discussing with my direct reports how their work helps them on path to promotion. But it's not acceptable for that discussion to be a blocking question for every work item.
Manager: I got this PagerDuty alert about the RefactoredRubeGoldberg System, can you look into it?
Report: Sure, how will this help me get promoted?
Manager: If you don't do this, then you won't get promoted.
You should periodically bring this up to your manager in the 1:1 meetings when you go over your projects that you are working on.
Titles do matter, but only when in the proper context.
Most mature government contracting companies follow these standards.
In private industry, though - it's like Lord of the Flies. As far as I've seen.
Once, when working in a distributed team where I was going to be the lead, it was critical to me that I was "promoted" to a more senior title than the people I was working with. I didn't care what the title was, nor did I care for the money. (I didn't get a raise.)
All that mattered was that the title established who was in charge. It didn't matter what the title was.
Right now, my office is being absolutely raided by recruiters from other companies because of this. With the switch to more remote jobs, the pay differences between geographies have gotten more level. What used to be great pay for Toronto is now good, but not great.
A lot of people who wanted promotions but weren't getting them are getting them- somewhere else, for more money.
The situation didn't end well. It didn't have to, but I place that firmly on the managements' inexperience.
(Side lesson: I suspect that situations like what I encountered are why a lot of people "age out" of tech. Although many people state that "ageism is real," I think a lot of younger managers just have trouble letting go when they work with people more experienced than they are.)