Good question. Facebook's interview process might seem surprisingly similar for like 10 years, but it shouldn't be surprising. When you have candidates trained in different languages, and working on vastly different companies/projects, you need an extremely consistent interview process to fairly evaluate people and compare them to each other. Behind the scenes there's even more checks and balances to keep the process consistent and fair.
RE: System design. It's hard at Facebook because it's testing for your experience with different kinds of large scale products (whether it's more backend scaling, or highly used user facing products). If you don't have that experience, it's hard to fake it. They have a program called the "Rotational Engineer" program that's a mid-level program for people who never had the "scaled up" experience and need to fill in some gaps. The other thing about Facebo…
I can assure you that all the people I know that work there and have worked there are not. That said, why do "seem" that way is that I think Facebook has has done a really bad job explaining certain things publicly.
Hi nice to meet you. So at the top tier tech companies, a degree really isn't that important or a requirement to get or do a job in most cases. But that said, if you are in South America and would want to move to the United States, where most of these companies are based, then you might have immigration issues not having a degree. I'm not a lawyer, but I'm from Canada originally, and know that not having a degree can make it harder to physically go to the USA.
There could be a few paths. There are some decent engineering markets in South America, like in Brazil, parts of Mexico, Columbia. I would maybe see if you can get a job at a company there is EITHER one of the leading South American based tech companies OR a company that does a lot of work for a big tech company in the USA. Once you have a year or more experience on paper that will get you more interview opportunities and you can…
I'm not entirely qualified to comment but can give some information from from what I've observed.
1. There isn't like a single "algorithm" somewhere making decisions. Elon Musk talked about open sourcing Twitter's algorithms after (if) the acquisition goes through and I think this will be really hard. The "algorithm" is a complex set of many pieces. Some of which are indeed more algorithm-like processes that can be written out. Some of them are extremely subtle and nuanced product decisions that impact how people use the product. Knowing just the algorithms I mentioned won't really help anyone with anything, because user behavior is impacted by all kinds of non-algorithmic product decisions. Even seeing the entire source code would not give a good look into this.
2. There are people who care at the companies. The way intellectual property treated in the United States, where most of thes…
[crosspost] I’m Michael. I was a principal engineer at Facebook from 2009 to 2017, where I was the top code contributor of all time and also conducted hundreds of interviews. I recently co-founded Formation.dev, an engineering fellowship that trains and refers engineers directly into big tech. AMA!
I'm running a Reddit-wide AMA today, ask your questions about breaking into the tech industry on the official AMA thread:
[https://redd.it/ui98mg](https://redd.it/ui98mg)
When you say IT, I'm not sure if you mean like hands on programming, or other roles in the IT space. You absolutely have a chance at joining a top tier company. I've seen people from all kinds of backgrounds do it. There's someone who was in his 30s, 40s, was a tattoo artist amongst many other things, and was a great engineer!
My only concern would be if you run out of money and can't get the time you need to prepare and focus. Maybe taken a simpler low paying job for a while so you can prepare?
While I haven't pivoted careers, I did have a pivot in college. My college program was structured to let you choose a career direction in your 3rd year. I was expecting to go into Physics or Nano-engineering and hardly took any computer programming course in my first two years.
For me: passion. I loved reading articles about nano-engineering and black holes, but I would get distracted and my mind would wonder. When I start programming on something that I'm passionate about I almost can't stop. I dream about ways to make the code better. I think it's a very privileged position to be in to even explore these passions, which is why I try so hard now to help people who discover that passion later on to efficiently nurture it to make it a career.
There have been some pretty intense internal debates over product features - privacy/information related or otherwise. There are a lot of ambitious employees at Facebook who are also humans who use Facebook and other services and push for different ways of looking at things.
This is exactly why I'm fighting so hard now to help people from more diverse backgrounds get into companies like Facebook. We need need qualified engineers to fight for their views as well.
I think this question is a beyond what I feel qualified to comment on. You're asking some pretty big questions that people have dedicated their lives to researching and solving!
I totally understand the controversial nature of this and I think it's going to keep being a topic all of us, and all big companies have to deal with. All I can say is that even though Facebook is a business, people do genuinely care about this stuff so much more than I've seen people caring at some other companies that have a ton of information on you, so I hope that they can keep working on this productively.
Hi! At Facebook the interview process is the same for all individual engineers (ICs) E4+. In the onsite you'll do 2 coding interviews, 1 half coding/half behavioral, and 1 system design (SD) (sometimes adapted to your role, like product or frontend).
The key difference is the expectations in the SD interview. A more junior person will be tested on their approach and more basic knowledge of various pieces of a large system. A very senior candidate will be tested on their ability to give more alternates, more pros and cons, and more thoughtful examples leveraging their existing experience. Experience with big scale products can't really be faked, so this interview is aiming to test and calibrate that experience against Facebook's bar.
I left in early 2017 and had plans to leave around the US federal election end of 2016, so I missed a lot of this on the inside and am not qualified to comment on that unfortunately.
I can add one thing that's interesting. While I was there, Facebook really wanted to be a neutral party. When one person said something offensive to another person on Facebook, Facebook wanted that to be handled like it would be in real life, person to person. I don't think anyone was expecting people to want Facebook itself to have more of a voice and opinion on information and they have been working hard to figure this out.
Great question, I have seen a few standout projects. A few points:
* It has to be something you are so passionate about that this shines through when you talk about it. e.g. a former musician who made a machine learning based tool to generate sheet music based on famous composers music.
* It's better if you launch the thing publicly, e.g. app in app store, live website on a real domain you bought. Real people giving feedback helps you learn and gives you more interesting things to talk about in interviews.
There is a lot to talk about here and probably a lot of opinions.
Do you mean specific languages and frameworks, or more broad areas to look at, like frontend, wordpress, web3?
Yeah, I'm friends with Zuck and he's always been really nice and I don't get a lot of the portrayal! He's super competitive, and strategic, but he would ask how I was feeling when I was sick, and send gifts and what not.
I don't think we'll fully cover this topic here but I have one thing to add which is that all the engineers at Facebook take privacy very seriously when building products. Sure there have been bugs reported and engineering mistakes, like at any company, but focus on privacy first when building new features and products was paramount.
Facebook's biggest mistake was in not understanding how a lot of people interpret the word "user data" differently across the world. Facebook's primary goal with user data is to keep it safe, secure, and protected.
When the press said things like "sell user data", people took that literally and were appalled because no Facebook employee would betray the users like that. But a lot of people interpret "sell user data" as making money in any way from the way data might be matched up, even if that's done safely and anonymously.
It wasn't so giant when I started haha. The people I worked with were really smart, hardworking, and passionate about building things that the people using Facebook loved and found useful. For example, I started a product to support private college campus communities on Facebook and it was really rewarding to see the value that students got from having these safe spaces.
[crosspost] Over the past week I've gotten a lot of messages that my answers in this community have been helpful so I asked Reddit about doing a Reddit-wide AMA and it's happening right now! Ask questions in the link below!
[removed]
I’m Michael. I was a principal engineer at Facebook from 2009 to 2017, where I was the top code contributor of all time and also conducted hundreds of interviews. I recently co-founded Formation.dev, an engineering fellowship that trains and refers engineers directly into big tech. Ask me Anything!
PROOF: https://i.redd.it/e74tupgktbx81.jpg
I have a lot to say about what it's like being an engineer in big tech, how to prepare for technical interviews, and how to land engineering roles at these companies. I would also love to hear your stories and give you personal advice on this thread! But feel free to ask my anything!
As an E7 level principal engineer, I made thousands of changes to Facebook across dozens of areas, impacted the entire Facebook codebase, modified millions of lines of code, and interviewed hundreds of engineers. Looking back, the most rewarding part of my time at Face…
You shouldn't change careers with any planned timeline of getting a job if your family depends on you. It's absolutely an option, but there are no guaranteed timelines and don't let anyone tell you otherwise.
Someone commented with my previous summary earlier but some more random fairly critical points
1. CIRR is audited, so the numbers in the report should be deemed accurate, but
1. CIRR was founded by bootcamp leaders and it's board is mostly bootcamp leaders, so the methodology and construction might be biased towards making bootcamps look better than they should
2. The salary metrics are all based on people who got jobs, and the job placement metrics are based on people who graduate. So if 75% of people graduate and 75% of graduates got jobs in 6 months that means 0.75 \* 0.75 = 56% of people who started got a job in the end before 6 months.
3. Finally, 6 months to get a job after a 3 months program is a REALLY long time. It can be really rough in that 6 months for people and that's not captured in the metrics.
2. Program can try to game the system yeah. I haven't done investi…
I would add two general pieces of advice to 1 and 3 that I always give people as well (I’m the cofounder of Formation.dev which is not a bootcamp, but I worked with a lot of bootcamp grads a few years down the road)
1. Check who the instructors are and if they or the TAs are recent graduates. A lot the programs that have recent graduates teach while their job hunting have a lot of churn and the TAs leave the second they get a job. Second, a recent grad who doesn't have any professional experience might be able to help in some ways having recently gone to the program, but you won't be getting professional level code review from very experienced engineers that you're aiming to work with in the future.
3. I always strongly recommend people try to find alumni as you suggested, but focusing on those with backgrounds similar to themselves. There are always a few people who have prior experi…
I would take the 1st position unless you will get a ton of guidance for position 2. Transitioning to React from Wordpress sounds great but only if experienced engineers are guiding, otherwise it's almost like a realistic personal project.
Can you add more details about your background and your goals? There are no objectively good choices.
If you have more experience Codesmith is probably better for getting a higher paying job than Flatiron. In terms of education, all material you ever need is available free online (or for much cheaper than a bootcamp) so I would weigh that less. Codesmith relies heavily on former students to teach, but have scaled this better than other bootcamps that rely on former students to teach by making the "Fellows" program a prestigious fixed term role for the best students, rather than a backup role for the ones that didn't get jobs where the teacher might leave suddenly when they get hired.
If you have decent experience, or your goal is a top tier/FAANG level company, you might just need a more interview-focused coaching and feedback (not a school or bootcamp).
It's very case by case and depending on timing. Right now there is a rumored hiring freeze on E3 and E4 (and possibly more), they haven't said anything publicly.
I can't emphasize enough how unique each person's background and path is, no one could read this and get THE answer for how to get a job at Facebook. That's part of the value we offer, Facebook, or otherwise, we use all of our expertise to help craft your path to YOUR goals (a lot of people really don't like Facebook and don't want to work there). Similarly as you start interviewing, pass/fail, your timing changes, your preferences change, remote vs in person stuff, we adapt to what you want, and we're a shoulder to lean on for advice (and sometimes proactively give advice as a lot of people have misconceptions as well). At the end of the day every person at [Formation.dev](https://Formation.dev) wants to see you in a super imp…
I found two people that got into Google from Codesmith without experience listed on LinkedIn so it might be possible there too!
[https://www.linkedin.com/in/cameron-greer/](https://www.linkedin.com/in/cameron-greer/)
[https://www.linkedin.com/in/andieritter/](https://www.linkedin.com/in/andieritter/)
One lists their open source projects as work experience and the other doesn't. Not sure what their resumes looked like pre-Google though.
So Facebook doesn't even interview new grad E3s who didn't come from internships or the schools they recruit at. They experimented with an E3.5 program but that required 6 months of work. And the E4 rotational program also required more work, just where the experience is not at the normal E4 bar.
Sorry, I geek out over this stuff haha
Sorry not to pile on here, but I was looking into this "mid-level FAANG" statement more because I've been involved in every aspect of hiring at Facebook it's just not possible at Facebook to get a full blown E4 SWE job with zero experience. If that happens, eight people made mistakes: the recruiter, 3+ engineers, the hiring manager, and the two VP/directors who have to approve the offer. It has nothing to do with raw skill and there's no way to game this without them making a mistake or a very large and coordinated lie.
It was bothering me that people would think this could happen so I want to set the record straight. I can't speak to other FAANG and Amazon definitely has a less consistent process where I could see this happening. I also know contractors via Global Logic get Senior Engineer titles sometimes. But it's bothering me!
Threw it out :(. I was very early on with their V1, so they had already sent me a free upgraded version at some point, and I just cut my losses and threw it out when they shut down.
I had the same pet feeder and love the tinkerer mindset!
If the system was set up well, even if you can reverse engineer the API that's being called to trigger changes on the machine, it will be impossible to call. e.g. if they're using an encrypted connection and the company has the private key then something you can do without modifying the code running on the machine itself.
You we need to exploit a weakness of vulnerability in the system. Like if there's some hidden debugging feature that can tell the device to use a test server instead of their production server and you can run a server yourself and redirect the traffic there, and then fake responses according to the reversed engineered api.
This is kind of a fun problem to think about. I would probably try to focus on replacing the motor with a different one I can control via another mechanism.
If you have specific feedback on how we can improve our coaching, let us know. We support you until you get that outcome, but time is the variable, and we are always trying to be more and more efficient.
We coach people on DS&A, System Design, frontend and live coding, technical behavioral, negotiation. It's all personalized and if you talk to a former Formation Fellow you might get a better idea since I might not explain clearly what we do. I would love to clear up any misunderstanding.
I would absolutely recommend what you suggest for a lot of people. Like I said above, everyone has different goals and need a personal recommendation for what's best for them. We have a high bar to work with someone and many people are not a good fit either.
Our team is unparalleled right now and we are striving to help people get to top tier companies, if that's not for you, don't do it.
Some members on our team:
1. FB, 8 years, E7, created coding machine archetype for
2. FB, 5 years, E7, advised Mark Zuckerberg and reported to the CTO
3. FB, 8 years, MSFT 10 years, created interview types, trained interviewers at FB
4. FB, 8 years, trained interviewers at FB
5. FB, 10 years, recruiter and ran internship program for thiusands of interns
6. Many others, one person ran bootcamp career services at several bootcamps over 8 years, 8 years of marketing at FB, and many people with amazing ex…
Sure: https://www.coursereport.com/2021-guide-to-coding-bootcamps-by-course-report.pdf
They said 23K in the latest report, but I'm ball parking an average from 2018 onward because I think these numbers might have some variance.
All of these are possible options but the ranking depends on your personal situation. Apprenticeships are typically better, even though they pay less for the first year. They are also typically a fixed term, but have a much better than of converting, much more support, and I would generally recommend a top tier apprenticeship. That said, apprenticeships are really focused on specific goals for the company and it truly depends on your specific circumstances.
Feel free to DM me a linked in or resume and I can give some quick slightly better recommendations.
>So is the goal to present this final project as work experience?
In my experience talking to Codesmith grads about their projects, most could not talk about them at the Facebook, full blown SWE level behavioral bar for entry level roles. (I posted above but I worked at Facebook for 8 years as one of the most senior engineers, trained Facebook engineers on how to run these interviews and many of my current co-workers have as well). The projects are not run like real companies so people don't have real answers for many critical questions and raise a lot of flags.
A good example is a project where the team chose to rewrite their project using a brand new open source framework instead of a super reliable framework (not disclosing details to reveal anything personal). The team had no idea about the tradeoffs of using something stable and reliable for a large scale project vs using someth…
So one of the "industry secrets" (don't quote me on this) with bootcamps is that their strongest placements are typically people who already have some related professional experience (e.g. PM at FAANG), previous education (e.g. CS degree), self teaching for a few years with great projects.
To answer the question: yes, you should be pretty decent at programming before a bootcamp is a "recipe for failure" as u/jppbkm said in this thread.
If you don't know any programming at all, I would highly recommend self studying for more like six months before doing a bootcamp.
I would submit a visual pleasing resume yeah. If you export in a format like PDF directly from a design tool, you'd be surprised to know that the text can probably be parsed still from the resulting file. But more importantly, find a recruiter for Google apprenticeships on LinkedIn and let them know you applied and how excited you are to be considered.
Is there a question you have. You asked a question that I have many possible answers I would love to give advice but the body is more of a statement than a question.
I worked at Facebook for 8 years as an E7 level engineer, did hundreds of interviews, trained other interviewers and have a lot of advice if you have a more specific question. I also train people now to be ready for FAANG level jobs with a team of extremely experienced engineers who have also done hundreds of interviews and trained other interviewers at Facebook. Would love to help!
Yeah we have. Most people have some professional experience, but there are a few people with zero experience that have gotten top tier jobs (Facebook included).
Again, it varies so much by person so there aren’t definitive patterns, but these are some examples:
1. We have a production level internal codebase where people complete tasks and bugs and get code reviewed by our team. People with less experience often work on this area, whereas people with experience do not. The goal of this is to learn professional level git, and how to communicate with engineers. So while employers know this is a project and not a job, people have examples for team-based stuff to talk about.
2. Some people have extremely impressive personal projects (this is an entire thread topic hahaha) and we help you practice talking about them very impressively.
Overall, using our extensive Facebook experience, we kn…
One point of clarification that is critical is that it depends on what role at Facebook (SWE vs other roles like Solutions Engineer) and if it's a contractor role or a full blown role. I can only speak the the full blown SWE bar, which is the highest and most consistent as well. The contractor bar is very different and I could see the above approach not being a problem for those roles.
For the SWE bar, absolutely we prepare you. We have extremely senior and director level former FB mentors preparing people in a variety of ways (1-1, small group) for the behavioral SWE interviews. We coach more experienced people so each person has to prepare differentlty and needs unique feedback and a unique strategy to the behavioral interview. We also have several full time team members who taught engineers at Facebook how to conduct these interviews.
One thing to consider more than the numbers alone for any program is to find people at the bootcamp who had a similar background/profile to yourself and see how they did.
Two things to consider specifically for Codesmith's numbers:
1. They have more people with some kind of experience before joining than a lot of other programs, and those people tend to make higher salaries coming out, which brings up the median.
2. Students are encouraged to put their open source projects as work experience, so they tend to get more real engineer interview opportunities than other bootcamps. Whereas at other bootcamps people get more junior, apprenticeship opportunities, and internships.
So you really want to try to see what people that look like yourself on paper have done rather than the overall stats.
Everyone learns super differently. Some options to consider:
1. Given you have so much experience already, try to change to a more full stack role at a company that has a big React codebase and try to learn on the side on the job. You'll get more credit for learning (and they might even train you, or have training programs internally).
2. Self teach by starting a real project. Build something piece by piece on the side that solves a problem you actually have and make it public.
3. Do some online courses that are free or almost free and then revisit.
In my opinion, the problem with ISAs and coding bootcamps is that an ISA only works if you are actually guaranteed to get a job at the end, then it's a win-win. Unfortunately, like you pointed out, so many people don't get jobs out of bootcamps and break this model. The win-win approach of both sides giving 100% until the day you get that job has been working really well for us at [Formation.dev](https://Formation.dev), but we're not a bootcamp or eduction program so it's a little different.
u/Comfortable-Cap-8507 do you think it would make a difference for you if GA was 100% training you until you got that job without stopping or do you still think you it would be a bad idea to do an ISA?
I have some neutral comments on the project-as-work-experience debate. I was a E7-level Engineer at Facebook for 8 years, interviewed hundreds of people, read thousands of resumes. I'm co-founder of Formation.dev now which does mentoring and coaching and I have worked with many Codesmith grads and alumni and am familiar with their program. We also have recruiters at Formation with 10 years recruiting experience at Facebook as well who review Codesmith applicants to Formation. We also hired a Codesmith alumni who we worked with at Formation as well.
1. If you put something on your resume that says Software Engineer for a "company", where the company is an open source project, it's a little grey area/pushing the limits of what people deem acceptable at top-tier companies. Here's an example of a prolific open source contributor and what their resume looks like with things clearly labelle…
It's great to see so many supportive comments on the thread, and the fact that you got some interviews means there is hope and it sounds like you have some fight in you!
If you DM me your LinkedIn/Resume (or provide a little more details about what you've done in the last 7 months here), I can take a quick look for more detailed advice (I'm co-founder of [Formation.dev](https://Formation.dev), and was a E7 level Engineer at Facebook for 8 years, interviewing hundreds of people and reviewing stacks and stacks of entry level resumes).
\+1 to all the people who said you probably need coaching and interview prep more than a bootcamp. There are two things to deep dive into, 1. benchmarking your raw skill levels to see if you are interview ready or not yet. 2. you need help getting the interviews.
Given you are applying to 100 jobs a week, I think you absolutely need some help on your approach.
There are different options for all of these goals, [interviewing.io](https://interviewing.io) is good for doing one off interviews without any training or job hunt help, and [Formation.dev](https://Formation.dev) is much more expensive and is your one stop shop (disclosure: I'm co founder) for assessment, skill building, job hunting, negotiation.
There are some other options for coaching, like Pathrise and Outco and you should do your research, and figure out what's right for you, but I would strongly suggest something like t…
Hey, I'm the co-founder of Formation that the commenter below mentioned a few weeks ago. We are indeed busy and growing the recruiting team... we are a small team focused on the quality of our training, so we want to grow sustainably.
If you are still interested DM me and I can follow up and see what happened.
I'm a co-founder of Formation, you should do a lot of research and make informed decisions. Most importantly, we work with you for however long it takes until you have a great job and you have our full support the entire time. As of writing this, our last 10 offers signed, in order, are from great companies: CloudTrucks, Plaid, 1Password, GitHub, Microsoft, Google, Meta, Google, Snap, Akasa. It's not cheap, but it works.
I would try to contact current and former people we've worked with to see what their experience is like. Some of the people with less experience list Formation.dev on their LinkedIn and if you are more experienced it's a little harder to find people, but you can look on our network page and ping some of those of those people that have a similar background.