Often refers to the "Big 5": Google, Meta, Amazon, Apple, and Microsoft. They have all broken the 1 trillion dollar mark at some point and are premier career destinations for software engineers.
I’m an E5 iOS engineer at a Big Tech company. An E5 Android engineer (let’s call him A) on my team is very direct & blunt in his communication style. If he doesn’t like something, he’ll definitely let you know. An E5 backend engineer (let’s call him B) on my team is the complete opposite in his communication style. A and I collaborated on an official spec that we shared with our entire team to align everyone. B deviated from this spec in his RFC, but had tagged A and me on his proposed name change in the sample json response in his backend RFC.
A called B “sloppy” for embedding the source of truth in the backend RFC’s sample json response instead of using the official spec as the source of truth. This offended B, who viewed it as “finger pointing”. From B’s perspective, it was an innocent misunderstanding that’s easily resolved since it’s so early in the project that not much code has been written. It’s a single string that can be easily changed on both the mobile and backend sides. B thinks that A is making a mountain out of a molehill.
I worked closely with B last quarter and really enjoyed it. He’s extremely kind, easy-going, encouraging, and puts you at ease. If you make a mistake, he would never call it out explicitly. A seems to be the complete opposite of all those things, but I haven’t worked much with A yet.
Both A and B vented to me privately for support. A thinks that B is “sloppy” for burying the changes in the backend RFC instead of updating the official spec. B thinks that A is “difficult to work with” and “points fingers” over something that can be easily resolved. We’re still in the early stages of this project, and B doesn’t know how he can work with A if A keeps finger pointing.
When I suggested that A sugarcoat the “sloppy” comment, A told me that’s already the sugarcoated version.
B’s planning to escalate this to our EM, since he suspects that A will as well, so he needs to “defend himself”. Any advice on how I can improve the situation? Sadly, I feel that most engineers at this company use A's "direct" approach. I personally get along fine with both of these individuals (so far, at least), so they both confided in me. I think that A is “right” that the source of truth should be in the official document, but the manner that he communicated it could have been improved (not that I’m an expert at this skill either!). Are there concrete actions that I can coach A on to make him a better teammate to work with? When another teammate (E6) previously berated B in front of the entire team, I escalated it to my EM on B's behalf and my EM had intervened. Should I just escalate this to my EM as well? There are some strong personalities on this team that are going to make this project challenging. Sigh.
I’m a female engineer (E5) at a Big Tech company. I worked closely with a male colleague on the same team for a while. He’s also E5. After our team’s manager resigned, there was a re-org and we ended up on different teams. His team had some attrition, so he recently asked if I would like to join his team. I’m happy with my current team, so I said no.
Over time, there’s been a growing undercurrent of very personal questions and crossing of professional boundaries.
Some questions he had asked me (he asked these very aggressively and kept pushing for answers when I gave hand-wavy responses to some of them):
Moreover, he keeps asking me to meet him in-person. Back when we were on the same team, I had skipped our in-person offsites due to COVID worries. I’ve never met him in-person, and am now extremely hesitant to. My spidey senses are going off.
He also asked me to communicate via WhatsApp instead of our company slack. Then he sent me a TikTok video with a sexual innuendo. When he recently asked me to use a non-company Zoom account to zoom, I declined and said that I don’t want any more sexual jokes. When he asked me if I’ll report him to HR, I asked him to keep things professional.
We’re in the same org, so I may need to work with him at some point. How do I enforce professional boundaries here? I don't want to go to HR unless absolutely necessary.
I am a backend engineer with 3 years of experience at a Fortune 500 company and I am planning to apply to Big Tech. I can fill the experience section with bullet points listing things I have accomplished on my team. Should I still include a personal project on my resume? Will it count against me if I do not include a projects section?
After working for 5 years in startups and small companies, this is my first time in BigTech. I constantly feel that while I am able to get tasks done, I still lack in fundamentals. This sometimes leads to embarrassing situations where I am not able to answer basic questions during normal conversations.
I would really like to not only brush up but master my fundamentals of being a software engineer.
If we were to make a list of fundamentals that strong software engineers have mastered, what would that list look like?
I'm an E5 iOS at a Big Tech company. My team has some E6 work that I'd love to take on, but my PM prioritized some E4 work above it. Since the only other iOS engineer on my team is E6, my EM asked me to take on the E4 work while the E6 works on the E6 work. The E4 work is scoped to about a month's worth of work, but I worry that scope creep may drag things out further. I've been at this company for close to 3 years on various teams. For the majority of that time, I've been saddled with E4 work (and sometimes even E3 work) that has taken valuable time away from working towards E6. I was hired as an E5. Is there a way to avoid spending time doing lower-level work to focus on getting to the next level? For what it's worth, I got Exceeds on my latest performance review.
In fast-paced organisations that launch a lot of features on a quarterly basis and teams with large sizes, how should a tech lead or team members ensure that everyone knows about everything or is enabled to get to know about it?
Quite often, whenever a new feature comes in, it could be repurposing technology built for other features as well. But, given the pace at which these are developed, it is often hard to know what everyone is working on. Sometimes, each of these features may have idiosyncracies that may be getting missed out by new joiners, especially due to the volume of information, especially for teams that have been in existence since a long time.
I recall once when changes for a new feature done by a developer reverted some conditionals for an older feature, thus causing an outage. How do you prevent this and ensure knowledge of everything is available to all, especially to people new to an organisation?
Also, are there some general practices to ensure that these are easily discoverable? Video recordings are time consuming to go through, and wikis though they exist, are sometimes difficult to navigate, when you don't know what you are searching for? I am thinking of something like a mind map could help here, but what are your thoughts?
I initially looked out for an opportunity because I was not really satisfied with the role and compensation.
I landed an opportunity in a mature product company
My current org matched the compensation and the role.
Still, with yoe I have and the state of the team and product we are building I feel I deserve much better.
It's been just six months since I joined. I aim for MAANG and that's why I feel unsettled.
What does a typical day working as a software engineer (say mid-level) in FAANG look like? I know there are at least 2 important variables, namely a) the person (how good they are at managing time, how motivated they are, how good their technical and soft skills are, etc.) and b) the team and company they are on.
I'm curious about the nitty-gritty of it, namely how much time is spent coding, how much time in meetings, how much time for breaks and lunch, how common is it to work overtime, etc. I'm looking for both the good and the bad, not the shiny, social-media-friendly videos made by people.
I have read time and again (including from Alex) that many if not most FAANG engineers work evenings and weekends. I just read that today from an ex-Facebook LinkedIn influencer I follow who was talking about his own 1 (unpleasant) year there.
I know my question might be so broad as to be meaningless given the number of engineers and situations there are, but if I can get the day of "Joe or Jane average FAANG engineer" who spends 2-3 years and then leaves, that's what I'm looking for. Not the talented and ambitious few who are able to work long and smart and able to rise up the ranks to staff.
Just want to say thank you to Rahul and Alex for creating this platform. I’ve gone through almost all of the free content and have found it very valuable in performing at my day job.
For my question:
I’m interested in getting into a Tier-1 company and have tried interview preparation on my own using NeetCode 150, Structy, etc., but am interested in a more structured learning approach. I have failed a couple of interviews and think half is due to anxiety/freezing up and the other half is inexperience with DSA. I have found it difficult to have the discipline to study after work and am interested in making a financial investment to facilitate this process. Also, I am looking to be more comfortable with the interview process through mock interviews.
I am currently trying to decide which platform to use to get an offer for a DE role at Tier-1. I’m deciding between Formation and Interview Kickstart.
Do you have any opinions on the quality of either program? For context, my current role consists of data engineering work but my role is a software engineer. Formation does not have any data eng specific content so I was thinking about IK. Do you think the quality of formation DSA outweighs the fact that I could learn some domain knowledge through IK? I’m currently enrolled to do to the trial with IK this week to see how the course is, but am still open to enrolling in formation. For DE roles, is DSA enough through formation and then I could supplement with SQL questions?
I know you guys just partnered with formation so you may be biased. Thank you in advance for your advice.
I'm defining a career path for my company, and don't know where to start. I would like to see how Meta, Google are doing this so that I can tailor to match my smaller company.
As the title says, I’m stuck as an entry level engineer in FAANG for almost 4 years now. I’ve been reflecting on what I’m doing wrong.
My first company I worked for 1 year and didn’t not like it because the lack of mentorship. I joined and my questions never got answered, the tech lead didn’t really care about giving mentorship, just gave me links and bug IDs. I was able to survive for 1 year but I left the company because I felt so lost. My manager mentioned that I was “on track” to getting promoted but I hated the culture.
Then worked for 1.9 years on another company, where I received awards for my projects and contributions. I did receive mentorship here, but I was not able to get promoted. At the end of the timeline my manager mentioned I was moving slower and slower. I was working as a full stack and I believe my error here was not playing my strengths, since every time I had to take another project it would be on a different area, such as server on a language I never used before. I had a few discussions with my tech lead and I felt I lost my team trust because they would give a lot of comments, and just get a lot feedback from other people. This kinda demoralized me and made it hard to keep working so I changed teams. My last team I worked for 8 months before getting laid off. Here I also received recognition for my projects. My first project I missed the deadline because the onboarding had nothing to do with my project. I integrated our tool with an external team, so most of the code base I worked was not even ours (the techlead and team didn’t have much knowledge). Then I was given another project where I was starting to get traction, onboarding and project matched, I had to ramp up again on the new tech stack and my manager was getting frustrated with me, my team was very helpful and I was slowly to become independent. I feel like people trusted me here and code reviews would go smooth this time, at the end I was finally getting positive feedback, but was affected by the layoffs. From reflecting, here is what I did wrong:
Not communicating well enough my work with my managers. Status updates I was blocked/learning and that would make me look slow.
Not very good mentorship, I feel like at the beginning I needed lots of 1:1 to be able to learn our teams codebase. Sometimes I got very good mentorship but not complete. So I learned well parts of the code base where the tech stack applied.
Switching projects too much, went from front end, full stack, server side with several languages. Every time I had to re learn a lot of new of the tech stack.
I did get several recognitions for my contribution with at least helps me think I’m not completely inadequate for the field.
I am looking for a new position, is there anything that could help me perform well as a mid engineer?
I am a senior software engineer working primarily in Python. I consider myself a pretty good coder, being able to solve problems and deliver software on time at the necessary SLA. I understand and have worked with the major Python web frameworks such as FastAPI, Flask, and Django.
But I see a lot of things lacking in myself. I am not able to handle algorithms very well, nor am I able to efficiently use design patterns.
I see that all of these skills are part of FAANG interviews and much sought after.
I also understand that there is Leetcode, HackerRank, CodeSignal and that help better ability.
What is the best way one can upskill self given the many options?
I'm an E5 mobile engineer at a Big Tech company. Some engineers have a habit of leaving "drive-by comments" in code reviews that are only tangential to my PR. How should I push back on these?
Background: I studied Bachelor's in computer science from a Tier 3 college in India and joined a reputed early-stage startup (Bay Area based) as an Operations Manager in India. I worked there for two years, and during that, I got exposure to technology. I gained tech skills by myself and moved to another startup as a Backend Developer.
I have been working as a Backend Developer for the last five years. All the companies I have worked for and left were in the early stage, so until now, I didn’t progress much in my career and still hold the designation of Software Engineer. I am earning and learning decently in Dubai, but I feel like stuck and not moving forward as I don’t see my future, at least in the current startup. I work as an Individual contributor, and management is pretty naive here.
I don’t understand what to do to move ahead from here:
So, this is the problem I don’t understand where to go in my career from here. I am sure, for one thing, I want to try my startup again (I have tried twice, once in college and once a year back and closed before it started) in future.
Context: Working in a small startup where there are a very small number of wiser senior engineers
Everyone in the development team contributes to code reviews
Often I’m unsure about the quality of the feedback and when to act upon it
Sometimes people even change their mind after you have acted on that feedback which is frustrating and can contribute to the delay of finishing a task
Does this also happen in big tech? How do you handle these situations ?
I'm an E5 at a Big Tech company. My team's working on a very ambiguous project. 3 opinionated, vocal engineers (2 E6, 1 E5) tend to sidetrack our brainstorming discussions by playing devil's advocate to shoot down ideas. How do I drive these meetings forward with this dynamic? We often rehash the same discussions over and over. When we're close to reaching a decision, oftentimes someone would throw a wrench into things. Moreover, some engineers require upfront planning and want to finalize all the details before committing, while others prefer to defer the details to future milestones. Both my manager and team are getting frustrated, but are unsure how to fix this.
Due to recent changes in the company (Big Tech), my current manager is moving to a new org and a new manager is brought to manage the team. I really respect my manager and they were amazing at supporting me (helped me grow from E3 to E5 in 2 years).
They mentioned the new team has an opening and mentioned that I'd be welcome to join if I wanted to. The new team is our company's top priority and based on initial understanding, their work sounds very interesting to me. Here are some pros and cons I could think of:
Not Changing Team:
Considering these, I am planning to talk to the senior manager in the new org to evaluate their team and vision. Since this is a unique situation, how should I approach choosing between the two? What kind of questions should I ask? Thanks a lot!
I'm working on a part-time master's degree in Computer Science while being employed. My goal is primarily just to learn for fun, but I'm wondering if there are any career advantages?
I'm a Data Engineer looking to break into FAANG. As such, my time outside of work right now is spent applying to jobs, asking people for referrals, and networking. When I have interviews, my focus shifts to Leetcode.
I really want to build a side-project though both because it's fun and because it will help me perform better at future jobs.
My (common) issue is this: where do I start? Not in terms of the problem I am solving. I have a super-smart friend who's a lawyer and an MBA who's into fantasy sports and he has neither the time nor the ability to create an app. I feel like I could just generate a bunch of different ideas with him and pick the one most interesting to me.
I mean in terms of tech area. Alex and Rahul are both mobile developers and that naturally lends itself to great apps. I know Alex has mentioned that in a vacuum, it's better to focus on front-end for side-projects. I have no experience with front-end or mobile, some back-end dev experience and a fair bit of data.
I could build a data eng project. Start Data Engineering has some great projects on his blog () and there's definitely plenty of examples online (e.g. ).
My question is whether I should build a DE project. I'm not particularly wedded to DE because I feel like I want to do more SWE work and less business analyst work. Above all, I want to get into FAANG for the boost to my learning, career, and comp. DE is prob the easiest way of getting there but again, not wedded to it.
So I see my options as a) doing a DE project (maybe using the projects above to get my feet wet); b) doing a full-stack project (hard to do a back-end only project I think); c) mobile? (Alex and Rahul are tempting me).
Is there any advantage to mobile over a web-dev project?
If I do b or c, I'm concerned about falling into tutorial-hell or at least taking too long to learn before building. I'm tempted by a full-stack course like Zero To Mastery's full stack course, but it's 40 hrs, and I know it's prob not necessary.
Just want to add that I'm a newb for side-projects and I'm aware that I can and will experiment with multiple project types once I get started.
Sorry for the unstructured thoughts here. My brain works on NoSQL, not SQL ;)
I recently changed teams(been over 4 weeks). The current team did not have a manager/sr. engg manager to report to, and everyone reported to an Sr. director. This sr. director reported to a VP in my org.
Unfortunately during a round of layoffs, our director got laid off. So, now imagine my team is "headless".
Our VP did mention that they will try to bring in someone interim. Say that happens, and I am able to make a good connection with this "new" but temporary manager, but after a few months, we get a "permanent" manager, my questions and/or concerns around these are
Some more information about me:
YOE: 6+ this is what has been killing me from inside, 6+ yoe, and stuck on Level-2, I agree things were not hunky dory with me(been through a lot of personal s***), and couldn't focus on this side of my life.
I agree this is my mistake, but I know myself, and I know I can make it work,I can push myself and make it work, but asking for a guidance is all.
Appreciate you all for reading till the end, can't thank this community especially Rahul,and Alex.
This is somewhat of a random question and I assume it can only help but do Github stars mean anything to big tech (1k+ stars) and is "gaming" it a good use of time? (By gaming I mean honest accumulation of stars where the project is popular but not technically challenging)
I started my career in a mid-level startup that was on the verge of IPO. I contributed a lot. Learnt a lot in terms of how to deliver big scale features relatively quickly, work within sharp deadlines, owning features and products. I was a high performer.
After 2 years of working in that company, I decided to switch to Big Tech for better compensation. While Snap is not exactly a Big Tech company, this is what I had in mind when switching.
I immediately started adding value in terms of delivering features and owning products. However, since I come from a mid-level startup, my soft skills are very weak. I am an excellent programmer, but I struggle writing Technical Design Docs. I deliver features quickly, but I don't know how to contribute to the spec sheets and writing launch emails, holding engineering sessions, efficiently using 1:1s. It feels like in my previous company, delivering features on time, writing quality code was enough to be a high performer, but seems like Big Tech requires a lot more. My manager's ex-Amazon, so he values tech docs a lot, and I feel like I am missing a huge opportunity here by not being good at them.
How do I adapt better to this work environment ?
Will interviews for data-related jobs at FAANG companies be different from general software jobs? Given my most recent experience is in software engineering, how can I best prepare for behavioral questions for a data related job?
I'm an E5 at a big tech company. I've been on multiple projects where stakeholders waited until the very end of the projects to say, "That's not what I wanted." What can I do to prevent this from happening? I got feedback that I "need to navigate ambiguity". Does "navigating ambiguity" mean somehow predicting that stakeholders want something besides what they sign off on? If so, how do I develop this skill?
This seems to only happen on projects led by E6+ engineers or an M2. I have not had this experience when working with other E5's or more junior engineers.
I read or saw a video a long time ago that when you negotiate, you want to have competing offers so that you can stack them against each other.
That being said because different sized companies have different pacing for the application process i.e. big tech can take a lot longer whereas startups might move a lot quicker, there are optimal times for when you should apply -- e.g. applying to big tech first and then applying to startups around the time you start entering your FAANG interviews.
Generally speaking, what is the correct timeline for applying to big, medium, and small sized companies?
Even though starting to work for a big company like Meta, Amazon, Google, etc. I believe is a hard to achieve (I haven't work for) somehow it looks pretty straightforward. Learn for interview, get the job, level up. Yes, I am sure it's hard and not many will do it but still you know what should be done (yes, may don't know how). But let me tell you a different story:
I work in a not that famous country in the EU and non of the top tech companies is there. Actually 90+% of the companies are outsourcing companies. As a SE with 10 years of experience in the outsourcing world I can tell you how it works: you work on a legacy code which is so old and so bad (hundreds of people have tried write code there) you can't see good practice at all, no code reviews (sometimes there is bad it is very rare), no unit tests, performance review is only about client's feedback and so on, you got the point. It's about the money only and nobody cares if you are good or not if the client is happy. In very rare cases I have started something from scratch but all of my colleagues were so bad progmmers like myself that we messed up all. It's a deadlock. After 10 years I realized I am a bad programmer and I've seen so many bad practices that I have no passion to do anything anymore. Now to the questions:
The ultimate goal of my career (and maybe in life) is to fill the gap not only in my skills but to create a company (product based or outsourcing) where everyone who join to have a chance to become a great programmer. But before helping others, I need to help myslelf. This is how I found Taro.
I've noticed that a lot of people don't put their graduation year for university on LinkedIn. I think this is because there's a strong fear in the tech world of being seen as old and out of date. I myself am wondering if I should remove my graduation year from LinkedIn. I graduated in 2018 and am aiming to break into FAANG.
I feel like as time goes on, it becomes more and more compelling to get rid of the year.
Eagerly awaiting people's thoughts.
I’m a junior/mid with 1.5 YOE who has learnt to touch type recently with a speed of around 65 wpm.
I’ve read a lot of the q&as on productivity and code velocity and have even watched Rahul’s YT vid on working efficiently in Android (IDE shortcuts etc.)
Will I be able to perform at the velocity needed for an E4 at say meta with only a 65 wpm typing speed?
What do people feel is acceptable for a top-tier tech company?
My resume is below and a review would be great!
*Note because my most recent experience is Team Lead and where I don't directly ship, I did break the rules and use bold to highlight earlier impact. I also put skills at the bottom for visual balance.
Team Lead for Software Engineering, Company X ⁓ $450M startup ⁓ 1M monthly active users
Android Engineer II, Company X ⁓ employee #18 of 150 ⁓ engineer #4 of 25
May 2021-Mar 2022
Android Engineer I, Company X
Nov 2019-April 2021
Internships: Zillow, Undergrad Research
Skills: Kotlin, Java, Room/SQLite, SOLID, MVVM, Git, Design patterns, OOP, TDD
I think I could get an L5 offer now if I pushed for it, but is it fine to level myself at L4 to make things easier on myself? Then I'll try to perform at L5 anyway but it will be a-ok to not quite make it.
I’m considering leaving a startup because of 2 things I’ve seen on Taro:
2019 Goal of Joining a Startup
Learn a lot about how to be a good software engineer
Be an early employee at a startup that makes it big
Quickly become an Engineering Manager because I like working with people, helping others
2023 Thoughts on Staying as an Eng Manager or Joining Big Tech
Dream of being an EM, is happening on small start up scale with a growing number of reports who like my management so far
The dream is to be early at a unicorn and that is close, but
The new standard should be 10B not 1B
Doing this with a first job is not necessary and high risk
In 2-4 years I’d likely still be a engineering manager from a no-name startup
L5+ engineer in big tech may fit well with my personality right away based on Taro, where I love collaboration, helping people, product and technical challenges
Getting a 2 FAANG+ badges on my resume over the next 4 years would be more way more worth it than even a million dollar payout from a startup
Could have many doors opened for high level roles at startups OR faang depending on what I feel like at the time
Big tech stock offer may also easily be worth 1M in 4 years
Supportiveness of team
Maximum outcome (Risk)
Supportiveness of team +0
Work-life balance +7
Company prestige -1
Growth opportunities -3
Company ethics -2
Remote work +6
Product space -5
Technical space -5
Maximum outcome (Risk) -10
Taro priorities video is
150 people, 25 engineers (doubled from a year ago)
Fall 2021 had 50% investment at 250M valuation
Dec 2022 450M valuation
Revenue has since doubled in last year to 125M
Profitable per years with 20% gross margin
Not venture backed, so not expecting 20x growth
Estimated in 2-4 years to sell for 1-2B
How to evaluate a startup video
Current job stats
Team lead for a year after 2.5 years as Software Engineer
0.1% equity, 100k cash
18th employee, 4th engineer
Dream of being an early employee at a unicorn, seems close
Would lose all stock if I leave before acquisition/ipo
Biggest point for discussion: ***2-4 years of being manager at a small startup may not qualify me to be an EM in big tech***
190k cash, 350k stock over 4 years, 60k sign on bonus
Work life balance is supposed to be great
Great food, big tech lifestyle that I’ve always heard/dreamed about
Would work to be promoted to L5 in 1-2 years, then manager a year after that.
Being a new person at a fresh company sounds very exciting now, I know the business fully and the tech stack of the current place to the point where many things Ive see before and feel stale/boring
Based on my write up about values, priorities, liking collaboration, would I like being an IC L4 coming from being a manager where I have solid tech skills but strong soft skills that I enjoy using.
If I stay at the start up would I be able to get a big tech EM offer with 3-4 years of management experience at the start up? Note this question shows what I’m learning now as a manager.
Should I down level myself from L5 to L4 if I think I could get the offer at L5 but am not sure about the certainty of success? (Question asked separately )
At my startup I was asked to deliver feature after feature + bug fixes by PMs as fast as possible without much time for proper refactoring work or engineering initiatives. Also it was pretty individualistic where you get assigned a task and only work with other engineers during a tech spec review meeting, code review, and syncing with a backend engineer (as an Android dev).
From Alex’s video on getting promoted to tech lead, I saw how you can 1) drive projects as an L5 engineer (vs a PM putting that together with designers) 2) Not have to know how to implement everything yourself for a project, but work with many others and facilitate the team. This sounds 100x more engineering driven and collaborative than at my start up with few developers. Is this common to many people’s experience of the norm in FAANG?
What I liked about Alex's story is also how he had the time and space to do things like document the differences between iOS and Android, as well as go all the way through to making a data analytics plan for monitoring it himself. Seems like a lot of freedom and ownership which I didn't feel I always had the time for personally. Being able to not have to spend 80% of your time coding but rather doing deep work thinking, planing, designing holistically sounds extremely satisfying and rewarding as an engineer. Maybe this also comes with experience at startups as well?
What sorts of reasons make people leave big tech? I recently received an offer from a tech start-up is super interested in my candidacy and they're moving what they can to try to match compensation. The move includes a promotion. It also seems like I'd have access to career growth and learning due to people there wanting to work with me to help me succeed.
However, no matter what they do, they won't be able to match the compensation I'd receive within a few years, assuming I grow into a senior engineer role and stay at a big tech company. I see driven, career-focused individuals moving out of FAANG-like companies to start-ups and non-FAANG companies, so I'm curious: what drives people to do so? When is this the right career move?
Trying to decide about taking an IC role I received in big tech (my first one! Thanks, Alex and Rahul!). I'm very excited about it except that I'm concerned about whether I'd still have the option to be an EM again someday, if I took this offer (I am an EM in a very small company now).
Do you think someone with this resume/background would still have a shot at EM roles? Doesn't need to be FAANG or big tech, but EM roles in at least mid-tier companies.
My resume would look like this, in this order:
There are actually lots of EM roles requiring experience with distributed systems, microservices, large-scale consumer-facing products, modern tech, etc. I don't meet the basic requirements for these roles now but would meet them after working as an IC in big tech.
I feel like I'm doing this wrong. When I want to see what jobs are available, I go on LinkedIn, hit the "jobs" tab, type in "frontend jobs", and scroll through the search results. But that's often unproductive because nothing looks enticing. I scroll past companies that I don't know (because I assume the pay or the benefits will be mediocre), past companies that I've heard negative things about (which is a lot of them), and then I'm left with no options at all.
I wanted to work for a FAANG company, but after all the layoffs and hearing stories from my friends who have boring work and teams, constantly feel anxiety around their jobs, and feel like code monkeys, I am a bit turned off from applying to FAANG-type companies. I work for a well-known fintech company now but I don't have a good manager and the upcoming changes in upper management don't look promising. Plus, I've been here for 3+ years and I want to know how other companies operate, know more people, and just learn more within software engineering too.
Here's what I'm looking for
Location doesn't matter and I'm ok with a remote job too. One tactic I thought of was to look up "great places to work" and apply to companies from that list.
But in general, how should I look for jobs and companies to apply to when I'm not targeting a specific company? Plus, is applying to FAANG level companies worth it for the resume boost and the experience?
Appreciate any insight into this! Thanks!
I'm an E5 iOS engineer at a Big Tech company. I'm struggling to understand what leadership means. A Director told me Leadership means making sure the project is successful no matter what happens. As a result, I often end up doing other people's jobs for them (e.g., when a backend engineer struggles to get their piece working, I often hand-held them and have even created backend PRs to unblock some projects even though I'm an iOS engineer). However, a mentor told me that E6's don't do the work themselves but delegate it to others to scale themselves. If this is true, then what does an E6 do when working with engineers who are either unwilling or unable to complete their deliverables in the expected timeframe and quality? This becomes even more challenging when working cross-functionally with engineers who are not on my team. Also, how do you lead when you're not the DRI (Directly Responsible Individual) / tech lead for a project (e.g., when the tech lead is an E6 on another team, but is not setting up the team for success by refusing to communicate requirements clearly)?
I haven't touched leetcode yet and don't have a CS background. I'm not sure whether to use my free time to work on a personal project or if I should use the time to take up a DS & Algos udemy course, Algoexpert, etc and just leetcode until I can apply for the big G. I guess where I stand with that is I'm wondering if there is more value in it than a skill that just vaporizes after passing the leetcode interviews.
My goal is to get to this level someday, so I would love to understand more. In particular, how does this dynamic play out at Big Tech/larger tech companies?
I've grown to be more of a "tech lead"-style E5, which leads to a lot of time spent roadmapping and talking to people instead of actually executing on the project and being more hands-on. My team is heavier on the E3/E4 side, so I'm able to delegate a lot of the coding work away. I was wondering if this was normal for Meta and whether this is an okay way to operate as an E5?
How is project risk management done in big tech? Do they have a standard risk management process that defines how to identify risks, the levels of impact and probability to categorize risks, RACI matrix for risks, how to report risks...etc... Or is that left to each project manager to do on their own?
Is there any good risk management process that you can describe?
I don't really know what I want to do in my career. I finished university one year ago, and I work as a full stack engineer right now, and I'm quite interested in ML. I'm more frontend-facing right now, but I see low returns on spending too much time learning new frontend frameworks my entire career. I'm more interested in becoming a well-rounded engineer, so I feel that there would be higher returns on digging down into the backend more. I have been looking at trying to join some big tech company as a backend engineer, but I just went on an interview for a small tech company which does quite alot of ML with the hopes that they were looking for another ML engineer. Instead they presented me with a broad-scoped data engineer role which sounded pretty cool.
My strategy up until this point has just been to find cool roles where I get to learn useful stuff as an engineer from people who are way smarter than me. Sometimes I think "If I would make a startup, would this skill come in handy?" Is that a poor framework? Should I have a plan? I don't even know if I ever want to make a startup lol. I'm interested in joining big tech, but other than that I'm not really sure. I just enjoy building stuff, and I see this as an opportunity of learning data engineering really well (which I don't know very well), but that is perhaps not a wise career choice? Any guidance on how to think as a new grad is appreciated lol.
Hi there !
recently joined FAANG and we’re using a lot a dedicated collaborative tool. Think of it like a shared Google docs with text, charts, and tables.
I wasn’t using them so much in my previous company and I would like to bring novelty in how we use them in our team.
Besides the classical 1:1 with manager // meetings minutes for meetings, what use cases you found really impactful and productive in these collaborative tools?
Thanks a lot !
I recently passed 5 years of work experience as a software developer, mostly working at small companies/startups. I’ve been at my current position for almost 2 years and the startup is around 100 employees.
The company is doing great, we just raised another round of funding. I’m preforming well and I’m up for promotion to senior software developer next performance review.
With all that being said. My goal has always been to get into a big tech company and I think the earlier I do the better.
Overall I really enjoy working at this startup but I have always been career driven and I think going to a big tech company would be the right career move. Am I correct on this being the right career move or is this just the pressure developers feel to work at a big tech company?
I worked on backend for 10+ years and was a Tech Lead before switching to iOS for the last 10+ years. I was offered an E6 position at a Big Tech company, but I asked to be down-leveled to E5 due to imposter syndrome since I mostly worked at smaller startups and didn't know what to expect. When Leadership later found out that I have backend experience, they started pushing me to do backend. Is it easier to get to E6 doing only iOS or doing both iOS and backend? I'm much faster coding iOS than backend since I know the Xcode shortcuts, a lot has changed in backend over the past decade (e.g., AWS, Kubernetes, etc.), etc.
My friend just introduced me to his friend who works at this big tech company that I would love to join. I'll meet this friend in a couple of days, and I wonder how I can make the best use of this opportunity. How would I handle this in the best way possible?
(I'm a software engineer with 2 years of experience and a computer science degree)
I’m always impressed by software engineers with strong track record working at FAANG level for long term period (>4 years) as working in these type of companies require dedicating yourself 100%+ to sustain and keep meeting the performance bar..
But I also felt that the “golden era” of working at FAANG have already passed. I think joining FAANG today will still give lots of learning but not as many growth compared to maybe 6-7 years ago when they are still growing very rapidly.
Do you have any tips for junior/mid engineers with 1-2 YOE who feels like their current role does not offer the golden era of FAANG level growth in terms of career opportunity? Feeling like this primarily due to team culture and engineering talent on my current role that is subpar compared to FAANG (I was previously an intern at FAANG and is now working at a startup).
Given the current market situation (layoffs, hiring freeze), getting into FAANG or the next FAANG would be quite challenging.
do you have any tips so that I can make sure I can give my best to whatever I have right now but still have FAANG level of career growth in non-FAANG company?
In one of the videos Alex mentioned that some devs get a culture shock when joining a Big Tech company from a smaller company. What kind of culture shock would that be? Do you have examples and methods how to prepare oneself for those?
I'm relatively new to software so would love to understand more here. In particular, what does it look like at Big Tech compared to other companies? My goal is to eventually transition into a Big Tech company - Do you always need to work 60+ hours a week to do well there?
I might join a Big Tech company later on in my career, and I know that choosing the right company has huge financial consequences due to the large RSU compensation.
How can one set themselves up for success here and pick a company with a good financial outlook? What metrics should I look at and is there some sort of website to help with this?
I graduated with a master's in CS 1.5 years ago and since then I have been working at a no-name brand company as a full-stack engineer. I would love to join Spotify but I lack prestigious grades and side projects. The tech stack I work in is somewhat old (Angular 2, .NET, no cloud, in-house solution for CI/CD, etc). The company is nevertheless alright and my colleagues are all very friendly, including my boss and manager.
If I would want to join Spotify, should I double down at my current job and try to get those side projects started, or should I consider another position in-between my current position and Spotify in order to increase my chances to join Spotify? The reason why I’m not a big fan of this idea is that I don’t like to join a company with the intent to leave within 1-2 years. The reason why I'm considering changing company is because I worry that my current growth could potentially be a lot higher than what it currently is.
Will my lack of experience in newer frameworks/tools be a large disadvantage to me when I’m looking for a junior/midlevel role at a tech company where being efficient in languages/tools is a must? Is it better to stay since I can make more of an impact now since I’m familiar with my company’s tech stack compared to having to go through an onboarding process at a new company which may result in decreased impact for that period? I would prefer to join big tech in 1 year as a junior engineer, rather than in 10 years as a mid-level engineer.
Everyone knows that the tech industry revolves around the Silicon Valley, but I'm in a different metropolitan area in the US. I'm thinking about my next move company-switch wise, and I'm wondering how much it's worth being in the Bay Area for greater access to opportunity and career development in general. Also, does this vary based on whether you want to work for Big Tech or startups?
When it comes to describing your projects, what are the things you should emphasize vs. not? I want to be able to paint myself in the best light when talking about projects at work and during behavioral interviews, particularly those of Big Tech.
I am an engineer in my 30s and have heard that unlike a doctor/lawyer, who become more valuable with age, it's the opposite in tech. I've also heard getting on the manager track is a way to prolong your prospects (although this isn't necessarily the track I'd want to take). Curious on your thoughts on this topic.
How do I demonstrate that I am seasoned in a way such that if a Big Tech company decided to give me a chance, I can put them at ease and show that I'll be successful? How does that look like across various levels?
I'm going to be joining Amazon soon and the team I'm on is going from 4/5 people a month ago to I believe 9/10 people (counting me). Our team is going to be comprised of SDE 2's and 1's (I'm an SDE 1).
I'm wondering what's the best way to have the best onboarding experience during this time.
While it will be nice that I will have a decent amount of people who will be in the same boat as me in terms of onboarding, I'm also worried that my manager and more senior teammates won't have as much time for things like 1 on 1s, answering questions, helping me onboard, etc. if they're also helping other people on our team in addition to their own work.
I am joining Amazon soon as SDE 2. At my previous job, I was a higher end SDE1. I have owned small internal services at my previous job. I would like to know what are some of the things that can be expected from me as SDE 2 @ Amazon ? I am expecting more ownership, but is that the only thing? I did ask the same question to my manager but he seemed very chill about it and said that he cannot say anything at the moment, maybe in our 1:1s we can discuss more clearly. Also, if you can let me know how the expectations vary across levels for Junior and Mid level and what can I do to hit the ground running and create a good impression from the very start, that'd be great. I am sure that you must have seen various E3 / E4s at Meta. If you can relate to what exactly was the difference that you saw, that'll be super helpful.
I’m about to start applying for jobs. I’d like for my next job to be at FAANG for all the reasons that Alex and Rahul mention it’s good to begin your career at FAANG. This is my third job out of school, so I’m a little late, but better late than never :)
I believe what Alex and Rahul said about working at FAANG is that it’s good because you:
My crude approach to getting into a FAANG/FAANG-equivalent company is to look at levels.fyi, and run down the list of companies and apply. This approach certainly satisfied point 2 above, and is also very good for getting 1 and 3 as well given that all 3 points are highly correlated.
I know that referalls are important, so I do plan on tapping my network as well.
But I wonder, am I thinking about this the right way? Is there a better approach? If I could in theory get super-amazing 1 and 3, and get less 2, I think I’d be willing to do that. But I’ll never come across such an opportunity if I’m just using levels.fyi
All thoughts are welcome 😊
I'm looking to get promoted as fast as possible, so I really want to understand how very senior engineers think. Here's some additional questions to add more depth:
Hi everyone! I will join Palantir as a Forward Deployed Software Engineer(FDSE). I need advice on tackling the first 2-3 months at the company to gain team respect and trust. I am excited about this opportunity and want to grow but do it efficiently, if that is even a thing😅. Jokes aside, All I want is to have a great career at Palantir.
YOE: over 2.5years(including just over 1year of internship).
Stack Experience: Ruby on Rails, Python, some Java
Current Work: Backend Engineer. Building and maintaining APIs
I got contacted by a Big tech recruiter recently to interview for Sr. SWE/L5/E5 level. The recruiter said they can skip the phone screen round for me and advance me to virtual onsite interviews directly, probably due to my relevant experience for the team/role.
My question is regarding how to know how much time to buy for interview prep. Since one hurdle (phone screen) is already cleared and this company is one I would like to join, I want to buy enough time to prep well and give my best shot. At the same time, I don't want to give an absurd number of months for this opportunity to go away, and for me to lose momentum which I can use for other companies too.
Sorry I know this is a very non-generic and personal question depending on my skillset to clear this interview. Just sharing some info if it helps you answer -
My current situation - I started preparing for interviews in general a month ago. So I started with brushing up on DS concepts + Algorithms and learning Coding Patterns, and about to start Leetcoding soon. I have not done any preparation for System Design and Behavioral rounds as of now. I have not interviewed since a long time, so my interview skills are quite rusty. I'll probably need to take some mock interviews/practice interviews with other companies as well before this Big tech company's interview.
I have worked at Meta my entire career (~5 years). I know that Meta is pretty "startup-ey" among the Big Tech companies, but I imagine that it can't mimic startups entirely and there's unique learning value startups can offer. Does switching to startups give big value to career development?
At my old company, where I worked for many, many years, I wasn’t learning anything new. On my new team, I feel like a junior engineer since everything is new. Because of this, I don’t feel like I’m being taken seriously, even my engineers more junior than me.
I'm trying to stay positive throughout this learning process but would obviously like to build up respect among my team as quickly as possible to start feeling like a heavily valued voice in the room. Any advice on how to do that?
Part 1: Before Joining an organisation
Part 2: After joining an organisation
Here are my Top 3 priorities:
Here are the options I'm thinking of:
I'm an earlier-in-career engineer currently working at a quickly growing startup. Things are going well, but I do think I want a Big Tech name on my resume someday.
Right now, Big Tech hiring is frozen, but it will open up again eventually. I'm wondering how can I make sure that I'm prepared when it all opens back up - Should I be regularly studying Leetcode in the meantime or something?
At every Big Tech company, the stack is very custom and a lot of the hard problems are already solved. Because of this, is there a limit to the kind the learning you can get at larger companies (>1000 engineers), which you can bypass by going to a much smaller company (<50 engineers)?
Since I’ve only worked in smaller companies, I sometimes feel uncertain about my abilities as an engineer compared to FAANG engineers. How can I identify the gaps between my current skill set and those of FAANG companies?
I’ve only worked at startups and non-tech companies, but I’m joining Google next month. How can I make sure that I meet all expectations as an L4? When it comes to talking to my manager, how should I frame the conversation?