“The Coding Machine” at Meta - with Michael Novati

  Рет қаралды 56,359

The Pragmatic Engineer

The Pragmatic Engineer

Күн бұрын

Пікірлер: 49
@TheEternalVortex42
@TheEternalVortex42 12 күн бұрын
As a fellow coding machine (still) at Meta (hi Novati!) I'm really happy to see this role get more prominence. Too much of the staff+ discussion online is focused around "tech lead"-style work, but in my experience there is usually too much of it and not enough senior eng doing execution. It just doesn't work well if you have only juniors actually writing the code, I often am able to identify bigger-picture issues that I would miss if I didn't do that.
@michael.novati
@michael.novati 12 күн бұрын
Hi! yeah I don't do a lot of public speaking (Gergely has good editing to get rid of a lot of "ummms" haha) but I completely agree that with so many influencer-engineers focusing more on other architypes, the coding machines who are spending all their time coding instead don't have as loud of a voice :D
@Daniel15au
@Daniel15au 11 күн бұрын
Me too
@adama7752
@adama7752 9 күн бұрын
Exactly, a smaller talented team can beat out huge teams. It's all about minimizing interfaces. However, at some point the large team will provide stability as each role is replaceable. Just the normal business life cycle
@NovaAsterix8
@NovaAsterix8 11 күн бұрын
Michael has been coding like crazy since he was...12? As his younger brother, I couldn't be more proud of him. He also made my own coding assignments super easy :D
@Doctor_monk
@Doctor_monk 5 күн бұрын
Haha.. I can't bevelive you snitched on yourself :)
@StingSting844
@StingSting844 13 күн бұрын
Man this podcast is the only one which offers a lot of insights into how these faang companies work and deliver. One thing I find common is that they all have superb infrastructure for development and coders can move at an incredibly high pace
@robkokochak8542
@robkokochak8542 13 күн бұрын
Spot on. These podcasts have been so insightful, very valuable for sharing information on what makes an encouraging culture for engineers
@MrSherlockholmes1001
@MrSherlockholmes1001 12 күн бұрын
Amazing interview, really interesting topic 🔥 It'd be also super interesting to know how Michael managed his focus as he grew in the org (seems it can be quite difficult to be a code machine while having to show up at 23 meetings this week), how he identified which things to tackle/refactor/clean up (do you just go looking, "stumble" upon them by accident, etc) and how he leverages his tools (brief mention of vim at the end there, as expected)for this insane productivity. Thanks so much for having him as a guest.
@michael.novati
@michael.novati 12 күн бұрын
Hi, I mentioned a little bit but I feel like I was like an "E5 senior" on my local teams. Most of the codebase was a monorepo so it was possible to do codebase-wide refactors and cleanups pretty easily. I often just looked for functions renamed "DEPRECATED_" to get started :P. I heard there are a ton more tools now for finding and refactoring code and teams that work on it. Building the tools and building these teams would be another path to have a ton of impact.
@nosh3019
@nosh3019 13 күн бұрын
great interview! thank you for bringing in Michael and all the great questions and answers! 😍
@ShaheenGhiassy
@ShaheenGhiassy 3 күн бұрын
23:43 I’m an E7 who just joined Meta 4 months ago. To answer the question being discussed, it is a lot harder to drive impact as an outsider, without a network, but the difficulty also speaks to why you were probably hired as an E7+ in the first place. Dropping into unknown orgs and being seen as a leader is par for the course.
@cnasir3475
@cnasir3475 13 күн бұрын
Rarely searched for podcast before this one.
@frydegz
@frydegz 13 күн бұрын
From what I understand, Meta has a very test-heavy culture these days - most PRs need tests from what I hear. A lot of code means a lot of tests - I was wondering how Michael either removes or gets through the minutia of making them. Loved the anecdote about that Risk game.
@michael.novati
@michael.novati 13 күн бұрын
I was notorous for not testing code, but not because of ignorance. Facebook had a culture of responsibility and you were responsible for what happened to your code once you merged it. And if you break everything, you better be ready to drop everything anytime, anywhere, to fix it, or no one will accept your code. I would imagine over time that would change, but I hope the ethos of "you are responsible for your code" stuck around - it gives people a lot of experience with ownership regardless of their levels on paper.
@frydegz
@frydegz 13 күн бұрын
@@michael.novati Well that answers that - thanks for dropping in! Very insightful interview.
@TheEternalVortex42
@TheEternalVortex42 12 күн бұрын
If you work on frontend/UI testing is still not very widespread (it's much harder to make robust and useful tests for UIs). For backend it's generally expected for anything but the most trivial changes. However we do have a lot of nice testing frameworks that make it fairly easy to write quickly. I haven't really noticed tests slowing me down much (and good tests will actually speed up development).
@dudeman99999
@dudeman99999 6 күн бұрын
This man is a legend.
@sashangovender5327
@sashangovender5327 13 күн бұрын
Be interesting to learn how he managed to avoid treading on other peoples code. Generally if you want to be a code machine. You have to obliterate other peoples opinions and subtle nuances that might detract from how you perceive a problem and the shape of solution.
@michael.novati
@michael.novati 12 күн бұрын
Good question and observation. Complicated answer. Overall, refactoring and destroying old frameworks generally makes a lot of friends and buys goodwill. If I would touch a team's active code, I would ask them first. More than often people liked me making things better.
@OtterSwims
@OtterSwims 11 күн бұрын
@@michael.novatihow did you navigate having to communicate with the teams that owned these code bases? For example if youre trying to make a large number of changes but dont have full knowledge of a new code base, how much time do you have to spend just talking to the maintainers before being able to have a clear path forward? Is the communication all front loaded or do you get the answers while experimenting and trying to merge whatever changes you can?
@michael.novati
@michael.novati 11 күн бұрын
@OtterSwims a couple of thoughts come to mind. I really would love to talk more about number 1 but it didn't come up in the podcast. 1. I needed to have most of the entire codebase I was working on in my head. This was critical. It's interesting because people expected me to be a coding machine from day 1 on new projects and I wasn't. I start by refactoring code and rewriting very simple things to force myself to touch the entire codebase. Once I have an intuitive sense of how the entire thing works and fits together, I can pretty much make any changes at the speed of my typing. 2. Trust is hard but critical at Meta because of the tremendous responsibility you have over your code. I did make mistakes and if I did some people didn't trust me to make more changes and it took years to build back that trust. I would often bring my computer everywhere and constantly check my phone for urgent alerts so if I did break something I could fix it faster than anyone else in the company could respond. This way people would at least trust that I will fix things that I broke if they didn't trust me 100% with the changes I was making.
@crypticsailor
@crypticsailor 6 күн бұрын
Better to work with people who don't like aging and worse code
@atmamont
@atmamont 12 күн бұрын
I’d like to request an interview with his manager now.
@MAMware
@MAMware 12 күн бұрын
is this an add for meta? im about to finish and it was all flowers to meta
@pragmaticengineer
@pragmaticengineer 12 күн бұрын
It’s no ad. I have no affiliation with Meta. My ethics statement: blog.pragmaticengineer.com/ethics-statement/ If anything, this is an episode sharing details not discussed in public about Meta! Like the hiring committee, how the Coding Machine archetype was created etc. Also consider that if someone liked working at a company and had a good run, they will be generally positive about it! Same thing with eg my time at Uber.
@jOeCHEM
@jOeCHEM 13 күн бұрын
🚨🚨🚨🚨🚨 it's Pragmatic Podcast day 🚨🚨🚨🚨🚨
@AbouAnia
@AbouAnia 12 күн бұрын
I work at Netflix and we def need this
@yudhiesh1997
@yudhiesh1997 12 күн бұрын
Michael where there instances where you wanted to make a change to a project but faced significant amount of pushback on the changes you wanted to make? How did you handle the people side of trying to push code out?
@catmaxi2599
@catmaxi2599 12 күн бұрын
Bro is asking a behavioral interview question lol
@michael.novati
@michael.novati 12 күн бұрын
Good question, the largest volume of code I wrote was cleanup which was never controversial - other than scaring people that I might destabilize long standing code. I had to be very responsible for fixing issues, and measure twice, cut once mentality. For larger and more invasive changes, you have to assume people are going to write a lot of bad code if "the system" lets them. So even if I went in and rewrote stuff, it would just become "bad" again shortly haha. Meta actually has a product infrastructure team that builds frameworks and abstractions that put guardrails up while simultaneously making development EASIER and faster. This was one of the most talented teams at the company.
@wajahatali6403
@wajahatali6403 11 күн бұрын
Hah from the title I thought it would be about some AI SWE replacement agent at Meta called "The Coding Machine"
@bushidocodes
@bushidocodes 12 күн бұрын
It's interesting how much this archetype reflects the "Move Fast and Break Things" culture. I've worked at a number of places where this archetype would be called "Tactical Tornado" and treated as an antipattern. Coincidentally, those sorts of places have a very extreme safety focus and lock down portions of the codebase with extreme forms of codeowners similar to how the Linux project is run. The slur I've heard against that codeowners mindset is "Cookie Licker" meaning that someone can licked the cookie to make sure no one else can touch the portion of the codebase. Crosscutting changes end up like UN or EU negotiations of a bazillion stakeholders. I guess the culture really does depend on what sort of systems you're building. A SaaS mindset likely isn't well suited for kernel code.
@TheEternalVortex42
@TheEternalVortex42 12 күн бұрын
You can be a 'coding machine' in a specific part of the codebase. It doesn't necessarily require you to work across many teams (though in practice that does happen somewhat often).
@mnchester
@mnchester 12 күн бұрын
Amazing and very insightful! Do you take recommendations for who to interview?
@pragmaticengineer
@pragmaticengineer 11 күн бұрын
I seek out interesting/fascinating software engineers (or those related to the field) who are worth listening to. If you have someone who fits it, you can drop it here or any of the other channels.
@OtterSwims
@OtterSwims 11 күн бұрын
@@pragmaticengineer what do you use to record and edit your podcast?
@sossupummi
@sossupummi 10 күн бұрын
bro the feed doesn't work, I'm getting a lot of irrelevant posts from irrelevant pages
@EMB3D
@EMB3D 3 күн бұрын
00:30 direct sql query to answer business question? No patterns? Great!
@nan5715
@nan5715 9 күн бұрын
Impact is crucial, I see some people crank out code but not optimal and buggy.
@ctomczyk
@ctomczyk 11 күн бұрын
The fail case "upload photo like template on top of their profile picture" sounds like "let's ship skipping all steps". I kinda understand that, but have a feelings that rush in such large scale isn't a best choice. "Let's ship fast and pray that nothing fails". Sounds like missing stress tests as well. Just an observation.
@richcole157
@richcole157 10 күн бұрын
I think the system where the lords claim for themselves all the impact of their reports is called a Monarchy.
@gligom
@gligom 12 күн бұрын
For my information, there are people that give 2500 usd/month just to have someone to test their readiness for an interview? Why not ... learn, prepare and go to interviews, live, you, alone, with you. If you don't get it, no problem, you get some experience, go study and ...next interview. Maybe I don't understand how this new job market works, but...
@pragmaticengineer
@pragmaticengineer 11 күн бұрын
When you apply to top-of-market companies that pay 2-4x for the same position as others: then this type of investment can make sense. Here are details about how the market is split: kzbin.info/www/bejne/nmm7oZSmrpt8b6c You're probably familar with how much eg Google or Meta pay for staff-or-above levels (L6+) in the US - $550K and above www.levels.fyi/companies/google/salaries There are not too many companies that pay in this range: and while theoretically you can apply again, in practice you won't be considered for another year. As with all services: it's targeting very specific people. More on the trimodal nature of software engineering compensation: newsletter.pragmaticengineer.com/p/trimodal-nature-of-tech-compensation
@gligom
@gligom 11 күн бұрын
@@pragmaticengineer Thank you for your answer. I can agree with you, but when you apply at that level you must know what standards are and what expectations. You must have a high level of training/experience already. Maybe this services will give you just that little touch or advice that you need in order to compete at this level.
@Rockyzach88
@Rockyzach88 13 күн бұрын
Now facebook is an arm of politics and politicians eventually lose. Interesting interview regardless. The thing about stories in the end is something I've come to understand in the last few years. People don't like just cold hard facts.
@shpluk
@shpluk 13 күн бұрын
So is the formation worth the price?
@kristiyantodorov8674
@kristiyantodorov8674 12 күн бұрын
Didnt
Shipping projects at Big Tech with Sean Goedecke
59:17
The Pragmatic Engineer
Рет қаралды 82 М.
6 Verbal Tricks To Make An Aggressive Person Sorry
11:45
Charisma on Command
Рет қаралды 24 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
NVIDIA CEO Jensen Huang's Vision for Your Future
1:03:03
Cleo Abram
Рет қаралды 294 М.
Discovering the Secrets to Product & Sales Alignment with Vincent Jong
50:01
Confessions of a Big Tech recruiter - with Blake Stockman
1:02:52
The Pragmatic Engineer
Рет қаралды 85 М.
How To Use AI In Your Startup
14:18
Y Combinator
Рет қаралды 60 М.
Microservices are Technical Debt
31:59
NeetCodeIO
Рет қаралды 760 М.
Evolution of software architecture with the co-creator of UML (Grady Booch)
1:30:43
The Pragmatic Engineer
Рет қаралды 118 М.
Transformers (how LLMs work) explained visually | DL5
27:14
3Blue1Brown
Рет қаралды 4,5 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН