Ask Me Anything - L7 Senior Staff Software Engineer at Meta
975 segments
So I just had an AMA and I had a lot of replies over 300 or so
replies and I went through and. I do duped all of them and I just
created kind of like the top questions, like the themes,
the common things that people ask me. And I thought I would
just like organize it and just answer it here so that you don't
have to go through and look at all of the AMA to just like get the
nuggets of the entire thing. So yeah, I had a blast doing this.
I'll do it again. So let's do it again. So let's get right into it. Right.
Future suite jobs. This was like a common theme. I got multiple
questions about it, but Kartoa asks, Hey John, appreciate you
doing this. Where do you see the future of SWE?
For context, I'm currently a SWE 2 at Fang Adjacent Company.
I also got an offer for dental school and I'm strongly thinking of
pivoting due to the uncertainty of
our future job market.
Now, Kartoa,
you're putting me in a very difficult position
because honestly, no one knows the future. The future.
You know, obviously there's definitely like safety in doing a job
like dentistry and, you know, anything physical, at least for
a while. But maybe because I'm an optimist, I actually kind of
believe in like Jevons paradox,
where as all these coding agents and coding tools, as they go
down in price and the usage of it goes up, I think even more
and more code is going to be landed. And then that just means
that even more engineers are going to be are gonna be needed
to review the code, land the code, maintain the code. Now I do
know that like junior engineers are having a hard time entering
the field. So that problem needs to be solved. But I think
like fundamentally,
I think we're gonna be all right for a while. At least from
kind of what I've seen, like the latest models outputs,
they're good. But at the same time,
it just like kind of sucks at the same time sometimes. It's just
like LLMs are like geniuses and they just kind of also fall flat on
their face
for even the smallest things. But yeah, so I still think this is a
great job.
I honestly though, if you're just starting out, it's hard for me to
recommend 100%
because the entry to get into it is pretty hard. But if you're
already in it, I think you should just stick around
and make sure you're like learning and pushing and like
adopting these tools. But yeah, thanks for your question.
All right, the next question is around agentic coding workflows.
Essentially like what my
coding workflow is.
So missionary,
given the rate of change in AI, what is the right percent of time
spent on workflow,
harness, tooling, DevX optimizations? How has it changed
since 2022? What is the best way to test new workflows?
By just using doing real work
or is there a certain flavor
of tasks slash projects that's best? Okay, that was a very hard
sentence to read. So the right amount of time, I think it depends
on people,
But there is a balancing act, I think, between just like
always jumping on new things versus
just sticking to what works. So what I like to do is I like to get
like a really nice workflow going. Right now, I use Codex and
especially Codex app for a lot of my work, but I still use Cloud
Code mainly for Fable access if I need something like very
like in-depth to do. In depth to do but at a high level i'm kind of
sticking with what i know and i really know how to like navigate
and i'm essentially a professional at but every time there when
there's a new model that releases and some major events like
grokbot is an example it just came out and it's like kind of
changing some of the paradigms you know it's like open cloud
but it's supposed to be more polished and fully managed so
things like that i will give it a shot and i'll like test it out.
Because it's a paradigm changing like kind of event.
But besides that, I think it really depends on you
and your like
desire to be on the latest and greatest.
But yeah. And then the second one, I think doing just work
is okay. It will get you so far. But the thing is, if you just rely
on doing
work to learn these things, there is a limitation of what you
will learn. What I like to do is I just like read the docs. I'll go and
just like read all of open AI or clock codes, like entire docs.
And then I'll just like try
these things that they're saying out, like try all the hotkeys,
try all these things. So whenever something new comes out,
I have phases
of exploration. Like, oh, I think there's a big Delta. Like I'm
going to give cursor a try again, since I'm going to try Grokbot,
I'm going to play around with it. And. I already look at it and it
looks very similar to Codex app. I actually actively spend time
learning the tools deeply because I think that's the best way
to take advantage of it. And you'll be surprised how much of
your work will change based on some hidden feature that you
may never run into if you were just working. All right.
Question number three, reviewing AI code. Can you explain in
detail your diff
view workflows? How do you review code after it's generated?
Do you open an IDE or just ask another agent? And this was
from Pablo. Oh, I actually got a ton of this questions. And, uh,
if you want kind of like a written down version, I actually made a
post about it recently, but to reiterate that a little bit,
essentially code review is the one topic that I keep changing
my mind on. And it's
like a gradient.
Um,
it's like a sliding window on what diffs or PRS that I review.
Now I kind of look at code review as like, I imagine like a tree,
like I think of like
a tree when I'm looking at the code. So I'll look at the code and
I'll quickly see what files are being changed and like what kind
of code is being changed. And then because at least I have a
pretty good understanding of the code bases I work on,
I immediately know whether that code is touching everything.
If it's an infrared code, if it's touching like hotspots in the code
base that I know,
then I consider that as like a trunk change, something that is
highly interdependent. And if it breaks, it's going to cause a
big issue.
Then I'll increase my own effort level and also my agent's effort
levels on reviewing that diff.
But even when I'm reviewing that diff, I really think about the
gating and the safety
aspects first. And then I'll look at the quality and the cleanness
and those kinds of things. But it's really around safety. Like I'm
highly anchoring on safety when I'm doing code reviews.
And then there's the other like
types of code, which is like leaf node codes.
So something maybe you created a new compose component
or react component. You haven't integrated it like landing that
code only changes the bite size of the code. I guess in
JavaScript land, it wouldn't even get sent down.
But anyways, that I don't look too carefully because the safety
of that code is like very safe. It's like not being used anywhere.
Right. So. I'll definitely just kind of let it go. I'll, I'll review it,
but I'm not like reviewing it like before. So that's like kind of this
high level, like philosophical thing. It's really around safety.
And then like, how can I get the diffs to be safely reviewed?
So all of the old practices still remain of making atomic diffs,
like very small diffs, single purpose. So that is easily revertable
and also like easily testable. And then the other big thing is
getting the agents to really give proof and confidence levels on
their validation. So whether that's screenshots, videos,
or runtime data, maybe they do A-B testing on some like,
I don't know, some like runtime logs, and then they tell you, oh,
the runtime state is like this. So it's actually good.
Unit tests, all of these things that's around safety,
I overemphasize in my code writing. And I'm optimizing for like
landing code at big tech. So it's really about
trying to land it safely as possible. Because at the end of
the day, any code that you
write with AI, you still need to back it up. You can't go to like a
sub review and say, hey, the AI wrote it, it's not my fault.
You know, at the end of the day, you have to stand by
what you put out.
So I anchor really heavily on safety and then really tune my
effort based on how safe I think that piece of code is. I hope
that's helpful. I wrote a little bit more detail on the post. So feel
free to read. All right.
So the next question is around architecture
without experience. This type of question I actually got a few
times about people asking about, how to learn things when
they don't have experience. I think it's actually really cool
because it just shows that there's a lot of vibe coders or people
who are just interested in this kind of things who never
would have
really been interested in learning how to code. I think not,
I don't know, Joshua, but I think there's this whole set of
subcategory of people that just are
getting into coding because AI is making it easier and
more accessible. And I think that's really
cool. So hi, John, thanks for doing this AMA.
Coding becoming more common, how do you make sure that
AI is making good architectural and coding decisions?
Especially if I don't have
much experience. It's one event, so I'm missing some of
your posts, I think. But
the high level gist is that
honestly, it's very hard if you don't know something you
don't know. You could essentially use the AI to do
adversarial reviews.
So there's a lot of skills around like grilling your architecture
and all this kind of stuff. But at a high level, you should always
anchor on trying to get as much understanding. If the AI is
doing something and telling you some plan, if you don't
understand it,
I think if the goal is for you to get better, I think you should
slow down. You should pause and try to understand
what the AI is doing. Like every word, every term. Like recently,
I started learning about like model scaling, and I'm not a
machine learning engineer. Or like an AI researcher. But I saw
Ryan Peterman's podcast on some, I forgot his name, but he
was from like Google, DeepMind. And he recommended this
series on Jack's ML. And essentially, it's like how to think
about model scaling. And I've been kind of consuming
that material. But it's been very slow. It's like, I'll read
one paragraph, and I don't understand it. And.
I essentially have,
you know, Codex or CloudCo, both are fine, like the
Chrome extension. And
it's looking at my browser. So I'll just
say, hey, what is this? What is that? And it literally takes me
hours to get through like one page.
But after I do it, I have a much deeper understanding than if I
just had breezed through it, right? So in my opinion, I think if
you don't know good architecture, or good coding patterns,
or things like that, you know, study the fundamentals,
like question and ask and use AI to teach you how to be a
better engineer. But yeah, that's what I
think. It will slow you down. Like if the goal is to build products
and like just really stuff and like have impact in the world.
This may not be like
the best advice. But if the goal is to learn and get better,
then yeah, use AI to learn and get better. All right,
question number five is update on the coding walkthrough.
So let me read Alan's post. Can you make a V2 for this video?
And he linked one of my. YouTube videos.
With the latest CloudCo video
and
all the things you've learned since the last video, Nothing beats
a screen share and actual code, which is totally true. So I had
this video, it went kind of viral on YouTube. I think it was like
sitting at almost 500, like half a mil views. And it was my first
like major breakout video. And this was right around the time,
like, I don't know, when Opus was going viral too,
like November or like early
December or something like that.
But it's a really thorough video. And I still think a lot of the
things I covered in that video still stands. I think the way I
covered it, and it's not just about like showing things
about Clock. Code, but I cover some bits of agentic
engineering and things like that. But I should make another
video. The thing is, I did make another version, but I happened
to just like use that material to teach with ByteByteGo. But I
should probably make another version because even
since then, since I've been teaching, I've created a whole new
stack using Codex app more.
And then goals is a thing. Graph engineering is a thing.
And there's like graph
bot is like another thing that I'm like, got to look into. So there's
like new things. But I think agentic engineering and the various
pieces of it, like context engineering, compound engineering,
harnesses, agentic tooling, agentic validation, all of these kind
of core
fundamentals of agentic engineering, I think is here to stay.
They're evolving within its own thing, like their own lanes,
but they're all
like core, I think, to agentic engineering. So long answer short,
it's in the works. But these kind of videos literally take months
of research of just being in my workflow for
day in and day out. And so it takes a long time. Yeah, so I'll get
to it as soon as I can. All right, the next question is around
manual coding.
How much code do you write by hand? And
the simple answer is none. I don't manually write
any code by hand. And, you know, I think this is
pretty common. I think the only people who are actually still
writing code by hand
is people who want to because they want to feel something
different. There's a lot of there's a group of people who
genuinely just love to code like manually. And I was that I
actually don't have a CS degree. I have a non
traditional background. And I found coding
as a hobby.
And it took me like five years of just doing it on the side building
random apps with my friends until I decided to become an
engineer and then like did a boot camp and all that kind of stuff.
So when I stopped coding by hand, there was a period of time
where I really mourned it. And I was like, man, this feels kind
of bad. And, and during that time, there was a lot of babysitting
auto mode wasn't even out yet.
Right. So
it was a lot of just like constantly juggling so many
different threads, and they would stop very quickly. Like these
days is a lot different, right? You're like, writing long goals that
do bigger tasks. So you have more
kind of
ease of mind, at least in the brain, like context switching.
But yeah, so manual coding, I think is going away as sad as
that is. But yeah, it's just kind of the cost of this whole,
like change and revolution and anyone telling you that, hey,
manual coding is not going away is, you know, it's more like
they want it not to go away, I think.
And maybe for their very specific code is like very specialized,
and they don't feel like AI can do it. And I think there's some
merit to that, right? Like AI is not going to write perfect code the
way you want it exactly.
But, you know,
it will get the job done with the right context and the
right validation, in my opinion. And this is kind of where,
where the whole like coding is solved meme comes from,
like people go, oh, you can't even like update the codex app
without having you to like install an update or something.
And then they'll put like coding is solved. I think that's just
like disingenuous, honestly, because like with enough context
and with enough validation, I think,
like, the coding part is solved. The AI will do the coding for you.
But that doesn't mean there's all this like other true engineering
work that is just
like done. But yeah,
that's kind of my high level tech on the manual coding. All right.
So the next question theme was around
competitive advantage. So my hash, Vivi says,
if AI makes everyone capable of building, what becomes the
real competitive advantage? I think there's a lot to this here.
The first thing is around domain knowledge and like
domain specialty. I think like social media is like a really hard
thing to compete on is because
the true power of social media is really the graph,
the graph relationships. That's a mode that's very hard to beat,
even if you have AI. And also for all of the major big
tech companies, I think data is a big one. Like Tesla,
for example, it's hard to beat them on self-driving
because they have so many miles. And so the only way like
other companies can beat them is through different ways,
like adding LIDAR, for example. That's how like Google is
getting around it, right? With Waymo. But Waymo also has a lot
of miles, right? So I think there's still a ton of ways for you
to compete. Now, if this question is really like on individuality,
like how do I make like a successful app or whatever?
How do I like start a startup? I think this is a question that
always comes up. But if you just look at the data of all
these companies, there's been more newly minted
unicorns in the past like few years because of AI. And I actually
think there's a delta in the skill
gap of like AI usage. And I noticed that because I teach
AI coding, I just like see the knowledge gap between
various people. And like most of the students that I've taught
like the stuff to like,
like their mind is blown, right? And the thing is,
when I talk to like average non like Silicon.
Valley, like tech bros, people who are not in this little bubble of
like always talking about rock and image generation and LLMs
and open source and, you know, like model costs and all like
there's normal people are not like that. Most people don't give a
shit about any of that.
And when I talk to them, most of them are just still on ChatGPT
or Gemini. And they don't even know that like
Codex exists and Codex can do all these things. And some of
these people are like young. They're not like my mom. My mom
uses like Gemini and ChatGPT and she's like, oh, it's so great.
But like average people don't need these other things, right?
So,
but yeah, so in my opinion,
there's multiple ways to answer this question, but in terms of
like competitive advantage, I think you'd be surprised how
few people
know these AI coding tools deeply. So if you're learned that,
if you're on board with that, then you're going to have an
advantage here. All right, the next question is staying sharp
with AI. All right, this guy has a bad username, but he had a
good question. So how do you stop writing code manually and
not lose your coding sharpness? So this is very related to not
coding manually question. Personally, for me,
I'm constantly learning. Whenever I don't know
a piece of architecture within the code base, or if I run into
some kind of new patterns that I haven't seen in the code base,
while I'm reviewing the diff, I'm always asking questions and
digging into it. And for me, I actually spend a ton of time
on my own digging into other new technologies. Like I think I
mentioned that I'm going through the Jaxx ML like scaling
model scaling
course on my own because. I'm just interested. The big
advantage for me is I create content. I create content around
this topic because it's actually my hobby for some reason.
But yeah, I really love learning about all this stuff,
making content about this stuff. So for me, it's kind of like a
flywheel because, oh, I want to make some content about
some AI thing
that I'm interested in. If I want to teach, I need to understand
this stuff, right? If you want to test your knowledge, you teach,
because once you start trying to teach it and like verbalize what
you think, you know, then you'll see the gaps in
your knowledge. So
I like to try to teach. That's kind of the reason why I actually
started YouTube eight years ago, because I just wanted to like
talk about this stuff. And doing YouTube is like a really good
reason to just really get into it. So I always try to teach what
I learn.
And
because of that, I post and I get excited about it because we
were talking about it and it's fun. And then it actually changes
the way I work sometimes.
I just see a lot of benefit of continually continually learning and
trying to teach what I
learned and that's how I stay sharp so I recommend it for you if
you're interested in teaching but if you don't then you just have
to be good with having deep focus time and learning just
constantly learning all right next one is around becoming
job ready
so
Vashnavi
Patil hi John I'm not in the job market yet all right
someone young
as someone getting into software slash cs what skills or ai
related things would you recommend focusing on now to be
truly job ready
keeping it at a high level what matters the most versus what's
just noise
so at a high level i think learning
one of the like agentic coding tools whether that's like codex
clock code open code i guess cursor whatever it is learn it
really well like understand how the memory works understand
what's a skill what's an mcp
what's agents agent teams what's the difference between sub
agents versus agent teams in claude's case what's ultra code
in clock case when should you use that how good are the
different models
like do you have a good enough sense of using all these
different models that if i gave you the output of like something
from chat gpt models versus like clod do you think you could
like see the difference just by the feel of the model can you feel
the model because you kind of can if you use these models a
lot you just know that's like from opus or that's from soul you
know you kind of can get a sense of it so yeah just get really
good at all of these agentic coding tools and learn agentic
engineering there's so much to it so much to learn i i think
maybe not yet but all of these things that I'm talking about,
I think the industry is going to move towards trying to filter out
candidates that does
know these stuff or does not know it. Like it's, I think the
interview process will change at some point where these are
going to be tested. So I think that
is probably one of the most important. And then the other
big thing, in my opinion, is still learning foundational,
like fundamentals of like data structures and algorithms,
design patterns, you know,
clean code, Bob,
Uncle Bob, you know, watch his stuff, right? So
all of these things, I think the core foundation is really
important because agent decoding is essentially
an abstraction. It's a layer above, right? And abstractions are
inherently leaky. What that means is every now and then some
abstraction layer will
like mess up, like something will not happen, even though it
should theoretically happen. And that
happens all the time with AI, where you're. You're like, oh,
I think it should be working, but the agent is saying this. I don't
know if it's actually right or not. And there's all these things.
But if you don't have a foundational layer, when things get hard
and when things get stuck and the agent has a hard time,
you won't be able to steer it.
So having a really good foundational skills in engineering will
help you peel the abstraction layers when you need so you
could dig in and really debug and have confidence in your
product and your coding. So,
yeah, those are the two main things I would say. But yeah,
I hope you do well when you finish your classes. All right.
Choosing coding agents. Question number 10 through 12.
So welcome. How do you feel about Codex versus
Cloud Code?
Are you using both in any way or just Cloud Code?
So I use both
Cloud Code and Codex app.
My class is actually primarily based on clock code, but I'm,
you know, working on a version for Codex,
especially Codex app. So this question is actually more than
just clock code versus Codex, in my opinion, because
the apps itself,
they have, there is a Delta between the apps and there's a CLI
version in itself.
And recently I've been converted to essentially not use the CLI.
I've almost completely went to the app. If you asked me like two
months ago,
I thought it was like, there's no way I'm giving up the CLI.
It's just so powerful. There's so many things that you can do
with it.
But there's just like a few features on the app side
that has convinced me that the long-term priority
and all the feature sets are going to go to the app,
in my opinion. Because number one, I think all of the major labs
are targeting mass market,
right? That is their strategy. And that's kind of the ultimate goal.
I think Anthropic is like targeting enterprise, but at the end of
the day, they want to get like the entire pie of enterprise, right?
But for OpenAI, they're definitely looking at mass audience and
the enterprise.
So they're gonna keep pushing the app
because it has rich rendering, it's not a 2E, so you can actually
do a lot of very interesting things, like a full-fledged app, right?
You're not limited by the 2E's limitation. Yeah, so rich rendering
is a very
good example, but there's so many little things, right? You can
control the entire
Codex app with your voice, using the live ChatGPT voice,
you can queue prompts. I know you could queue prompts in
other places,
but you could just like drag things around, like queue 10
prompts and then drag them, edit them. There's just like a lot of
little things. And over time, I think it's just gonna get better
and better.
And yeah, I think it's gonna be hard
for just a 2E experience to
win out in the end. So that's why I switched.
That's one of the main reasons. In terms of like model quality,
I think price is becoming a factor for me, even for me,
because Fable's usage and rate limits run up so fast.
It's because this is a very expensive model.
So they limit it.
The thing is like GPT-SOL has been great for me. And because
of the price and like rate limits, I actually switched a little bit to
using Codex
and Codex app and stuff like that. And then I found like the
output very comparable to Fable.
And I actually think it yaps less.
It has like a dog in it. Like it just keeps going. Like really goes
until it gets the answer. That's how my friend Peter puts it.
It has a dog in it. When I just tested both of them out, I just
prefer the OpenAI models right now.
This may change next model release, who knows? But that's
like kind of the thing with these models. But I will say it'd be
very hard for me to give up the Codex app because I also use it
with my phone and I remote control all of my threads
and my laptop at home or whatever is just like open. It's just on
all the time.
And I just control it. I control it wherever I am. So those kinds
of things, all the schedules and things that I've created on it.
And like, yeah, it's just hard to give that harness up, I think.
But yeah, so that's kind of where I am right now, but it
may change. All right,
agent permissions. And so Daniel asks,
curious how you think about permissions in agent decoding.
At work, I stick to coding agents in the terminal. Personally,
I run multi-agent Hermes
and tight roles.
So one failure doesn't spread. So I think permissions wise,
the whole agent decoding is going towards longer runs using
goals and less permissions and then having like
agentic safeguards
or like an agentic garden that protects your code base
and all the work that you're doing. I think this is a long-term
right approach in my opinion. And then the models should just
get better and better
at doing things that most people don't want.
Like dropping a DB without, you know, approval or messing up
your OS and things like that. So, but yeah, I think less
permissions is fine. As long as the output is what you want at
the quality that you want and you have enough
agentic safeguards. All right, the next question is
fundamentals and AI. For students building
AI systems,
how would you balance learning fundamentals
with agent decoding and rapid
prototyping? For students, I think you should just focus
on learning,
learning fundamentals. Like why do you need the prototypes?
Like if you're not going to do anything with the prototypes,
what's the purpose of prototyping? The main reason why we
prototype for like at work is because we want to get a feel for a
product that we want to build so we can show leads or like play
with it ourself,
right? So there's this like reason for the prototyping. But when
I'm prototyping, I'm rarely looking at the code. I'm just like
getting it. I'm mainly focusing on how, like what the field is.
You know, that's for like client code, like product code. But if it's
like infra code, my prototype for infrastructure code is really on
exploring different paths.
So I'll have multiple agents prototyping different ideas I have
on how I think the architecture should work.
And then I'll get it to a certain point and I will play around with it
and feel the API
and see kind of the niceties and like things that I might've
missed if I, you know, miss an abstraction layer or something,
or if I didn't have certain APIs here, or if I expose
this in the wrong place, like those things, it's hard to imagine
just on like a UML diagram, but it's easy to see when you're like
trying to add new things to some existing infrastructure,
you know? So like there's,
depending on what you're doing, prototypes are really good,
but they're not really for learning. It's really to answer a
specific question
about UX or, you know, some
feel. You're trying to get a feel for something.
But if you're in school,
then you should just focus on fundamentals,
in my opinion. All right. The next question is around
AI engineering
specialties. Saravana Kumar asks, AI landscape seems to be
very broad these days. From serving models efficiently,
training models,
RL training, AI infra, security,
custom engines, and memory,
where should one focus today? I mean, this is a very
personal question, I think. Like, I think any one of these are
great. You could get a really good job doing any one of these,
I think. So
it depends, right? It depends on where you are in your journey.
Of like employment.
Like for me to like switch into
any one of these things would require at least like two years of
really dedicated effort to be like back to kind of the novice,
like kind of like mid-level of probably one of like
training models.
I'm just learning about it because I'm curious. But if I
wanted to really be like an AI researcher that trains models,
or even maybe I do
engineering where I, you know, optimize kernels for
model runs, man, I have to spend like two, like a year to two just
to catch
up on the latest like frontier, like what the frontier
knows already.
And then from there to
contribute my own
thing, my new ideas and write papers, it's going to be another
few years, in my opinion. So like it'll be at least like four years
before I'm like baseline par. And that doesn't mean that I'm
going to be even the world class, right? I feel world class at
what I do right now but it's going to take a long time for me to
get there
to do this in some other domain
right but to answer your question about one of these things
honestly i think you should pick what you think is interesting try
a little bit of it talk to a bunch of people who is doing that and
then you know just try
like the very basic things like the training models example like if
you can get through Jack's ML like model training and you're
able to train your own like little model
using a GPU or even a MacBook
with like a high RAM, like you could
see how you feel, see how you like that, see how that feels.
I think that's probably the best way
because chasing a job just for money has never really worked.
In my opinion, you always quit because it's too hard to
get through. Any one of these things require a lot of effort.
All right. The next question is next AI leap. So what do I think
the next AI leap is? So
Paul Sufka,
MD,
doctor, doctor. Hello. Hi, what are you looking forward to or
hoping for in AI
in the next six to 12 months? What will be the next leap?
Honestly, there's hints of it, but I think I really want to do
everything mobile. So the voice control is really good with like
ChatGPT's voice, but I just need better like visuals,
like feedback mobily. And I think glasses may be a good
form factor. And, you know, meta displays, really great. So I
might get pick up a pair of those. Shout out to meta. But yeah,
I just want like really good interface just mobily so I could like
code on the go or like juggle my agents on the go. That to me is
like the most interesting because one thing about this
profession is that. I have to sit and be in front of a computer for
a really long time. And if I could
figure out a way to not do that, I think it would really change
my life. It would really change like the quality of my life. Oh,
and another thing that I would be really interested in
is
video. Input as like a raw input. So right now,
most video inputs, if you add video, what happens behind the
scenes is they take the video, they use like FFM peg
or whatever, and then they'll get all the frame data and try to like
piece together what the video is through frame data. Now, I use
this workflow when I'm debugging animations or trying to build
some animations that my designer made or whatever.
And it's OK, but it's really slow and it doesn't work all the time.
Yeah, it's just not. Great. So it would be great if we get video
multimodal like support like natively. That would be
really interesting. But yeah, it's a video multimodal input. I think
those two are probably very interesting for me personally.
All right. So the next one is around portable agents. Makan
asks,
as
agent coding evolves, do you think the agent will eventually
become portable
across models and coding harnesses with things like identity
payment permissions
and memory
following the agent rather than being? Owned by Claude Code,
Codex, Cursor and et cetera. So this is a really
interesting question. And I think this is kind of hinting at some
of the
world that will eventually live in, which is like agents that
operate for people will have their own entity. I actually do think
that's going to happen. And I think
Stripe is seeing that. That's why they purchased like
open router. I think I think they're they're just trying to get ahead
of that and they'll probably create something like that,
in my opinion. And it's going to happen very quickly where
agent traffic is going to be more than human traffic in, in,
in the internet, obviously. So the concept of agent as an entity
that operates on your behalf, that has its own credit
card information,
Gmail credit score, maybe,
I don't know. It's like all these kinds of things. I think it's going
to be a thing. And I think as personal agents like
gain popularity,
I don't know if Grogbot or whatever is going to be a thing,
but yeah, as all these things gain popularity, the, the necessity
for the agents to have their own entity,
I think is going to be
a thing. I don't know if like the whole memory and all this kind of
stuff is going to get ported around with this, but I'm talking
more about what it required to be an entity. I think that concept
will be created and ported around. I actually think Stripe is
going to be the one that creates it, but we'll see. All right.
So the next data is confidential data.
Welcome John. We'd love to hear your take on uploading
confidential documents.
To AI even when data control is off? You know, I get this
question actually quite often, especially people who are in
these fields like HIPAA compliant
or EU, like people who do a lot of work with the. EU, they just
have this like
higher sensitivity towards data. And
my answer to this has always been figure out a
way to like host your own like servers and host your
own models, whether that is doing a small build out. And the
thing is like local models are so good with open rates. If your
company has a budget to buy a few like really good like H100s
or whatever,
and then have that set up and just have one person that's like
dedicated to just managing that system. Yeah, just use open
source to like use these models. You know, maybe you just use
open code and you could get so much done, I think, just using
these like open tools and open weight models. So that's kind of
my answer to that. If not, then you're always going to be just
kind of
like have to use
some enterprise like box version of Anthropix systems or
open AI. I think they have an enterprise solution, but I
don't know. All right. Open models and security.
Question number 17. Pragnya and Ramath. Thoughts on open
source models being used for cybersecurity warfare when they
are as good as closed source ones in a few years. So I think it's
already happening. Like this, this, this is already happening.
I think Hugging Face had to use an open source model
because the
closed source models were like rejecting the
like cybersecurity
like prompts because it detected cybersecurity. So they had to
use like an open source to get around
like that
post training, that post training kind of like
safety concerns. So I think it's already happening
the other way. Right. This is saying like, what do you think
about cybersecurity warfare happening? Honestly, that's a
scary question. And I think it's a legitimate thing to be
scared about. And a lot of people joke about, you know,
Anthropix or open AI or any of them AI labs like saying that,
we want to slow down. Like we're very concerned. Like people
joke about it because they only see, I don't know. I think like a
lot of people just see that and they think, oh, they're high.
They're just like trying to hype their models up or things
like that. But I don't know. I think it is pretty scary.
Like cybersecurity itself is pretty scary because these models
are pretty powerful and there's just a lot of like zero day
security holes. So yeah, I don't know. Like I try to not to be
so pessimistic
and that like these companies have so many ulterior motives,
but I think they're just calling a spade a spade sometimes that,
you know, there is serious cybersecurity
like concerns with models and open source models and all this
kind of stuff, because, you know, let's be real. These, the open
source companies, like especially the ones in China are not
going to care
that much
about like security. You know, I'm not, I'm not trying to get
political here, but yeah, that's just the reality. All right. The next
question is getting into meta or I guess any big tech. Hi,
what advice would you give your past self to make it easier to
look for a job at a company like meta? So I actually made a
bunch of videos on this topic. So feel free to look at that on my
YouTube channel. But the main advice that I have is there's like
a few things like I wish I had good grades and went to a
good school, then it would have been a lot easier.
But the other path is first, you actually do need to just know
the fundamentals, like data structures and algorithms to even
pass these interviews.
But even to get an interview, you need to have been working for
a few years. If you don't have the pedigree of like a really Ivy
league school, then you need to figure out a way to get
into like, like I went to capital one, like I worked at a bank for a
few years, like four years or something. And around year three,
that's when
meta and Netflix and all these other companies started
knocking on my doors and I got interviews. Like before then I
would send a bunch of resumes. I never got the interview.
But after around year three, that's when everyone wanted
to talk. So I think you just need to have those things. And then
once you get the opportunity, you just have to nail
the interviews. I think it's actually not as hard to get into a
company like meta or one of the big techs, in my opinion,
because it's like interviews in a sense is a solved problem,
but it's hard to commit to
studying for it enough
that you can pass it. You know, I think neat code is really great if
you want to like really dive in and learn like the code, but yeah,
neat code is great. If you just know like 80% of neat code and
then you could get into Fang
or, or mango, whatever you call it. In my opinion, if like, you got
to just get so good at those kinds of things where you see,
you read a problem. And as you're reading, you already have
a sense
and feel what kind of data structure algorithm problem is it?
Is it a sliding? Window problem is it a tree problem is it a link list
problem is it a graph problem I don't know there is a subset of
these things and you can start pattern recognizing
so for me personally. I tried twice the first time I got my ass
kicked I failed every single interviews I did I did basically
everywhere and I got I just like failed that taught me what I was
missing that taught me the gaps and then the next time I
studied literally for a month and a half four hours a day I was on
during that time and then I got two offers like a meta and Netflix
and I took the meta offer that's a whole nother story because
it's like anyways
and then the last thing I think I mentioned this. I think this is a
new thing but learn AI coding
I think agentic engineering is
the future and a lot of these companies are going to test for it
and then another like side tip that's like not necessary is to
build in public
like try to build and put yourself out there make connections
you know doing social media like doing like content creation.
I meet so many cool people and it's, it's one of the
best ways to network. It just opens doors that you'd never
thought was possible.
And then social media is one of the places where it's an even
playing field. Like you could be 10 years younger than me
or
10 years older than me. Doesn't
matter if you just make good content and you put a lot of value,
people will notice, and then they'll reach out to you and then do
stuff with you. Maybe give you a job. I don't know. All right.
Next question, getting some career questions now, which is
growing to staff.
So hi, premium goblin. It's weird saying this because this is like
a random name I came up with
for my experiments that I was running on X and threads and
other social media platforms. But what is necessary to become
a senior staff software engineer? And could you give tips on
becoming an excellent suite? So like, this is a, I don't know,
there's
so much, I actually have a lot of insights into this topic,
mainly because to
do really well at a company like meta, you not only need to be
text technically excellent, because that's just the bar.
Like everyone's just very
smart. And then they have a very high technical bar. That's just
like the minimum,
but you also have to have pretty high EQ. Like people will need
to like you,
people need to like working with you. Right. And you need to
be pretty easy to work with, but not also not a pushover at the
same time. So there's like all these like various factors.
But from going from E3 or L3, like junior level to senior, you just
have to do
your job really well. You know, E3 is just coding
really well, just landing a lot of stuff. E4 is like taking a project,
like by yourself all the way to the end with minimal,
like handholding. E5 that's the baseline but you're now like
mentoring other mid-level engineers and you're slowly creating
some scope for yourself
and you're taking on even more complicated projects but from
senior to staff it's essentially a different job like from a technical
perspective a senior engineer and a staff i think there is not a
huge amount of delta to be honest and even for like senior staff
but obviously there is a delta but like the the true delta between
like senior roles and like staff plus roles is around behavior.
Actually, there's a lot of behavior things that make you really
stand out. And it's like, it's a totally different job. Like my bar for
staff is you have so much ideas and so many things that you
want to do, and you're good at executing on all of those ideas,
but you have so much that you have to and want to do that you
just need people to help you. And that's inherently
scope creation, right? So that's why a lot of tech leads is the
archetype for sixes because they help create scope. And then
they essentially have impact that scales beyond
just themselves.
And seven plus is that, but at org level scale, not just
your team. So you're like multiple teams and cross org. And it's
really around influence.
So it's really hard to get into in just this like small like video,
but it's essentially, you got to know that staff plus
is like a different job.
It's a different role. All right, so
we're at question number two. 20, and this is agents outside
of coding. What's been your favorite way to apply agents
outside of coding?
So I actually use agents for all of my stuff, like whether it's
helping out with taxes, you know, the typical ChatGPT
use cases,
but I also run my entire content pipeline through Codex. Yeah,
I think at one point for my personal stuff, I was using Codex
more for content pipelines
than like coding itself because I didn't have like a side,
like coding project to do.
But yeah, that has been my favorite. All right,
product decisions
and AI. Mahesh, provide insights on product design,
no responsibilities and meta and paradigm shifts towards
human AI interactions and collaborations.
What work are they doing now? And what skills do their
roles require?
So not just product design,
but product management,
data science, data engineer, like all of these were, a lot of these
roles are kind of blending a little bit. Obviously,
people have specialties, but like our designer is amazing.
They're basically a designer and an engineer.
She essentially codes and makes a bunch of like UI changes.
And like, she doesn't ask us to, you know, fix this pixel or
that pixel. She just like does it.
And it's been really nice. It's really great. And they're closer to
the code and they're like, it's like they get more empathy to
what we do. I have always like gave my own opinions about
designs and stuff, but I'm not like doing the designs yet. Right.
But in terms of like data science, I'm doing my own queries now
I'm doing my own analysis. I mean, I've always done that,
but it's a lot easier with. AI to run a queries and get like impact
sizing and things like that. So roles are definitely blending.
Yeah. It's, it's, it's very interesting, not just us, but I don't think
the entire industry has figured it out yet. That's why everyone's
being just labeled as member of technical staff, like the labs.
But yeah, it's a very interesting like state we're in right now.
All right. Lessons
from meta products. Nice to see another new L7
suite on here. What have you found as the most interesting
projects of the ones you worked on and why?
Interested to hear both from a technical perspective and
organizational one. So obviously working on reels was like a
dream come true at the time. I was like a E4, right. When I got to
join reels and essentially I got to like senior during that time,
my tenure at
reels, but I was there when we launched it. So I got to join the
team that created it. I always get to say that even though I
joined at the very tail end of it, but yeah, that product was
really interesting. It was, I like, it was very technical and hard
for me because I switched from full stack web to mobile during
that time because I really wanted to work on reels and it's a
really interesting product.
And a lot of people don't know that reels is actually
a music based app and everything's indexed around music.
So that's a really interesting project. I also got to work on
meta AI, like the original, like connect launch of meta AI
on messenger. I know like meta AI is not like the most widely
used right now, but I, this was during. Lama three days where it
was very popular and like a lot of people were using it,
but yeah, it was, I think that was really interesting because
none of us, the entire industry hasn't really figured out what AI,
like interacting with AI look like. So all of these new UX patterns
and like client
had to be like, just kind of imagined. And I really enjoy that
like experience. All right. So the last question is growing
content reach. Draco asks, Hey, yeah. And welcome. What are
some of your best tips for content creations in the agentic era?
I've recently just started sharing content and so far limited to
my blog and LinkedIn. How do you approach the reach of
your content? So
a few things I have content pipelines with my agents. And the
other big thing is I use. LinkedIn, which is my friend,
Kevin's a startup. And what I do is essentially post to one place
and it fairies all of my content. And it has been really helpful
helping me go viral in like places that I'd even know I was
going viral. But as a content creator, like the best advice I can
give to you is don't rely on just one platform and just make sure
you post, but make sure you reuse a lot of the content that you
have repurposed them because people hang out in
different places.
They don't always cross paths and some people only stay on X
some people only stay on threads. Some people only consume
on YouTube. So just be everywhere every creator is doing this,
you know. But they just have a team do it. I'm just by myself.
So I leverage ferryman so shoutouts to my
friend Kevin for making that but yeah, that's basically it. Alright,
so that's all the questions on the AMA that I thought I kind of
like dedupe as much as I can. I'm sure I missed a few but feel
free to add more questions here and I'll try. To get back to you
as quickly as possible. But yeah, I really love doing AMAs.
I feel like it's just like a fun way to interact with the community
of like people that have the same hobbies that I do. Like same
interests and I could talk about AI and like software and career
stuff all day. I don't know why I'm weird, but this is what I enjoy
talking about. And I don't get to do that all the time because my
wife doesn't want to talk about that kind of stuff. She just wants
to talk about Korean mom dramas.
But yeah, thanks for. Watching this little series of videos or this
little video. I hope to make more of these kind of videos and
thanks for supporting me in this journey. All right
Ask follow-up questions or revisit key timestamps.
The video features the creator answering questions from an 'Ask Me Anything' (AMA) session regarding software engineering, AI, and career growth. He discusses the future of software engineering roles in the age of AI, shares his current agentic coding workflows, and emphasizes the importance of safety and foundational knowledge. He also touches upon his transition to becoming a staff-level engineer and offers insights into content creation and staying competitive as a developer.
Videos recently processed by our community