Don the Developer discussed this post for 40 mins here: [https://www.youtube.com/watch?v=xz75K6fSSP8](https://www.youtube.com/watch?v=xz75K6fSSP8)
He strongly disliked the powerclap hahaha
Note: I was present in that live feed and answered some of his questions.
Congrats! +1 to leveraging your past career for finding a new job.
I've talked to a number of people lately and recommended this approach and it's really resonated.
Engineers solve problems at the end of the day.
Software engineers use code to solve problems.
But if you have another job, like being an Uber driver, or marketing person, think about the problems you have on the job, and how you solve them. If you can't think of any: start looking for problems, fixing them, and noting down the impact it had.
Why? That's what engineers do. If you are finding and fixing problems in your old job - even if they aren't technical problems, then you are thinking like an engineer, and that will carry forward to your new job too and show people why you are meant to be an engineer.
Coding is a whole different strategy - you do need a right answer. Either a good answer with super clean code, or an optimal answer with at least good code.
System design I would say, you can't have wrong answers. Like if you say confidently you need to do X to solve some scaling issue and X is objectively wrong, you will fail.
But there's more wiggle room in "right" because there are many altitudes going on. Being right you need a load balancer but wrong in the load balancer strategy/technique is kind of a mixed bag. Some problems are more universally "solved" and have a simpler answer, and some are more complex and don't.
I feel like I'm not explaining this well, but the interview is a back and forth conversation. The more fluid it goes, the better!
You can't build full Instagram replica from scratch in 45 mins - no one can. So you start with a lot of simplifications and assumptions, and then as the interview goes on the interviewer will start adding in realistic things you might want on Instagram for real. They might even ask YOU to come up with ideas. (This is where the "product" comes from in "product architecture").
So if your whole system is kind of Twitter-like, and everything is public. Maybe you add the option to have "people I follow" only see a post and talk through how that might impact everything.
I was in hours and hours and hours of conversations about privacy at Meta, and you also won't solve that in 45 mins either. Which is why it's about this back and forth process of demonstrating ho…
I mean my company now prepares people for interviews and it's quite expensive because a lot of blind leading the blind online and I ignore all of it. We've helped about a dozen people this year so far pass this interview at the E4, E5 and E6 level.
Maybe you think it's a messed up system that the interview is so complicated that people need to pay a lot of money on coaching to prepare and I think that's a fair argument. The interview process was designed for interviewing people who are currently working at other FAANG companies and we work with a lot of people I work with came from non traditional backgrounds. The gaps are real and need to be filled to pass.
When I asked newsfeed api we did indeed discuss mobile vs desktop use cases and how the API has to be designed for either, but it had nothing to do with mobile or JS specifically and this sounds like a failure of the candidate to m…
Ok, feel free to reach out to me, maybe the fact that both Meta and I are not articulating that well is part of the problem you're experiencing.
If you want to boil it down to 1 sentance - Product System Design === Full stack typical system design, System Design === infrastructure focused sysem design.
This is my personal recommendation, not trying to sell you anything:
- If you have multiple interviews at "big tech"/FAANG-ish companies lined up that are about 1-3 months away, I would consider joining for 1 month, 2 months ($4500) or 3 months ($6000). The key is "multiple" becuase, as a I said, joining thinking you are paying a ton of money to pass one specific interview is not the right mindset to have. Lets say you didn't get any of those, we want you to leave feeling like you are still ready and feeling good about more interviews and that you got your money's worth. For people with offers, negotiation help alone can pay back 10X those costs, for others, feeling like they can pass DS&A, SD, hiring manager/technical behavioral/jedi/bar raiser interviews is worth it enough.
- If you are actively job hunting and 95% looking for a new job within the next year, but don't have any schedu…
Systems typically has a more backend or infra engineering conducting it, and it will focus more on loads that break the backend and how to scale them. Whereas product is more "full stack" and focuses more on use cases people have that are tricky.
Example: systems might have a followup that's like ok you get a spike of 10X the number of users at midnight every night, what breaks.
product might have a following for like simple instagram that's like - so you add privacy settings to posts, how does that impact the entire system end to end - which is mostly functional, but you need to identify if something won't scale performance-wise too.
**I RECOMMEND PRODUCT ARCHITECTURE FOR MOST PEOPLE LOOKING FOR A STANDARD SD INTERVIEW.** The "systems design" variant is ideal for people with several years of real experience on a big system, oftentimes at another big tech company.
Build Instagram, design a feed API, design a hotel booking system, design Uber, all the classic stuff.
The product one focused more on APIs and supporting user flows and client devices rather than focusing on the backend piece and scaling every last drop out of it. Product architecture still needs a full end to end solution including the backend pieces!
Hmm, the prompts are generally the same but that doesn't mean you prepare the same way. I might have not explained myself clearly here, that the prompt is largely irrelevant.
I worked with someone that was overprepared for prompts and got one they prepared for and didn't pass because they were trying too hard to get the right answer. It's about the process and not answering the prompt.
The prompt is just a vehicle for discussion.
I don't know anything about the iOS one other than that, similar to SD, it's testing experience and expertise. So ultimately you have to have the experience to pass and you want to practice how to communicate that experience in the interview. For example, explaining multiple ways of doing something and the pros and cons.
1. No back of the envelope calculations. A lot of people are worried about that when this comes up, it's primarily used to help you identify which part of a system will break first under different usage patterns and that you should be able to do, math or no math.
2. I'm sure you'll find a ton of resources while Googling but two more I like that are:
The video archives from Meta's official conference website (specifically the product related ones about how core systems work) https://atscaleconference.com/
The author of Blind 75 has a website focused on product SD that has some free stuff too https://www.greatfrontend.com/
I should disclose that someone mentioned in the comments about Formation and I'm the co-founder - which is also why I know a lot about this because we help people professionally to pass these interviews. You should NOT join just to pass one single interview with one…
I disagree strongly with this. The prompts are often very similar and the main difference is the type of engineer interviewing you and how much big system scaling experience you are expected to have.
Yes, I helped roll out this interview type at Meta. I've also worked with a number of people at Meta in the past month and I have directly helped them with this interview type (from E4 to E6), so I know what I'm talking about.
So this is the "product" variant of Systems Design. They have two variants: "Product Architecture" and "Systems Design", as well as more variants for specializations like UIE, ML, iOS, etc....
It's a full stack systems design interview. The "Systems Design" variant is a super backend variation that requires experience with large scale systems to do well with. The "Product Architecture" variant is focusing on more full stack experience, and maybe a couple of areas you dive into.
The prompts are fairly similar all around, "design Instagram", "design a hotel booking system", etc... they prompts are somewhat irrelevant.
General advice is the following:
1. Start wi…
It absolutely matters. The top 10-20 CS schools have dedicated recruiters from FAANG companies that are solely dedicated to each school or a couple of those schools. They get to know students individually at campus events and they build long term relationships starting in your first year so they are on the radar when you each summer for internships and when you graduate.
The other top companies that are not the FAANG, they will pull those top schools out of the stack and it gives you a leg up even on paper through traditional pipelines.
For the rest of companies and non-tech companies, I think it matters less.
But just flip the table around. You are a recruiter and you have 1000 applications that all look the same. You look at the people that went to Stanford, Berkeley, MIT, and CMU.
Haha I like the analogies :D
I think that today, success is still proportional to talent and hard work, but the things that's changing is **TIME**.
If you are talented and work hard for \~2 years, I think you can get a job without a Stanford CS degree, but people are expecting that to happen in 12 weeks + 1000 applications over 6 months.
I have an engineering degree, but what got me my job at Facebook was actually self teaching web programming on my own. I was doing a full time 13 month internship/co-op at the time and woke up early and went to bed late working on a web platform (it was an internship review website, from scratch) for about 8 months straight. I learned so much by having real people using this thing, turning into a corporation with 3 other people, acquiring a competitor.... not just about programming, but product building and growth and marketing and all kinds of things…
Thanks for sharing, +1 to a lot of this, this is all really great insight into some topics that aren't discussed that much here.
My additional thoughts:
1. As you said, not all CS degree are the same, and internships are critical. The cheap and fast degrees don't have great internship opportunities.
2. Apprenticeships, they have always been absurdly competitive, and so many qualified people apply, there's a bit of luck involved there too, beyond your control.
3. I remember during the boom times when people were calling out things like Revature for their questionably-enforcable contracts. Because the same people could have gotten higher paying, more stable jobs not through this mechanism. Now that the tables have turned, these are being given more consideration. Agree to do your homework and consider all options and see if they work for you.
4. **Networking + Referrals.** Not all ref…
Yeah I think I would add 3.
Each FAANG is different and the different culture and maybe different companies are good for different people. so just trying to do whatever you can to get that name on your resume. might end up not working on it as well as you think it would. and maybe it's a good thing if it's just not the right place for you either.
Hi, sorry to hear about that :(
1. I would let your recruiter know before you hear the decision. I would specifically reference the question "How will you survive X" because I don't know a FAANG company that has a culture OFFICIALLY like that and it's inappropriate to ask that IMO.
2. Sadly, the reality of an interview process is that there's factors beyond your control and no matter how much you prepare, you just never know if things like that are going to happen. so I always advise people to not put all their eggs in one basket and to try to have a preparation strategy that will get them ready for a range of similar companies instead of just one specific company. so hopefully you'll be able to find another option.
I don't :(. Back when I left those were rarer AND I was not involved at all (I helped roll out the Product Architecture variant and know a lot about that thought to make up for ;) ) but I don't want to give any bad advice.
A lot of posts I've seen about Triple Ten are from people in the first few weeks or the first sprint, and then sneak in referral codes in their posts or comments.
Do you have any insight into how many people finish it? I haven't heard from any of those people and am curious to talk to someone who has completed it (job or no job).
Correct, we will notify everyone when interviewing is fully wrapped up just to confirm your status because there's a very small chance we will do additional interviews to fill the slots, but very likely means you weren't selected.
Yeah you got it regarding that project, change a cookie and delete everything :(. I told them about it weeks ago and was offered to be paid to fix it myself :(
Codesmith has weekly "family dinners" where you eat and socialize with others and I think sometimes there are announcements there. I've heard of different rituals during lectures, I don't know if they are set by cohort or by section, I've heard of the powerclap at the end, snapping, various zoom background stuff.
A lot of "family" references. Like in CSX Slack, people sometimes address people as "family".
When you spend 11 hours+ a day with people 6 days a week, it makes sense people feel like family.
Yeah I agree with this but I'm really bias because of Formation so this is obviously a skewed position that I have.
Like I personally worked with someone to increase an initial offer by $200K first year TC and how much is that worth?
It's a really odd industry compared to most because the amounts of money thrown around a "typical" FAANG senior, staff, etc... engineer is not just like 8% per year compounded, but like 5X a junior engineer.
The amount of work on my side it takes to help that super senior person negotiate is less time, but a lot more extremely nuanced expertise that took years of exposure and observation to build.
It's a lot more natural to try to associate the cost with "what services am I getting, how many sessions, how many projects", etc...
**It's a lot harder to think of paying as an investment that will hopefully offer a return. Increasing comp by $200K first y…
Unfortunately not for that program. If you want to send me your resume I'm happy to give some feedback from my personal point of view though and not related to Formation or Netflix and the program.
By building a jetpack so you can fly above them all.
Joking aside, it's an analogy. You have to do something different, and there three approaches (I got this framework from a friend who was an amazon warehouse worker and an OpenAI Principal Engineer and many things in between and he shares this a lot privately):
1. Do something smarter than anyone else. If you are naturally smarter than 99% of people, you can find some way to show that.
2. Get luckier than anyone else. Maybe you can make your luck by being in a tech city and going to bars every night to "bump into" software engineers, but you can just sit there and hop to get luckier.
3. Work harder than anyone else. This is the only one in your control. But you actually have to do it. The person said he would sleep at the office in a hammock under his desk every day for a month at a time for example. Like you really just have to do…
+1, agree on a lot here.
I do actually agree that the scope of the products could be mid-level and senior, the only missing piece is the SCALE - building a product for a larger number of actual users is important in being a mid-level and senior. Building a tool that solves a vague problem is an important part - actually working through benign day to day problems actual users have and prioritizing and making judgement calls along the way is a missing piece that's just hard to get anywhere. Even the most successful and long running OSPs don't have any real usage I can find (e.g. ReacType is a headliner that as far as I can tell no one uses, and no one seems to care about the security issue I reported that lets anyone wipe out their marketplace thing, and clearly no one is using that feature anyways)
But yeah agreed on scope actually haha.
"storytelling" to me is where the strategy part…
So Codesmith doesn't just hire fellows/TAs, but there is a pipeline - which is extremely disrupted by the recent changes and could very well change
Resident (student) -> fellow 3 month @$50K salary -> lead fellow 3 more months -> mentor (full time paid $80K - $120K depending) -> instructor ($120K to $150K) -> lead instructor ($150K to $180K)
At Codesmith the ENTIRE instruction hierarchy is this except for:
1. One person who was hired as instructor who went to another bootcamp and taught there for two years
2. Two instructors I know of were SWEs in industry and came back to teach. Both of those people are no longer instructors and didn't last long after coming back from industry.
There are a lot of pros and cons to this approach, but just laying out there in this comment for starters, can discuss more.
Sadly, +1 to this in the current market, you need 2 YOE in general to have a "standard job hunt" pipeline and under that is a bit of unreproducible wild west.
It's one of the reasons I jump on anyone posting a success story right now and framing it like anyone can do it. Anyone CAN IN THEORY do it, but there's no reproducible path to getting through with under 2 YOE right now.
I think really tiny bootcamps with a single cohort under 30 people that all get personalized help might be able to increase the odds of finding your edge case path, but again not scalable, not reproducible, a lot of 1-1 strategizing and a bit of luck.
Yesh same for Rithm and Launch School. The main difference in grads is how they present themselves and not in their skill sets or experience levels. I tend to see a little more adjacent tech experience at Codesmith but not enough to target higher level jobs. That experience though could maybe explain why Codesmith grads who really frame that adjacent experience as technical coding experience, can get $130K jobs at less tech focused companies. But no reason a Rithm grad could do the same strategy.
I mean like I said, a lot of people like the vibe, and it was a whopping 11 hours a day and 6 days a week. It's not like it's extroverted activities for 11 hours a day straight.
I saw a session recording once that someone described as an example of what they meant. It's a vibe that you are present and active. You acknowledge you are present with positive emoji reactions to every post.
The more concerning example of toxic positively was if someone had a negative attitude there was a process for instructors and coordinators to correct it and go to phrases like "snuggle the struggle". Being negative was seen as a problem to correct versus a person to debug.
The theories people have said are more around that the people doing the debugging have no SWE experience and just know the Codemsith way so they are going to these tools as all they know to try to help people. Someone sticking with i…
Yes. Codemsith grads with no prior experience are by definition entry level SWEs and I think can compete with CS grads who don't have internships under their belt. I can go more into why if this is challenged, but that's my opinion.
Codesmith levels people by capabilities and not skills when talking about levels, which is the main source of disconnect.
My stance, CAPABILITIES GET YOU PROMOTED FROM JUNIOR TO MID IN 8 MONTHS, BUT NOT MID AS THE FIRST JOB. Again, can do into why but very strong opinion based on 8 years a Meta seeing it grow from 200 eng to 10K eng and observing a lot of growth of poele and hiring systems.
A really important part of what I'm saying that I haven't people comment on is the relative expectations.
If you are comparing yourself to the best in the world, these projects are far below the bar of junior work. The Medium articles and resumes dont match the work. Someone says "integrated test suite and achieved 95% unit test coverage" and then the code has jest with example strings in it still copy pasted from stack overflow in it and there are like 20 tests for the backend only that don't actually test properly. This type of thing is the norm and not the exception. It doesn't come across like it's an MVP but it's a slapped together code to check off boxes to expand resume bullets.
WHICH IS FINE FOR A BOOTAMP!!!!
META COMMENTS:
There's been a lot of suspicious posts regarding Codesmith over the past few days (all over the spectrum, good and bad, and from a lot of brand new accounts, people have gotten banned)
This post is from a brand new account that seems created to write about Codesmith, which is a bit suspicious too.
That said, the factual content about the logistics of Codesmith all reads accurate. I don't work there and haven't gone there, so maybe I shouldn't be the judge of that, but I've seen the entire curriculum, and have private been told of certain little details around "family dinners", the clapping stuff, etc... that either someone is training a on all my public commentary about Codesmith, or this person - if not actually a resident - is pretty close to Codesmith.
OVERALL:
It sounds like you probably shouldn't have chose to go into Codesmith to begin with because your style do…
No, but this sometimes does
[https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExMDdiaWdkeXY1Y2E0YnlkMXozYmlmd3dzN3R3MDJ1azJnd3hzcmxvYiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/ewzF6uunnPn6L5amuW/giphy.gif](https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExMDdiaWdkeXY1Y2E0YnlkMXozYmlmd3dzN3R3MDJ1azJnd3hzcmxvYiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/ewzF6uunnPn6L5amuW/giphy.gif)
Can everyone on all sides, go for a quick walk around the block? There's a lot of people here who are passionate, but it's getting too name-calling vibe that feels bad.
+1 to this, I agree that I should try to give more room, it's something I'm thinking about more when I comment.
I do think that having well reasoned and backed up opinions makes it hard to reply with just off the cuff comments, but I also agree and I can sometimes dominate threads.
Yeah I try to explain Formation over and over and each time I have to repeat things not because I'm being annoying but because people might not have seen previous answers and not familiar.
If you are curious how we are doing now, because we have an adaptive mentorship platform model we can adjust in real time and we've therefor adjusted more senior and seen very good placements in February and March so far, this is unedited list other than < 10 person startups removing the name for privacy, and there are a couple Meta and Microsoft offers that haven't been signed yet!
||
||
|Scale AI|
|Google|
|Oracle|
|<STARTUP TOP TIER>|
|JP Morgan Chase|
|Atlassian|
|Meta|
|Meta|
|Netflix|
|JP Morgan Chase|
|<STARTUP 2ND TIER>|
|Google|
|CoreWeave|
|Arista Networks|
|Doosan|
|Withe|
Everyone at Formation has a different timeline, does different things, has different needs, and it's very hard for us…
Hi, I looked this up, and I don't feel like I was super involved in that post or thread, but sorry you feel that way. I do indeed participate in a lot here, which I hope encourages and stimulates productive discussion more than discouraging people from participating.
I have absolutely zero intention or standing (moderator or not) to doubt or question your personal experience as you see it. I have full intention and full right, just as a user, to question extrapolations and statements beyond personal experiences. So saying something like "I feel like I learned all the DS&A I needed at Codesmith" is not something I would question. Saying "Codesmith absolutely teaches you all the DS&A you need for any job" would be something I would absolutely question, because I have a examples that strongly counter that. This might be subtle but I think it's a huge difference that I take very seriously.…