[Formation.dev](https://Formation.dev) (disclosure: co-founder) isn't a bootcamp, so it likely isn't a good choice, but it's a program that supports any schedule. Every week a new schedule is generated for the next week depending on your exact availability. There's no reason we couldn't work for bootcamps either we just don't support people without any experience yet.
There are various benefits, you can read some of them here: [https://www.apprenticeship.gov/employers/registered-apprenticeship-program](https://www.apprenticeship.gov/employers/registered-apprenticeship-program)
It was a recent change where I think the Obama administration or maybe the Biden administration expanded what types of jobs qualified for this program so it's a relatively new concept, different from like the Twitch/Asana/Dropbox/Twilio/Twitter apprenticeship, which are more like entry level jobs/internship hybrids.
You cannot, this is an apprenticeship approved by the federal government and there's certain rules that they have to follow and they also get I think some incentives to offer them.
The Google new grad offer might make sense although weird. I've seen teams (departments?) who start new grads at certain times of the year. Maybe you interviewed as a L4 and were down-leveled to L3?
Give it a shot, you absolutely will not make a fool of yourself! I've interviewed hundreds of engineers and all kinds of things have happened and in not a single case did someone make a fool of themselves. Being vulnerable and human can make you a stronger candidate.
Hey, yeah sure I can answer that about Formation.dev. The way it works is every week you get a new set of tasks and sessions scheduled to work on based on the areas you need to work on and your availability for the upcoming week. There are some example weekly schedules here: [https://formation.dev/program#week](https://formation.dev/program#week) "A week in the Fellowship"
It's not a program/course, it's more like having a personal trainer for working out, but for your interview prep and job hunt. So you'll work with many different people at different times. Towards your job hunt you'll do more 1-1 mock interviewers and feedback sessions. Throughout you'll do a lot (2+) sessions a week with an engineering mentor and up 2-4 other Fellows. These vary in format but the group is typically given a problem (algo/frontend/etc...) and work with the mentor collaboratively to work through it. The…
Sorry, you’re right that this is focused on Codesmith and not the alternative. I work with many Codesmith people and have a spreadsheet of hundreds of alumni and I went with that because I feel confident based on my research. It’s not a great answer to the question about alternatives. I’ll think about this a bit more overnight.
Formation doesn’t work with people who don’t have experience, sorry if that came across as comparing it to Codesmith. Entirely different things.
Contractor roles are entirely different from the SWE pipeline, I should have mentioned this in more detail. I have definitely seen some misunderstandings happening because of contractor vs full time, software developer vs SWE, etc... There is no way that's it's possible to get an E4 SWE offer without system design nor can anyone say you are at the E4 SWE bar without doing a system design interview. I've sat in on dozens of VP level final offer review meetings and it's just not possible.
I'm not affiliated with any bootcamps but I work with a lot of people who have gone to bootcamps in the past. I was also an E7 level principal engineer at Facebook, where I worked from 2009 to 2017, and interviewed hundreds of people. I run coaching and training for experienced engineers to help them level, but I've heard a lot of problems with bootcamps from people I work with and started hangout in this subreddit.
I can give my assessment of Codesmith, the good, the bad, the warnings. Overall, for a bootcamp it's think it's a solid consideration, just look for this level of detail in any bootcamps you consider.
GOOD:
1. Instructors are good teachers and care a lot about teaching. They publish a lot of videos and run a lot of free sessions, and they get really great feedback.
2. They've scaled pretty well. Like most bootcamps, recent grads immediately teach the current students, but…
Hi, at Formation you need to have some experience right now. Most people have 1-3 years of professional experience and we focus on amplifying your strengths and filling in your unique gaps. When people are starting out, you tend to need a little more experience to start figuring out those strengths. Experience can come in the form a real job, but could also be a related job, internships, previous bootcamps, freelance work, or \~2+ years of self study with projects. We don't overpromise anyone anything, so that's why we focus on what we can deliver on and we haven't invested yet into developing the materials and support for helping people a little earlier on in their journey.
Ok long paragraph haha, but the second thing you said is very important to look at. Don't trust any "job guarantee" for any bootcamp, period. That's not to say they are a scam, or they are all misleading, but someth…
Out of curiosity to they actually measure your typing speed? I don't type super fast and was an E7 level principal engineer who wrote the most volume of code at Facebook of all time (when I left) and I might fail this test.
The interview process is not about solving Leetcode problems, it's the biggest misconception people have grinding Leetcode online. As I said, 8 years E7 principal engineer, trained interviewers, now I help mentor people and have helped people struggling on Leetcode get jobs at dozens of top companies, so I can speak confidently to my experience, but it's just my view.
1. You need personal feedback and advice on what to improve on. Getting feedback from hiring managers, peers, senior engineers (who have done a lot of interviews). I find people, myself included, get way too caught up in solving problems alone in their rooms. At the end of the day, these problems exist because they represent interesting computer science concepts/patterns and you have to be able to explain them out loud to people in a way they understand, not just write solutions alone.
2. Efficient studying. People pride…
Nope, the ISA is just a convenient way for people to pay. We often advise people to turn down offers for all kinds of reasons. Our ISA is only based on your base salary and people will very often accept offers with lower base salaries but with way more equity and higher total compensation. Sometimes people just accept straight up lower offers because of company fit (i.e. someone's dream company, and another company tries to compete and outbid them with a larger offer). I've seen time and time again (even to myself at Facebook) where while these FAANG-level offers sound absurdly high in the moment, your long term income will be dictated by choosing the right company that you succeed at.
It's actually a challenge because we work with a decent amount of bootcamp grads later in their careers who had ISAs with like crazy fine print (5 year paybacks, onerous requirements for job guarantees,…
Hey yeah you are on the right track. There are a lot of factors and it depends a lot on you, what your options are etc... So as you might expect it's a nuanced and multi prong approach
1. Through Formation you'll do a lot of interesting group (3 people) sessions to talk about your experience, background, etc... and help you get the ball rolling with becoming more self aware of what makes you unique. Towards the end you'll do some more intense technical behavioral prep.
2. In the job hunt, it's really case by case and we are driven to help you find a great match as the ultimate goal and do what we need to to have that. So for some people it might be trying to set them up with someone we know who had a similar path to talk to at a company before you interview. Sometimes it takes a little push for options we think would be good but you might not know about. Sometimes it's about how to ask…
I work with a lot of people from both bootcamp backgrounds and CS backgrounds that find applying fundamentals to technical interviews quite challenging. It's definitely hard, was hard for me to.
The big mindset shift for me happened after I started interview others. I ran hundreds of interviews at Facebook and it really changed how I see the process. I realize this isn't helpful advice, "get a job at Facebook and do hundreds of interviews" but yes there is hope.
Hi @Space-man_! I'm the person at Formation.dev that worked in this! It's an interesting story and absolutely a challenge.
Our designer came across someone that built something similar as a demo. The person, I can't find the link, basically wrote up something about this particle effect and published a really rough demo website as a fun project. Fortunately he created a custom license for the project that allows any kind of use, personal or commercial, and any kind of derivate works, so we were able to make significant modifications to rework the code and use it for our site. The only thing you can't do is sell his code directly but with your name on it.
The project was based on Three.js for the canvas. The demo was really not reusable. So we broke it apart and used the underlying particle logic and shading logic. We generalized a component that could fit in any shape and size rather…
Yeah I run a training and coaching for more engineers farther along in their career but the keyword bootcamp people pay hundreds of dollars or more per application they receive. It’s definitely extremely expensive, confirmed. Bootcamps pay Career Karma about $1000 per student that joins as well. If only it was easier to find the right program haha.
Hey, yeah I'm busy but trying to answer questions!
Regarding finding company fit its both algorithmic matching and your Formation Team human effort (you have a dedicated Fellow Manager and your own private channel with a career coach and engineers, so literally a team of humans to help). The algorithms help make the humans more efficient, so you can get great advice from very experienced people and we can scale the cost associated with having so many senior people on your side.
Everything you do week to week, both the individual activity and the sessions with mentors are mostly algorithmic and again, with your Fellow Manager and our technical team fine tuning things by hand to make sure we dot all the Is and cross all the Ts. Algorithms are much better at scheduling hundreds of unique hyper focused sessions fitting into everyones schedules every week than a human could ever be haha.…
Oh ok cool sorry! Yeah I just didn't want people thinking any bootcamp will sufficiently prepare them for DSA at a top tier level and saw your Codesmith comment below (consolidating comments here). I don't know every bootcamp everywhere and I only want to comment on things I feel confident in, but I havent seen one yet that prepares for top tier DSA well.
I know Codesmith and some others well because I work with a lot of bootcamp grads a year or more into their career who need a lot of support in getting to that bar.
With stock based compensation, it's really hard to measure W2 annual comp in a given year versus what that vested stock was originally worth when it was granted. I used to make tables to compare. When I was at Facebook, it was growing so fast (stock value was up like 100X from when I started), you could make less W2 year to year despite being at higher levels!
Codesmith grads get good jobs because they do large scale group projects that they leverage as work experience and get supported with references for background checks to maximize the legitimacy of those projects. It's a model working pretty well and I don't dispute the audited outcomes, BUT the DSA is absolutely not sufficient.
I'm very familiar with their DSA program, have interviewed many Codesmith grads, and have helped many Codesmith grads strengthen DSA to get top tier jobs. I was an E7 principal engineer at Facebook for 8 years, interviewed hundreds of people and am very familiar with the bar necessary.
A lot of developers from bootcamps are not landing jobs. A lot that are are not landing them at strong tech companies that have rigid hiring bars. DSA still dominate the top tier company interview processes.
I work with a lot of people who did bootcamp -> job, and work on DSA amongst other skills to help level up to top tier roles and it's a very lacking piece.
I don't think bootcamps teach DSA properly for a few reasons:
1. They generally don't have staff who are good at it
2. It takes time and bootcamps are short, so they focus on the easiest to train skills
3. DSA are hard and people already find bootcamp material hard and stressful, so a heavy DSA focus would probably make even more people leave.
I agree that that is a different model it's a good point and you are right. The algorithms are similar though, I don't really know how to convince you :D. Youtube recommendation algorithms are optimized to keep you watching endless videos. Amazon's algorithms are optimized so that you have such a consistent experience that you subconsciously choose Amazon whenever you need something. There is a lot going on here. Each case is completely different as you said and that's why we can't generalize anything about "the algorithm".
Amazon does similar things with promoted products. If you watch IMDB TV on your Amazon Prime video you get commercials for competitive products. Behind the scenes it's the same kinds of algorithms.
I agree it's all about buying stuff so it's limited in scope and that is very different from social content.
I have a lot of friends who watched that documentary and were like Michael I can't believe Facebook does X, Y. It's really a very large spectrum and thousands and thousands of independent things going on that is characterized as a person sitting in a control room watching everything you do and manipulating your behavior. That thinking it only polarizing things more and doing exactly what people are accusing Facebook of doing.
Hi! That's a great question.
There's this ongoing tension that's been around for a while and I don't think what we resolved immediately between a traditional college path and a more self-taught alternative path. Colleges have had a hard time keeping up with the latest and greatest skills that you need on the job, but the top tier colleges still have the most consistent deterministic outcome to getting to a top company out of school. Part of the reasons is top tier colleges accept highly competitive students from top tier high schools and those people might just succeed on their own regardless. But the result is a very strong network of people that keep the cycle going.
Another difference about college is that the top-tier schools focus on academics and to some degree they would love it if you went to do a PhD and stay in academia, so their goal isn't necessarily even to get you into…
I work with a lot of people who both got jobs after bootcamps, did not get jobs and needed extra support, and were self-taught and went straight to job.
Non-scientifically the main factor was having significant experience before the bootcamp. Some examples are:
* previous bootcamp
* 1+ years of self study
* job in related field but not coding related
* CS degree
The most successful paths have been:
* bootcamp -> not very good job for a year -> additional coaching -> great job
* self-taught/related job -> additional coaching -> great job
I would say it depends on your goals though, I personally work with people who are aiming for top industry jobs and not just any job, so my observations are skewed.
Hey, good question. I feel like this question comes up as well for seed-stage tech investors as well and they all have different answers to how to spot someone with high potential.
I have two different approaches:
1. Pattern matching against others. So people who had similar projects/experience in the past and seeing how they performed, and projecting if the person might follow a similar path.
2. Particularly unique or interesting experiences/projects/career progression. This might sound like 1. and somethings might overlap, but this is about looking for anti-patterns. People who are so far different from the observed patterns that you want to dig deeper.
Finally, I think everyone is high potential in some ways and finding the right environment to express that is the missing piece that I hope to help solve.
I don't know where it came from! Good question. The difference between an engineer and a developer is that typically engineers are solving problems instead of implementing solutions, and coming up with more general solutions instead of using existing ones. At the lower levels, these are more similar, but it's why most higher level people are "engineers".
I might be overanalyzing though, it's ultimately up the company to call it whatever they want.
Hi, I haven't worked there for a few years now, so I'm sure the culture has changed, but when I was there software engineers had a lot respect and leeway to work on their own schedules and prioritize their day to day. The expectations for impact were very high, so people who were not having impact definitely felt under pressure. A lot of people I worked with were used to get good grades in school and they put a lot of pressure on themselves to deliver.
The reason why I see people go there now is the scale. Working on giant systems, working on incredibly hard problems. You can see from some comments how much negative sentiment there is towards Facebook, and people genuinely want to try to make Facebook better.
Most things that happen at that happen at the office are covered under confidentiality so I'll be more vague.
When I started in Palo Alto, out of school, from Canada, it was pretty cool to see celebrities and important public figures come visit the offices and walk right by. Especially tech role models that most people might not know.
A memorable moment was when a fleet of shuttles showed up during a surprise all hands meeting and took the whole company to see a movie and rented the entire 10 screen complex.
I think it varies company to company. The general trend is that you have expectations for impact (you are paid a lot and presumably have to be generating more value to the company than they're paying you) but you also get a lot of freedom of how you do your work, as long as it gets done well.
Work like balance is definitely something to ask about when choosing a specific company.
Hi, I actually sat down a while ago and thought about the question and came up with four characteristics that all the best engineers had:
1. Grit: this almost obsessive drive to solve problems, debug, and keep trying different approaches.
2. Curiosity: always figuring out why something works the way it does, rather than saying "it just works".
3. Ownership: taking responsibility for your code and proactively improving it. Not pushing off problems you can solve to other people.
4. Team impact: making those around you better.
The best of the best are incredibly good in one of these in particular.
In terms of other roles: product managers and designers are adjacent to engineers when building products and are important pieces.
Hey, it is indeed! I'll go by interview types:
1. DS&A bar is the same. Often times more senior engineers are a little rustier, but they need to be at the bar.
2. System Design. The candidate needs to have a very strong performance. Both in terms have have many alternate solutions for many parts of the system, but also communicating the solution with clarity and appropriate depth.
3. Technical Behavioral. The candidate needs to very clearly demonstrate that the scope of their responsibilities was on par with a typical Facebook E6 engineer. Typically a higher level engineer or manager would be running this interview.
Overall, a staff engineer doesn't walk in off the street randomly, they have a lot of experience at one or more companies. So very critically evaluating that experience, and checking with references if necessary, will be crucial. Often times someone who claims to be at th…
Thanks for putting int the time to write up your thoughts, I think we can have a good discussion on this.
1. Completely agree, Facebook collects a ton of information, whether the intention is for useful product features, advertising, whether it's secure or not, the fact that they have it somewhere means that there is the possibility for "bad actors" to use it. I would argue that many companies have this problem, like banks, crypto wallets etc... but I would want Facebook to be taking a lead here.
2. There are two things in the second paragraph. Facebook isn't actively misusing data and there isn't a single "algorithm" doing this. This is a misconception that was in the Social Dilemma on Netflix that was represented in a way over the top way. But the second part is similar to point 1. If you for a second assume Facebook isn't doing anything too terrible with this data, what would happen…
Wow I didn't realize how downvoted my response was, I might have messed up how I communicated that. I would love to keep trying because I feel the only way we can move forward is try to understand.
What I'm talking about above is let's say Facebook is like "we need to add a new feature to upload files to share with friends". The first response isn't "won't people just pirate things illegally!", "won't people upload porn!" it's literally "how will we make sure the uploader can share this with specific people they want to and from an engineering level, only those people can see this file, ever.".
This is a low level of "privacy" that I think is missing the mark. But I've seen drop-everything emergencies and the most senior engineers working on these problems if there was ever an issue. A privacy bug would be a SEV 1 emergency.
I fully acknowledge this is not on the same page as the co…
I did say ask me anything but those questions are a little off topic. I'm too boring for those answers to be relevant haha except why I left in 2017 maybe. Which was just that I like writing a ton of code and to keep progressing at Facebook I had to have drive broad initiatives that would take time from coding,.
Hey, this is a really good series of questions that I have thoughts on.
* RE: Formation/the time it takes/business model. Our mission is to get people who have non traditional backgrounds, underrepresented in tech level up into these top tier roles. It takes everyone a variable amount of time. If you are committed to putting in the time you think you need, you are paying us to spend that time more efficiently at Formation. You are paying us for the outcome - to get a top tier job you are happy with. The gaps that are needed vary from person to person. We've built technology to help us figure this out and fine tune the training for these needs. So the interview fashions of the day aren't really that relevant to our business.
* RE: Types of interviews. Data structures and algorithms interviews level the playing field. Google gets like a million job applications a year or something and the…
I have opinions on this if you want to hear those :D. I'm trying to comment with high quality answers that I strongly believe will help people. I actually know a decent amount about "the algorithm" but I'm not qualified to comment on the social responsibility of them. I have an academic and I know too many PhD grads in sociology that would make fun of me for trying to comment.
Yeah we’re small and focused on every individual having a great outcome right now . Companies do pay recruiters and agencies a lot of money for sourcing so there opportunity. We might explore it. Right now Fellows are making roughly $80K more in comp a year and our pricing is capped and much much lower than that (and is only based on base salary, not stock or bonuses) so it’s been working. But to truly have an impact on the industry and help get more underrepresented engineers into these companies, we’ll have to grow and make sure that we can support more people.
I would say a common trait with engineers is that they are a little arrogant when they know something, and dismissive of things they don’t understand. I think people who can’t adapt will be replaced because technology changes so fast.
Hey, Facebook’s main backend is in HACK (PHP derivative) and their frontend is React with all the bells and whistles. You don’t need to know either to be hired as a SWE. Various backend services are also in different languages like C++.
In terms of interviews you can use any language you want and they are white boarding style, meaning non compilable code. I’m not sure if they have changed this since going remote for interviewers. But people have become reliant on IDEs and whiteboard needs a little extra practice.
I think this was a bad feature too but that feature did respect peoples privacy settings. The problem was that if people misconfigured their privacy settings a lot time ago and forgot, this would make it instantly discoverable, compared to when it might have been hard to discover in the past.
Hey, I think it's great you are talking your time and doing a degree over a longer period of time instead of a short bootcamp. From my observations, it usually takes people up to 2 years from day 0 to make a real transition in jobs.
A few things, I think you can try to apply your background. Like maybe look at Autodesk as a target company!
Second, don't choose a language based on market demand if you are willing to work remotely and/or move. Choose the language you gravitate towards to get started and build the fundamentals first.