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 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.
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.
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…
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…
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!
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.
>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…