I’m not sure the author had a real point here. I’d love some hard data on how many people are pivoting to canned food companies after FAANG life
I’m not sure the author had a real point here. I’d love some hard data on how many people are pivoting to canned food companies after FAANG life
I now work at a small company (~22 people) making less money but with no expectation of OT or weekend pushes. Nobody’s ever heard of the company and that’s fine. I took the position to coast for a bit and found out I really like the vibe. I’ve been there for five years later this year.
I have the luxury of being able to be paid less (no dependents), but boy is it great. Post-FAANG I have nothing to prove to anyone (including myself). I just want to pay bills and have a life. This gives me that.
I have two furry friends again and plenty of time to dote on them.
You value the right things. Congrats.
IMO it's the small startups and certain industries that have crunch.
The hardest part about FAANG is the fucking leetcode when you change jobs. IMO working at a FAANG is the most optimal place to be if you want to put on the slippers, have a good work life balance and get paid the most.
Do all FAANGs do this? Or did we just happen to work at the same one?
Isn’t the “rationale” for leetcode that they dont know you and as far as they can tell, you copy pasted all your open source code from SO, so there is no other way to prove that you can actually write code than to take a leetcode? But if you’re already working there, couldn’t you (bear with me because this is a little crazy) just point in the general direction of the code you’ve worked on at said org and ask your colleagues or manager for their opinion on how much of that was copy pasted from the internet?
FWIW, I typically decline code challenges. I have ample open source code that’s commented, publicly visible, and tested. I’ll sometimes humor them if I like the team and it really takes an hour or less to complete (note that when they say an hour it really means 4–8h, so I assess it myself). But otherwise, I point at my open source code, offer to pair on a feature/bug on these OSS projects, or drop out of the pipeline if it’s not acceptable to them.
Same with quoting a salary number or salary history: if they ask I decline to answer and if “the software won’t let me continue without” I offer to fix their software and drop out of the pipeline if “tbd” or “1” won’t work.
I work fully remote. I rarely work past 5pm. I have worked on a weekend I think one time in 10 years. I have had one "urgent problem, VP on the phone" situation in 10 years. I happily take off time in the middle of the day to handle various errands (vet appointments, etc). "I will have the time and energy to make dinner for my family every single day" was one of the first things I mentioned to my manager upon joining. All this despite managing a team and being the final escalation point for a fairly critical system.
Partially because maybe if they weren't seen as a 10x developer at FAANG with the competition all trying to make the next promotion, they surely might be close to one in any other company depending upon how good/bad that company's hiring has been (often terrible).
Many F500 companies have crummy tech stacks and lousy in house developed systems that would be better replaced with counterpart open source systems. An ex-FAANG worker in the right job might be able to be a 10-100x force multiplier, just by building the right tech to make other developer's job simpler.
For better or worse, in a lot of tech companies, tech wins hands-down. It has to be the "right" kind of tech (suggesting pragmatic but old-school solutions not fitting the current groupthink might not pan out), but generally, tech nevertheless works (maybe because there are enough resume-driven-developers that regardless of management/politics concerns, pushing for the right tech will always get enough people on your side to win).
In legacy companies, tech alone won't get you very far regardless of its merits - if anything it's the opposite. "Too much" tech will actually be seen as a threat and you may encounter roadblocks, because the tech you're proposing is too good and will threaten some entrenched positions or entire departments within the company.
If you want to succeed as a tech guy in a big legacy company as an employee, you need to stay within your lane and not push the boundaries - the boundaries you are being given (explicitly - or implicitly as in "why hasn't this been done before? this seems so easy") are there for a reason and are there to protect some position(s), and unless you have a direct relationship with the CEO and/or investors, you are unlikely to win this battle (it took me a firing to actually understand that). Remember that you may be hired to provide business value as much as you could be hired to be a number on some manager's direct report's list where your only true job is to pad that list and otherwise not rock the boat too much.
On the other hand if you determine the limits and manage to automate day-to-day tasks well or at the very least automate the BS and make your workday enjoyable, it can be a nice cushy job that only require a couple hours a day - not to mention that doing the right favours to the right people will give you good career progression (if the company itself appears to be on solid foundations). Of course, please do any of the juniors a favour and try to explain them these dynamics in private, so they don't shoot themselves in the foot early and get fired by threatening some high-up position/department.
TLDR: don't join a legacy company because of passion, but join it if you're ready to put morals/perfectionism aside and make a decent bit of dough. The reason their tech is so shit is not because of lack of skills or money but because a lot of existing money depends on nobody having those skills. If you can operate within that environment you will have a good time.
The firing itself was over a stupid misstep outside of my domain of expertise and also wasn't of any consequence to the business, which IMO means that it should outright be forgiven or at the very least downgraded to a formal warning considering I was otherwise on good standing (or at least I thought so).
The problem was that I was questioning and pushing back against a supposedly "technical" decision that even after 5 more years of expertise still feels correct - however by now I realized that the whole reason behind the decision wasn't a technical one but to farm out business to some high-up person's friends' company back in their home country. Tech-wise, this decision wouldn't have improved the supposedly-claimed problem (according to tickets and meetings) one bit.
The mistake I did was just a convenient excuse for a firing, but overall it worked out both ways - they eventually got a lucky exit (and I'm sure whoever was involved in that scheme also benefited even earlier regardless of the exit), and I got to learn a decent lesson about office politics to carry with me in my freelancing career (I didn't have any stock options or any good money on the line anyway, so no hard feelings and I still got a good reference).
Do you mean "positions" as in roles or jobs? If so, why would it be a goal for the company to keep people around that can be automated away? That seems opposite to their duty to their shareholders. Am I misunderstanding or missing something?
The explanation that I always use is that in a small company, the feedback loop all the way up to the CEO and/or investors is short enough that any misbehaviour from employees for their own interests will be easily detected, so it doesn't happen.
In a big enough hierarchy however, the feedback loop can span decades of real-world results, so middle-managers can make decisions that are detrimental to the long-term performance of the firm but gain them short-term results (from which bonuses and promotions are derived), not to mention plausible-deniable "money under the table" that is still technically a "bonus" though off-the-company-books. By the time the long-term impact of the decision comes to light (if it ever does), they would've long since moved on or even retired.
Therefore, in a big company, you need to keep in mind that people may not act within the firm's best interests if they know they can get away with it, and you may merely be a pawn within their chessboard - in which case they're happy to pay you to keep you around but you need to move exactly as they say and not rock the boat too much.
And I'm not even talking of outright blackmail where multiple high-standing people within the company could have dirt on each other (or at least pretend to?) and thus cooperate with each other because any defection means mutually-assured destruction.
1) if there is a regulatory reason behind "protectionism" of some employees/departments, why not outright announce it to the rest of the company?
2) if you're saying that someone that wages "civil war" against other employees is bad regardless of their motivations, what would be your alternative for someone genuinely knowing the best long-term outcome for the company but otherwise lacking the necessary connections to play "puppet master" behind the scenes or pass money under the table to influence the right people?
Yes, an individual going alone against entrenched powers will feel an unpleasant burning sensation.
Still, at times an entire department is already looked at as a black sheep. A key hire can just provide “cover” for what most people in the organization already know. The new blood might not tread lightly. It can work, if the attack dog has cover and support. This has the added benefit of providing a ready to burn scapegoat if the “excision” / reorg doesn’t go well.
P.S. Need more mixed metaphors?
> The reason their tech is so shit is not because of lack of skills or money but because a lot of existing money depends on nobody having those skills.
Are you summarizing what you wrote earlier in your comment? Or generalizing? I’m not following and/or skeptical of this characterization.
In my experience with large organizations, the lacking quality of technology tends to result from:
- hiring outsiders (often contractors but sometimes corporate IT teams) to build things
- the outsiders have little incentive to build it well to solve long term problems
- the managers hiring the outsiders don’t really understand the technology domain well enough
Put another way:
A. the people who build software “solutions” for internal business processes may be the only ones who appreciate how complex and messed up these processes are.
B. If they are not compensated nor respected properly, and don’t stick around for future iterations, how is the next version going to be significantly better?
In large, established companies, a lot of processes that could nowadays be replaced by software and automation are done by people. Some of those people are senior employees and/or have a manager whose standing within the company depends on the number of people they manage. Some of those people may even have "money under the table" relationships with vendors of subpar solutions that will be jeopardized by a new in-house solution being developed.
The feedback loop in large companies is long enough that individual employees can make decisions that are beneficial to their individual situation at the expense of the firm's profitability, but that fact will only come to light in so long that by that time they will have moved on or retired.
Therefore the reasons behind tech being shit at large companies is typically a blend of:
* nobody within the company having enough expertise to truly vet the people/consultancies they're hiring, resulting in lackluster results
* people within the company know (or eventually realize) that the people they've hired are competent enough to put them out of a job, so they give them intentionally-sabotaged instructions to deliver something subpar as to protect their job
* the working conditions, pay and/or working conditions within the company are so bad that nobody competent enough to make a change walks through the door, so the only people that do walk through that door wouldn't be able to make an improvement even if there were no other roadblocks in the way.
In general, in my opinion, it is a combination of all these factors. Incompetence of the incoming talent is a big one (that benefits the people relying on the status-quo), but should there be a breakthrough employee that can actually make a difference, he will be stopped because of the other reasons (otherwise he'd put many people in a tricky situation and they don't want that).
In consulting work I find myself asking the question, “is this limitation technical or is it a business decision?” If it’s technical I can offer solutions or workarounds, but if it’s to avoid an entry level product eating the high end version’s lunch, I won’t waste my time.
It has been very difficult to adjust to the culture personally. On the one hand, I hardly have any work. On the other, I am struggling with the meaningless work assigned to me. The tech is abysmal, but given the culture, it's not worth dying on this hill. Countless people have tried before. You can accept it or move on.
I am staying around because of the economic environment. The upside is that I am free to work on my side projects because my IP clause is strictly related to work only. I don't expect much else because it can't offer any other than words.
I don't think your random FAANG worker could show up somewhere and just "build the right tech" on their own, especially in a not so good team. There are some very strong SWEs, but the average one isn't a super star. My experience working at a FAANG is that everyone in my team is good (able to solve problems, hard working, good foundational CS knowledge), and there may be 1-2 very strong ones who really make things happen. Also, a lot of the skills we develop are with our own internal systems, I don't know how easily it would transfer to open source world.
In my previous company, there were some good engineers, but also some mediocre ones. This led to a lot of bikeshedding, wasted time trying to convince people, to review bad codes and so on. What I'm trying to say is that a very good engineer may not be able to unlock their potential in bad team, unless they also have good leadership skills.
Where “close enough” means build 80% with 20% effort. Or even 20% solution with a day of effort. Whatever makes sense in the new environment (which doesn’t need to scale to billion active users, for example)
The top 10% at FAANGs are game changers, and having them in any company would probably accelerate them. I've worked with some really extra ordinary, high-output engineers that were brilliant.
The rest of the 89% are very, very ordinary. I'm at a FAANG and the vast majority are exactly like every other SWE I've worked with in my career. There's nothing special about them. I'm currently working with some of the laziest, dumbest SWEs in my career despite their employment at a FAANG.
So to those that think FAANG is some badge of honor, don't believe the hype, I don't think FAANG employment is a meaningful signal at all.
How are Carmack's SRE/Devops skills?
Carmack or Cerf probably would not make it through the levelling at Google. They are at a Distingushed engineer level.
I honestly think FAANG employees sank their own boat. The constant bragging of how little work the do in a week on anonymous forums, and the "day in the life" videos that show everything but work. Despite their bragging about being 10x, I don't see any proof of it.
The 1% of SWE though are very good (especially older employees with years of experience e.g. Rob Pike). The rest of the 89%, as you say, are mediocre at best. A Google employee in 2010 is not the same as a Google employee in 2020.
You're unlikely to see a resume of a distinguished engineer from Google cross your stack of resumes.
For a bit of a blast from the past: https://www.joelonsoftware.com/2006/09/06/finding-great-deve...
Every hiring process I’ve been apart of (FAANG to startups) is an exercise in mostly measuring intelligence and empathy. That’s a long way of saying smart people aren’t limited by in house systems or open source ones. They’ll figure it out in a few days.
From my experience they often have no idea how to deal with the typical corporate IT and the lack of ready to go infrastructure.
That's just an excuse and concealment of the real reason(s). If there's a will there's a way. It takes 5 minutes to open any could provider (or dedicated server host) account and all it needs is a credit card and billing address.
A single person has only 8h a day (usually) to do anything, a great leader has many more hours than that. I'd say even FAANG employees who are top at their field aren't necessarily good with this skillset.
I don't get this common/popular notion where just because you lose a lucrative job or opportunity that suddenly you become poor. What happens to all that accumulated $? Does it just go away? I think we want to believe that it does because it gives us comfort knowing that some sort of balance has been restored to the universe--that people have are so successful have to be reset to zero.
People who lose their FANG jobs are still going to be in a better position, all else equal. Maybe they are in a better position by virtue of having more money and being more qualified or smarter, making finding a new job easier.
It may not have been there in the first place. Lifestyle inflation is a thing.
Granted, the average FAANG salary is higher than that, but still I think the general public seems to think FAANG workers are richer than they actually are.
Most FAANG workers are solidly comfortable. But not independently wealthy.
In the meantime, the stuff that keeps the world spinning was written by some normie 30 years ago in RPG.
This is the way all code should be written IMO.
Hard to argue this and keep a straight face when JS is one of the most popular la gauge these days though :(