TRANSCRIPTEnglish

Are juniors screwed? (Getting a job in a post-AI world)

56m 56s12,383 words1,753 segmentsEnglish

FULL TRANSCRIPT

0:00

I think it's fair to say that the job

0:01

market is weird right now. Honestly,

0:03

weird is putting it lightly. I've been

0:05

seeing crazy numbers like 74% of devs

0:07

are struggling to land a job despite

0:09

demand going up. 40% of employed devs

0:12

are planning to leave their current job

0:13

within a year, which is even crazier.

0:15

And when you look at the split across

0:16

different levels of experience for

0:18

headcount at companies, you see junior

0:20

engineers collapsing as well as

0:22

mid-career and senior engineers rising

0:24

meaningfully. At the same time, there's

0:25

lots of other numbers that contradict

0:27

this. Like the number of recent grads

0:29

that are struggling to find jobs going

0:31

up a bit, sure, but that's about 1%

0:34

increase and nowhere near as bad as

0:36

things were during the recession in the

0:37

early 2010s where it was much higher,

0:40

closer to 8% of new grads. So, what does

0:43

this all mean? It means that we need to

0:45

think a bit differently about the job

0:47

market. Most of the advice that is

0:48

available today is dated at best and

0:51

harmful at worst. And I want to do my

0:52

best to break this down. My goal here is

0:54

to make a video that's useful to people

0:56

who are experienced engineers maybe

0:58

considering a new gig, new grads or

1:00

people recently in the field that are

1:01

trying to get their first job, but also

1:03

for hiring managers, people who are

1:04

looking to level up their teams by

1:06

bringing in the right people at the

1:07

right time to build something awesome.

1:09

To get this right, we're going to need

1:10

to rethink a lot about how hiring works

1:12

and how you get the right people on your

1:14

teams and what they're even doing in the

1:16

first place. Our roles are changing

1:18

actively and as such, the way that we

1:20

hire should change, too. And I don't

1:22

think it's changing fast enough. And

1:23

that's why I'm going to do my best to

1:24

break this all down for you right after

1:26

a word from today's sponsor. I have a

1:27

confession to make. I stopped using

1:29

GitHub actions kind of. We just moved

1:32

all of our stuff over to Blacksmith and

1:34

it has been so much better. I could tell

1:36

you all about how Mintify cut their

1:37

build times and CI costs in half or how

1:40

they're going to cut their Docker build

1:41

times by up to 40x due to the Docker

1:43

layer caching, but I'm not going to tell

1:44

you about any of those things. I'm going

1:46

to tell you about how great it is having

1:48

real observability in your GitHub

1:50

actions. It's hilarious that this is

1:52

just not a thing on GitHub itself. But

1:55

look at this. We can see all of the runs

1:57

when they're happening. We can see

1:58

failed runs and why they're happening.

2:00

We can look at failure rates for

2:02

different tests. We can see what's going

2:04

on in our actions. You know, the thing

2:07

you can't do on GitHub at all. So, if

2:09

you're actually using actions for

2:10

anything useful, check them out now at

2:11

soyv.link/blacksmith.

2:13

Going to do my best to break down all of

2:15

this chaos into three core parts.

2:17

Companies suck at hiring. Experienced

2:19

devs suck at growing. and juniors suck

2:21

in general, but should lean into it. The

2:23

junior stuff's going to come near the

2:24

end, so make sure you stick around for

2:25

it. But I think all of this will be

2:27

useful for every level of dev as you try

2:29

to rethink how this stuff works going

2:31

forward. Let's start with one of my

2:33

favorite topics, which is that companies

2:35

suck at hiring. There are so many layers

2:37

to this, but I'm just going to start

2:39

with one of my personal favorites. How

2:41

interviews and candidate processes tend

2:44

to go. If you're new here, you should

2:46

probably hit that sub button. Doesn't

2:47

cost you anything, and half you guys

2:48

aren't subbed. It's a good way to keep

2:50

up with what's going on. But if you have

2:51

been around for a while, you might

2:52

remember my mock job interview I did

2:54

with Dan Abramov as my second actual

2:56

video on my channel. It was a live

2:58

stream where I did an actual mock job

3:00

interview with Dan Abramov, who is the

3:02

creator of Redux and a core contributor

3:03

of React, often jokingly called the

3:05

creator of React. And I went really hard

3:08

in this because I thought how technical

3:11

candidates were interviewed was

3:12

fundamentally flawed. I did a lot of

3:14

different things in this video to try

3:16

and make it easier for people to hire.

3:18

Well, one of those things is I shared a

3:20

technical interview document publicly.

3:23

Whenever I bring a candidate in for a

3:25

technical vetting process to figure out

3:26

if they are good enough technically to

3:28

be hired for the role, I try my hardest

3:31

to set the candidate up for success. And

3:33

this is the first mistake I see a lot in

3:36

interviews. It feels too much like

3:37

interviews are set up for gotchas

3:39

instead of success. The goal of an

3:41

interview should be the same as your

3:42

goal as a manager. Set your team up to

3:44

be as successful as possible by letting

3:46

them use the right tools, processes,

3:48

systems, and things that make it easier

3:51

to succeed. You should want your team to

3:53

use the things that make them as

3:54

successful as possible. And you should

3:56

do the same thing around your

3:57

interviews. But what if they're using

3:59

claude or chat GPT or cursor to cheat?

4:02

They should be using those for their job

4:03

as well. Then find ways to test their

4:06

capability that push against the things

4:08

that you're concerned about. Because

4:10

when you say that, your concern isn't

4:12

that they are going to use cursor on the

4:14

job. They should they should use tools

4:16

like that to be more successful. Your

4:17

concern is that when things go wrong,

4:19

they might not have the knowledge

4:21

necessary to dig themselves out of that

4:23

hole. And for the last decade and a half

4:25

plus, we've relied on their ability to

4:27

describe code on a whiteboard and write

4:29

a crappy app in 20 minutes that's just

4:31

sorting a [ __ ] tree as our way of

4:34

knowing if they know what they're

4:35

talking about or not. That was always

4:37

bad, to be clear. But now it's worse

4:39

than ever because the same things we use

4:40

to poorly vet someone's technical

4:42

ability are things that agents can do

4:44

immediately with no effort. The fact

4:46

that Cluey was so successful is again

4:49

proof that the process itself is flawed.

4:51

Because if your interview can be cheated

4:52

by a crappy AI app and your job can't,

4:54

then there's a gap between what the job

4:56

expects and what the interview expects,

4:58

which means you're doing a bad job

4:59

interviewing. That's why I always have

5:01

done interviews quite a bit differently.

5:03

I specifically try to give options to my

5:06

candidates because my candidates should

5:08

have the choice of how they think they

5:10

would best present their capability.

5:11

Again, setting them up for success. What

5:14

process gives them the highest

5:16

likelihood of succeeding? Obviously, the

5:18

choice they make is something I factor

5:20

in when I am reviewing them. And

5:22

long-term, I don't think the leak code

5:24

algorithm puzzles are probably something

5:25

we should include in interviews because

5:27

they were always bad. I mostly had this

5:29

option in here for the candidates that

5:31

tried really hard on these things that

5:32

had spent a lot of time scaling up on it

5:34

and as a result felt more comfortable

5:36

with this because again you want the

5:38

candidate to be set up for success and

5:40

being comfortable is a really big part

5:41

of that success. So this is what they're

5:43

comfortable with. This is what they

5:44

choose. I give examples of where these

5:47

types of problems come from and I said a

5:49

pro tip. Most of our problems will

5:50

probably be based on avent of code

5:51

because the team are all avent of code

5:53

players. We all take it way too

5:55

seriously and most of my challenges were

5:57

based some amount around advent of code.

5:59

I describe what we do. I say remember

6:01

our goal isn't to see how fast you write

6:02

the right answer. We're trying to learn

6:04

about how you work and communicate

6:06

because that's what makes you a good

6:07

candidate. I describe the general

6:09

structure of this interview. There's 15

6:11

minutes of general tech plus team

6:13

experience questions. I give a direct

6:15

example. 30 to 45 minutes of the code

6:17

puzzle. I can say it's pseudo code or

6:19

real code, whatever you prefer. and the

6:21

remaining time would be used for

6:22

questions about the company, role

6:23

expectations, etc. Very, very clear

6:25

expectations. Nobody coming in for a

6:27

technical interview would read this and

6:29

choose it and not know what they're

6:30

going in for. Option two, the

6:32

pragmatist. This is my attempt to do

6:34

something more like real world work

6:36

where I give you a project or a spec or

6:38

an API and say implement this part of

6:41

it. Funny enough, not dissimilar to how

6:43

I use agents today where I give the

6:45

specs, the expectation, what I want the

6:47

output to be and then see if the

6:49

candidate can complete it. Obviously,

6:50

with how things are structured nowadays,

6:53

this is a question that could almost

6:54

certainly be completed by an agent in

6:56

seconds. But I could also then ask the

6:58

candidate questions about the code that

7:00

comes out and how it works. In fact, I

7:02

would already do that when I worked with

7:04

these problems with these candidates.

7:05

When they wrote the code, I would ask

7:07

them, "Oh, why did you break out this

7:09

component? How would you reuse this? How

7:10

would you make this piece reusable

7:12

somewhere else and have the

7:14

conversation? Because that's really what

7:16

matters with these interviews. You're

7:18

talking about hiring somebody who's

7:19

going to work with you every day,

7:21

somebody who's going to be in your

7:22

meetings with you, in your Slack with

7:23

you, at your lunch with you. That your

7:24

ability to communicate with them is way

7:26

more important than how many lines of

7:27

slop they can generate. And then my

7:29

personal favorite option, the realist.

7:32

You bring your own repo or project,

7:34

ideally something open source, and then

7:35

we shadow you as you work on something

7:37

for it. So if you have a feature you

7:39

want to add to your project, a thing you

7:41

want to build or complete or work on, a

7:43

bug you want to fix, you send me the

7:45

repo, you send me information on what

7:47

you plan to do, and if I think this is a

7:49

good way to vet your technical skill and

7:50

communication, then we work on it

7:52

together for one to two hours. And by

7:54

together, I mean you drive and do most

7:56

of it, and I ask questions throughout

7:58

again to see what it is like to actually

8:00

work with you. That's the point of all

8:02

of these options, including my favorite

8:04

one, the specialist. The point here is

8:07

that if you don't think these ways of

8:08

interviews work, you can propose your

8:10

own. If you think you can have your own

8:12

way to showcase your skills, bring it

8:15

with you. Show it to me and I would be

8:17

hyped to learn. Sadly, I've never had

8:20

anyone take this option. But also, I

8:22

usually don't hire people that haven't

8:23

already proven their technical skill

8:25

because if you have a GitHub full of

8:27

really useful things or I've interacted

8:29

with you in the past on different

8:30

projects, I don't need to do any of

8:32

this. This all gets thrown away if I

8:33

already know that you're good. It it's

8:34

kind of ironic that I have what I would

8:36

consider to be one of the best technical

8:38

interview processes and I also don't do

8:40

technical interviews anymore because I

8:42

only hire people that have already

8:43

proven themselves. So despite having one

8:45

of the best processes, I end up using it

8:47

the least. That's part of why I'm

8:48

putting it out here and continuing to

8:50

leave it open source and available

8:51

because I want more people to think

8:53

deeply about whether or not their

8:55

interview process is checking your

8:56

[ __ ] leak code skills or is actually

8:59

seeing what it's like to work with

9:00

somebody because that's what you should

9:02

be hiring for. compatibility with your

9:05

team. So, I think we've established the

9:06

current way people do technical

9:08

interviews is [ __ ] and should be

9:09

rethought. Something like this.

9:11

Obviously, there are parts of this that

9:12

don't make as much sense anymore, but

9:14

really focusing in on transparency,

9:16

clarity, comfort, and communication will

9:18

make your interviews way better. The

9:20

candidate should feel like you're on

9:21

their team, not like you're using a

9:23

microscope or a magnifying glass to

9:25

catch every little thing they do wrong.

9:27

Cuz this person's going to be on your

9:28

team. You want them to be supported.

9:30

Support them through the process. But in

9:32

order to get that far, you need to get

9:33

through some other things that are

9:34

honestly kind of [ __ ] Here's where

9:36

we have to talk about resume slop a bit.

9:38

Cold applications are just a garbage

9:41

thing right now because every time a job

9:43

listing goes up, lots of people spam it

9:47

hoping to get in. People will generate

9:50

resumes using all sorts of tools, fill

9:52

them with fake information and absolute

9:54

[ __ ] in hopes that they get enough

9:55

attention to have their name clicked on

9:58

in the pile of 10,000 names, mind you.

10:00

All of which are being read by a

10:02

non-technical recruiter at the company.

10:04

The stuff just is [ __ ] It isn't

10:07

going to get you a job. Like, do you

10:09

actually think your resume in this

10:11

gigantic pile of PDFs is magical enough

10:14

that a random recruiter that doesn't

10:16

know [ __ ] about code is going to read

10:17

through it, see yours, and pick you? You

10:20

need to be realistic about this. Cold

10:22

apps just don't work anymore. You need

10:25

to find a way to get in front of a

10:26

person, ideally a technical one, so they

10:28

know you're a real human because the

10:30

realness and the transparency is now

10:32

rarer than ever. AI making slop so

10:35

common means that being genuine and real

10:38

is now an outstanding angle to have and

10:41

a lever you can use against all of this

10:43

[ __ ] Things like interacting with

10:45

posts from engineers at the companies

10:47

that you're looking at. local tech

10:48

meetups if you live in a place that have

10:50

that type of thing. Although local tech

10:51

jobs are a whole [ __ ] mess of their

10:53

own, but finding ways to get facetime

10:56

and interactions with the people at the

10:58

company you're talking about is

11:00

essential because you want to really

11:02

increase the odds that you can get

11:04

through that first round and get in

11:06

front of a technical person so that you

11:08

have a higher chance of getting along

11:09

with them, getting to showcase your

11:11

comm's abilities, learn something, and

11:13

then get the role. But if you're sitting

11:15

in my comment section like, "I can't get

11:17

a job. The whole market is [ __ ] I

11:19

applied to 500 companies and didn't get

11:20

a single response and your definition of

11:23

application is going to random job

11:25

listing boards online and finding their

11:27

hiring sections and submitting a PDF and

11:30

not even adding anything specific to the

11:31

company, of course, you're not going to

11:33

get [ __ ] hired. There are people

11:34

trying harder than you. Don't think

11:36

you're going to get handed a job on a

11:38

silver [ __ ] platter. It's not how

11:40

this works. And to their credit, the

11:42

companies are very largely at fault

11:44

here. Companies are so bad at hiring

11:46

that they're still doing it like it's

11:48

the early 2000s. They're putting up

11:50

these weird listings on terrible boards

11:52

that expect you to submit a PDF or docx

11:54

file in a specific format that nobody

11:56

even [ __ ] reads and then has a

11:57

non-technical person reading through all

11:59

of it. They deserve the [ __ ]

12:00

employees they're getting as a result.

12:02

You got to work around that. If you're

12:03

doing all these things right and you're

12:04

still not getting a job, you should also

12:06

try and be thankful that the companies

12:08

you talked to that weren't good didn't

12:10

accidentally hire you into a role that

12:11

would suck. That said, you also all need

12:14

to stop [ __ ] coping. I'm already

12:16

seeing it in my chat. Is stalking now a

12:18

genuine job search technique? You

12:21

deserve your unemployment if you think

12:22

interacting with people working at the

12:25

companies you're interested in based on

12:26

your shared mutual interests is

12:28

stalking. your understanding of basic

12:31

social norms is so bad that you're not

12:33

going to get a job. And it's weird to

12:35

put it this way. We'll probably talk

12:36

about this more in the junior section,

12:37

but your ability to socialize on a basic

12:39

level went from a nice to have to a

12:42

borderline essential skill if you want

12:44

to get a job today. I have a lot more

12:45

thoughts on why companies suck at

12:47

hiring, but I'm going to dive into the

12:48

experienced devs part cuz I think it'll

12:50

cover a lot of this as well. It's hard

12:52

to know which of these numbers is the

12:54

most real when it comes to what the

12:56

current state of unemployment and job

12:58

struggles are in the market. Like the

13:01

info from Hacker Rank, this 74% number

13:03

is an interview that they did with their

13:06

audience. And obviously a platform like

13:08

Hacker Rank for getting a job is going

13:10

to have a different set of numbers than

13:12

places that are interviewing engineers

13:14

in general. So I don't know which of

13:16

these numbers we can really trust. What

13:18

I do know is that I'm seeing less junior

13:19

devs on average getting roles and I see

13:22

more senior devs on average getting in

13:25

demand. But what I'm also seeing is a

13:27

lot of experienced devs that are

13:29

struggling a lot both at their current

13:30

role in their current job as well as

13:32

presenting themselves as a good option

13:34

for getting a job other places. There

13:36

are lots of people that did their first

13:39

ever interviews right after college, got

13:41

one job out of the 10 they did, and have

13:44

just stayed there indefinitely. have

13:46

never bothered leaving because they

13:48

don't really want to. And now they go

13:50

out and do interviews and they're

13:51

performing in them slightly worse than

13:53

they did when they first got jobs 5 or 6

13:55

years ago because they haven't refined

13:57

the skill at all since. And that's not

13:59

the only skill they haven't refined.

14:01

Once you've had a job for a while, your

14:04

willingness to learn almost inherently

14:06

starts to go down. As your job gets more

14:08

and more specific internally, your

14:10

likelihood of exploring other things

14:12

outside of the job inherently goes down.

14:14

And if you're at one of those companies

14:16

that isn't letting you use AI tools

14:17

internally, you're probably falling

14:19

behind in that regard, too, which is

14:21

terrifying because those junior devs

14:23

that don't have jobs don't have any of

14:25

those restrictions on them. You need to

14:27

put more work into staying ahead. Here's

14:29

another way of thinking of it. When a

14:31

junior engineer comes in, they have lots

14:33

more energy. They don't have the jaded

14:35

attitudes that people get over time.

14:37

They're not as restricted to certain

14:39

ways of thinking or doing things, but

14:42

they don't have the same capability. Be

14:43

it their experience in general, like

14:45

they don't know what languages have what

14:47

compromises, what libraries do and don't

14:49

make sense, how you deal with outages at

14:51

a company, all those types of things,

14:52

but also role specific capabilities and

14:54

company specific capabilities. They

14:56

don't have the institutional knowledge

14:58

of how your business operates. Whereas

15:00

an existing senior dev at your company

15:02

has lots of capability. They have years

15:03

of experience that are both generic in

15:05

terms of how things work, but also

15:07

specific in terms of how your company

15:08

works. But their energy and their

15:10

willingness to learn new things has gone

15:12

down as a result. There's always a

15:14

trade-off here. The better somebody

15:15

knows how to build and more importantly

15:17

how to work at your business, the lower

15:19

their ability is to go try other things

15:21

and experiment and explore. And

15:23

balancing these two things over time is

15:26

essential as a business trying to

15:28

operate long-term. The real win is when

15:30

you find ways to get energy transferred

15:33

effectively from juniors to seniors. And

15:35

the trade-off is that the senior

15:37

engineers get excited working with and

15:38

hanging with those junior engineers and

15:40

they inherently pass some of their

15:42

capability on to the juniors. Once you

15:44

can build that type of relationship as a

15:46

business, that's when things really

15:47

start to go crazy. When the seniors

15:49

trade their capability for the junior's

15:51

energy and everything feeds in and you

15:53

grow. This is why people like Dan

15:55

Abramov used to brand themselves as a

15:56

junior for life because they wanted to

15:58

maintain their energy more than

16:00

anything. And as you get more

16:01

experience, you'll find yourself longing

16:03

for this. I like to think I have higher

16:06

energy than average for somebody with my

16:08

15 years of experience because I love

16:10

new [ __ ] That's just how I am. That's

16:12

why I have this channel. I love

16:14

exploring new solutions to problems and

16:16

then bringing them to people who might

16:18

not have went and found them themselves

16:20

in the first place. That is just one of

16:22

the most fun things for me. And I think

16:24

it was the senior engineers encouraging

16:25

that in me early in my career that

16:27

helped me maintain it over time. This is

16:29

also a thing that big companies seem to

16:31

be struggling a lot with. I've been

16:33

thinking about this clip non-stop since

16:34

I first saw it.

16:36

>> For the first 25 years of Netflix, as

16:38

I'm correct, the only software

16:40

engineering level used to be a senior

16:41

software engineer. You've [music] now

16:43

started to hire earlier career software

16:45

engineers. Can you tell me on how that

16:47

has changed the culture at Netflix?

16:49

We've had a great experience with new

16:51

grads and early career talent and also

16:53

our internship program which you

16:55

mentioned. [music] We were starting from

16:56

a very different place than a lot of

16:58

other tech companies. So when you look

17:00

at the distribution of levels or talent

17:02

at some of the [music] other larger tech

17:04

companies they had in some cases 30 40

17:07

50% [music] what I'll call level three

17:10

level four engineers. So when you think

17:12

about a new technology shift or the work

17:14

that those companies need to do now I

17:16

understand why they might need a

17:18

different [music] distribution of

17:18

talent. We were starting at 0% in most

17:21

cases. We had mostly a level five and

17:24

above population. So we had a huge

17:26

opportunity to complement the team we

17:29

had with earlier career talent who

17:31

brings new skills, new perspectives,

17:33

great energy to the teams and with a

17:36

technology shift right now with Genai, a

17:38

lot of native AI familiarity. So when

17:41

you think about somebody who's graduated

17:43

from school in the last few [music]

17:44

years, they're very accustomed to using

17:46

AI in whether it's developing products,

17:50

writing code, thinking about solving

17:51

data problems. It's [music] actually a

17:53

useful way to bring new skills and

17:55

perspectives to the team. I think we

17:57

will absolutely maintain [music] that

17:59

investment in earlier career talent

18:01

because it's been so additive in

18:02

different parts of the business. But I

18:04

also think everything in its right

18:06

proportion. [music] There's plenty of

18:07

problems where we need extremely

18:09

>> you get the idea. The very interesting

18:12

thing that was touched on here is this

18:13

idea that newer career devs, earlier

18:16

career devs bring unique energy, unique

18:19

perspectives and what she referred to as

18:21

native Genai attitudes and perspectives.

18:25

I have a lot of thoughts on that bit,

18:26

don't worry. But I want to give a little

18:28

more advice to the seniors first.

18:30

There's a good chance if you're a senior

18:32

developer that is starting to do more

18:34

interviews, you haven't done them in a

18:36

while. I highly recommend first and

18:38

foremost that you do a lot of them on

18:39

the other side. Take advantage of the

18:41

fact that you have a job and see how

18:42

much you can get involved in the

18:44

interview process. Do way more

18:46

interviews. Almost every time I talk to

18:48

a person that's struggling to get a job

18:49

that has years of experience, they have

18:51

almost no experience facilitating

18:53

interviews. The more you can facilitate,

18:54

the more you can see the other side, the

18:56

more you can become aware of what a good

18:58

or bad interview looks like and can make

19:00

changes accordingly. You need to be

19:02

really introspective more so than ever

19:05

now because historically code was so

19:07

rare and coders were so valuable that

19:10

developers were allowed into roles that

19:12

they might not have had the linguistic

19:14

capabilities for. People who weren't

19:16

very pleasant or good at communication

19:18

would get away with it because the need

19:20

for rockstar developers was so high.

19:23

Now, there are people who are not

19:24

necessarily as technically gifted, but

19:26

are way better at communication that are

19:28

much more obviously good hires because

19:31

those communication skills have never

19:32

mattered more. And this is regardless of

19:34

your perspective on AI. If you think all

19:37

AI code is slop and that your

19:38

handwritten C is the only right way of

19:40

doing things, you might be right. But it

19:43

doesn't matter how right you are if you

19:44

can't convince anybody. So, if you're

19:46

going to compete with AI slot being

19:47

churned out by these cloud code kids

19:49

that have never written a real line of

19:50

code, you better be able to explain why

19:52

your stuff is better. Getting better at

19:54

communication and explaining your ideas

19:57

has never been more important and

19:58

historically hasn't even been that

20:00

valuable as a developer. Now that that

20:02

has shifted, you need to present

20:04

yourself differently. Do more

20:06

presentations internally. Take more time

20:08

to document things, to write internal

20:09

blog posts about things, to see if some

20:11

of those blog posts can be published

20:12

externally to discuss your engineering

20:14

learnings as a business. Find ways and

20:17

incentives to better your communication

20:19

skills because otherwise you will lose

20:21

to the AI whether or not it is better

20:24

because you can't properly communicate

20:25

why you're right. And I promise you

20:27

almost all of the people I am thinking

20:29

of here, the ones who are experienced

20:30

devs who can make great code that are

20:32

struggling to get jobs, 100% of the time

20:36

suck at communication. You have to get

20:38

over that. Not being able to clearly

20:40

describe what you're doing and why was

20:42

only acceptable because of the nature of

20:44

code being novel enough. We are past

20:47

that point. Get over your [ __ ] But now

20:49

we need to talk about the thing most of

20:51

y'all are here for. Junior devs. It's

20:54

tough out there. I won't pretend

20:56

otherwise. Getting the attention of an

20:57

experienced enough dev to even be

20:59

considered is not easy. We need to do

21:01

things a bit differently and use every

21:03

lever you have. But before we can start

21:06

doing things right, we have to stop

21:07

doing things wrong. Let's go through

21:10

some of the most common mistakes I see

21:11

with earlier career devs. I already

21:14

talked about the cold apps. Cold

21:15

applying to random companies with shitty

21:17

resumes that you generated on chat GPT

21:20

is not going to get you anywhere. And

21:21

no, a handcrafted one isn't going to get

21:23

you that much further. Cold apps are

21:25

dead. There's just too much [ __ ] going

21:28

in. You need some way to stand out from

21:30

it. And the way you stand out isn't

21:32

anything you can put on the resume. It's

21:34

humans. It needs to feel more real. I've

21:37

said this for a while, but the biggest

21:39

differentiator in everything, but

21:41

especially hiring, is trust. You need to

21:43

find ways to build trust. If you're an

21:45

early career dev, we can't trust your

21:48

job history because it's not there. So,

21:49

we need other things we can trust.

21:51

Things we can trust include somebody at

21:53

the company. thinking you're pretty

21:54

good. Somebody recognizing one of the

21:56

libraries you use, somebody reading one

21:58

of your blog posts and realizing that

21:59

it's relevant to their work. Whatever

22:01

you can do to build up trust is going to

22:04

be key. Remember that. So, we'll be

22:06

talking a lot more about trust in a bit.

22:07

So, cold apps suck. Don't expect that to

22:10

be a thing that will get you anywhere.

22:12

Your professor sucks, too. This is

22:14

another really important thing to

22:16

understand. Something I've seen a lot of

22:18

is earlier career devs or people fresh

22:20

out of college and the best dev they've

22:22

ever known was their professor. The

22:24

harsh reality is that your professor is

22:26

almost certainly not a very good dev

22:28

because most professors make less money

22:30

than good devs. And if your professor is

22:33

teaching, it's probably because they

22:35

didn't like doing, they didn't do well

22:36

with the doing, or they got tired of it

22:38

for some reason. And I can't tell you

22:40

how many times I saw in college that my

22:42

peers were running circles around my

22:45

professors. And I was lucky that my

22:46

professors largely understood this. They

22:48

knew their experience was really, really

22:50

behind. And they leaned on the students

22:52

that were most excited, most energized,

22:54

and most ready to teach those things to

22:57

guide us towards what the most useful

23:00

things were. Your professor can teach

23:02

you a lot about how to think technically

23:04

about problems, but they will not teach

23:06

you how to get a job. They will not

23:07

teach you what working in the industry

23:09

looks like today. They will certainly

23:11

not teach you about getting ahead of

23:12

your peers in a way that makes you more

23:14

likely to succeed beyond giving you

23:16

homework that you're probably using AI

23:18

to cheat on anyways. Your professor is

23:20

not going to give you the pieces you

23:22

need and the knowledge you need to get

23:23

your job. Another common mistake I see

23:25

is obsessing over qualifications. And I

23:28

understand why this happens. In order to

23:30

get into college in the first place, you

23:32

needed to have all of these crazy

23:34

accolades on your application. like you

23:36

were the head of some club at your

23:38

school or you had this experience

23:41

working this specific charity or you had

23:43

really high grades, you got the perfect

23:46

score on the SAT, all those types of

23:48

things, that [ __ ] does not matter

23:50

anymore. It barely did before and it

23:53

does not matter now. Chasing prestige,

23:55

chasing accolades, chasing these

23:57

qualifications is not going to help. and

24:00

going and getting some random

24:01

certification from Microsoft that you're

24:03

Azure certified or office certified.

24:05

None [clears throat] of that [ __ ]

24:06

matters. I don't know anyone who's hired

24:08

anybody in the last 10 years based on

24:10

their qualifications in those senses.

24:12

They are hiring based on the fact that

24:14

they are potentially good fits for the

24:16

team. That is it. And now for the thing

24:19

that will likely be the topic for most

24:21

of the rest of the video. Outsourcing

24:23

your learning via AI. Or put

24:26

differently, avoiding learning with AI.

24:29

Feeling dumb sucks. Humans optimize

24:32

their lives to avoid it. And it makes

24:34

sense why. Like biologically speaking,

24:37

if you have the option between two

24:38

foods, one that you're familiar with,

24:40

have eaten a lot, and know is safe, and

24:42

one that you've never seen before or

24:44

tried before, the one you've never tried

24:45

could be poisonous. So obviously, you

24:47

don't want to try it. The fact that you

24:49

don't understand it makes you inherently

24:51

averse to it. But the harsh reality

24:53

about software engineering is that you

24:55

are at your best when you feel kind of

24:57

dumb. That's when you are pushing past

24:59

your experience, past your expertise,

25:00

and building yourself up and growing.

25:03

Does this mean you should avoid using AI

25:05

tools? No. Notice my wording here.

25:06

Avoiding learning with AI is the key.

25:09

Not that you should avoid learning with

25:10

AI, but this is a thing that you are

25:11

probably doing right now. When you run

25:13

into a problem and you don't understand

25:14

it, you use the AI to work around it or

25:17

to have it solve it for you, and you

25:18

don't improve your own understanding at

25:21

all. you are reversed to this feeling of

25:23

being unsure or clueless and rather than

25:26

embrace it and spend time in it and

25:28

resolve it, you outsource it so you

25:30

don't have to spend any time in it and

25:32

that keeps you from building up skills

25:33

that are valuable. To contradict myself

25:35

a little bit here, HTMX is a project

25:38

that is largely by a professor. His

25:40

name's Carson. He's great. Carson thinks

25:42

a lot about how we learn and he knows

25:44

that his students are going to use AI

25:46

tools. instead of just letting them

25:48

cheat on all their homework with that,

25:50

he actually goes the other way. He knows

25:52

that the students are going to be using

25:53

these types of AI tools. So, he instead

25:56

hands them an agent MD file. If you're

25:58

not familiar, an agent MD file or a

26:00

cloud MD file steers the agent by

26:02

putting something at the start of the

26:03

context that gives it instructions on

26:05

how to operate. Generally, here is said

26:07

agent MD. Primary role is teaching

26:10

assistant, not codegenerator. AI agents

26:12

should function as teaching aids that

26:14

help students learn through explanation,

26:16

guidance, and feedback, not by solving

26:18

problems for them. I see that M dash,

26:21

you generated this, didn't you? You sly

26:22

fox. What agents should do. Explain

26:25

concepts where students are confused.

26:27

Point students to relevant lecture

26:29

materials or documentation. Review code

26:31

that students have written and suggest

26:32

improvements. Help debug by asking

26:34

guiding questions rather than providing

26:36

fixes. Explain error messages and what

26:38

they mean. Suggest approaches or

26:40

algorithms at a high level. Provide

26:42

small code examples that are two to five

26:43

lines to illustrate specific concepts.

26:46

Help students understand assembly

26:47

instructions and register usage. That

26:49

one's a bit of a reach, but I

26:50

understand. And explain memory layouts

26:52

and pointer arithmetic when asked. What

26:54

agents shouldn't do. Write entire

26:56

functions or complete implementations.

26:58

Generate full solutions to assignments.

26:59

Complete to-do sections in assignment

27:01

code. Refactor large portions of student

27:03

code. Provide solutions to quiz or exam

27:04

questions. Write more than a few lines

27:06

of code at once. convert requirements

27:08

directly into working code. It gives

27:09

guides on the teaching approach on how

27:12

it should give good code examples and

27:13

then the classic this belongs in any

27:15

good agent MD or guiding file examples

27:18

of what good looks like and examples of

27:19

what bad looks like. And to be clear, he

27:22

doesn't enforce this in his courses. He

27:24

wrote this and published it and

27:26

recommends it saying, "Look, here are

27:28

the guardrails. I can't make you use the

27:29

guardrails. If you want to be a good

27:31

programmer, though, you should use these

27:32

guardrails." He moved everything to in

27:34

person on paper to make it harder for

27:35

people to cheat with AI, yada yada.

27:36

Adapt, improvise, readapt. Love this

27:39

framing in particular. This is one of

27:41

the things I love about Carson. He

27:42

constantly is reflecting on what is and

27:44

isn't working. And instead of rejecting

27:46

the norms and rejecting where things are

27:48

going, he finds ways to adapt them to

27:50

better fit into his role, which is

27:52

setting his students up for success. I

27:54

wish we had more professors like him. He

27:55

is very, very good at this. But I will

27:57

contradict him a tiny bit here. Not in

28:00

this in using it for his coursework.

28:02

Absolutely. If you're taking a course

28:03

from him or someone like him, highly

28:05

recommend for all the course work you

28:06

use an Asian MD like this and you follow

28:08

the rules accordingly. This will make

28:10

you much more likely to succeed. But at

28:12

the same time, you have a really unique

28:14

lever you can be using right now. Here's

28:16

we're going to start talking about the

28:18

things you should do instead. Before we

28:19

can do that though, I want to go on one

28:21

of my personal favorite tangents. We're

28:23

going to talk about mobile applications

28:24

for a little bit. If you are younger, as

28:27

in like a Gen Z that's going through

28:29

college or finishing it up right now,

28:30

some of the points I'm about to make

28:32

might doubt me a lot. I know I'm about

28:34

to uncstat myself hard, but hear me out,

28:37

okay? Imagine back in the day, you see

28:40

mobile phones suddenly getting really

28:42

good. Historically, we've used computers

28:44

for everything. I know you guys are

28:45

learning how to use computers now in

28:47

college, but we used to have to do it in

28:48

elementary school. And no, I'm not

28:50

talking about a Chromebook. I'm talking

28:51

about an actual computer with files

28:53

where we would plug in flash drives and

28:55

floppy discs, if you remember what those

28:57

are. Suddenly, mobile phones started to

28:59

get way more powerful. They could do

29:01

more. They could send emails. They could

29:03

browse the web. They got really

29:05

powerful. And it happened really

29:06

quickly. And you see an obvious trend

29:09

here. You know, the future, it it's

29:10

clear. We're going to be using computers

29:12

less and our phones more. Why would we

29:14

reach for a gigantic laptop in our bag

29:16

when we could just pull out our phone

29:17

and do the thing? And you want to bet on

29:19

the future. You're scared of falling

29:20

behind and you know this is what's going

29:22

to happen. So regardless of how much

29:25

experience you have, what work you're

29:26

doing, you decide it's time to go allin

29:28

on mobile. So you drop everything to

29:31

build Java applets for the Nokia

29:33

sidekick. Yeah, this is kind of funny in

29:35

retrospect, but at the time it was

29:37

pretty clear and more things were going

29:38

to move to mobile. And if you didn't

29:40

want to fall behind, made a lot of sense

29:42

to go put all of your effort and time

29:44

into building things for mobile phones.

29:46

So you would build for Sidekicks or

29:48

Blackberries or the things that were

29:49

popular at the time. All of which

29:51

together had less than 5% of the global

29:54

phone market share because smartphones

29:56

as we knew them, these types of devices

29:58

just weren't that popular. The hope was

30:00

that long-term they would become more

30:02

popular. And they did. But they got more

30:04

popular in a very different fashion.

30:06

They didn't look like this. It looked

30:08

like the phone you're watching this on,

30:09

the iPhone. The iPhone changed

30:11

everything. And when the iPhone first

30:13

dropped, they didn't even have an app

30:15

store. All they had was HTML 5 and web

30:17

apps that were inherently really

30:19

limited. About a year and a half after

30:20

the iPhone dropped, they realized they

30:22

needed to let you build real apps. So,

30:23

they put out an SDK and an app store.

30:26

But think about this for a second. The

30:28

Sidekick came out in 2002, and lots of

30:31

new versions came out over the next few

30:32

years. The original iPhone was 2007, 5

30:36

years later. Now imagine you spent 5

30:38

years going allin on sidekick

30:41

development on BlackBerry development,

30:43

on Nokia development, building for all

30:45

these weird bespoke proprietary

30:47

operating systems. And then the iPhone

30:49

comes out, takes half the market, 50x

30:51

what you thought was even possible, but

30:53

all your experience is building apps for

30:55

these old dated archaic platforms. You

30:57

don't even know how to interface with a

30:59

touchcreen properly. You're switching

31:00

languages, you're switching ecosystems,

31:02

you're switching operating systems,

31:03

you're switching user experiences,

31:04

you're switching expectations,

31:06

everything changes going from Nokia dev

31:09

to iPhone dev. So effectively what

31:12

happened there is you just wasted years

31:14

of experience and it'll take you even

31:17

more time to unlearn it. So let's think

31:19

about this. Who's better off? a

31:21

developer with 10 years of experience

31:24

who just spent three years building for

31:27

dead platform

31:29

that has to unlearn all that BS for the

31:32

new thing or somebody who's fresh out of

31:36

college, never learned wrong thing and

31:39

is excited to go all in on right new

31:43

thing. Which of these people is better

31:45

off? Very obviously these ones. the

31:49

people who don't have to unlearn the

31:51

weird ways that they did things in the

31:53

past and can just dive in fully on the

31:56

new way of doing. So, this is obviously

31:58

about mobile, but let's talk about AI

32:00

dev. Imagine a developer who's been

32:02

coding for 10 years. They used to be a

32:04

big sublime text person. They moved to

32:06

VS Code and now they're all in on Vim.

32:08

They became a hardcore neovim person.

32:10

They've been building for all sorts of

32:11

different things at their job and

32:13

realized that this AI stuff probably

32:15

matters. So they put a lot of time into

32:17

their custom config trying to get stuff

32:18

like you know the classic co-pilot

32:20

working in Vim worked really hard to do

32:22

that started using stuff like super

32:24

maven tried their best because they

32:26

cared so much about their developer

32:27

experience and their use of their editor

32:29

that they wanted to do everything

32:31

through the lens of Vim. Now all of a

32:33

sudden we are using agents in our

32:35

terminals and our IDEs and all these

32:37

other places to generate all of that

32:39

code and they are fighting tooth and

32:41

nail pretending that none of that

32:44

matters and that they are still way

32:46

better. But now they have to deal with

32:48

it now. Maybe 6 months ago they didn't,

32:50

but now these tools are good enough. If

32:52

you're not using them, you are

32:53

definitely falling behind some amount.

32:55

Their willingness to unlearn all of

32:57

their way of doing things for long

32:59

enough to embrace these new things is

33:01

way lower. The 10 plus years they have

33:03

of experience is hurting them now. And

33:06

everybody's saying I'm sneak dissing

33:07

Prime. No, I actually love Prime for

33:09

this reason. I think Prime is doing a

33:10

great job of challenging his notions and

33:12

not letting his way of building things

33:14

traditionally keep him from trying out

33:16

new things. For every person like Prime

33:18

who's actually trying to figure out why

33:20

we're all so hyped, there are literally

33:22

a hundred plus that have no interest at

33:24

all that are coping and running in

33:26

circles claiming that everybody's doing

33:28

slop and they're the one doing things

33:30

right. And that same person also sucks

33:31

at communication, so you can mostly

33:33

ignore them. But you're not that person.

33:34

You're fresh out of college. You're

33:36

really excited to try out all of these

33:38

new things. You're playing with new

33:39

stuff. You're doing whatever you can to

33:41

accelerate your own stuff, your ideas.

33:44

you're you got into code some part

33:45

because you want to make money, but some

33:47

part because building things on a

33:48

computer seemed fun to you. At least I

33:50

hope. If you're just here for the money,

33:52

go somewhere else. My channel is not for

33:54

people who are just using software to

33:56

make money. We love this stuff. And I

33:59

like programming, which makes a lot of

34:01

people question why I like this AI

34:02

stuff. I like programming because I like

34:04

the problem solving aspect and I like

34:06

building useful things for myself and

34:07

for others. And with AI, all of that's

34:10

gotten way better. So imagine the person

34:12

who just loves their Blackberry, who's

34:14

been building apps for Blackberry, who

34:16

dedicate their whole life to the

34:17

BlackBerry ecosystem. Obviously, that

34:19

person is going to be useless when the

34:20

company needs to build a phone app.

34:22

That's kind of where we're at now, too.

34:24

These people who have 10 years of legacy

34:26

way of building that are deeply attached

34:29

to each individual piece of the software

34:31

stack they use, of the editor that they

34:33

build in, all of those things. that

34:36

person is not going to embrace this

34:38

stuff without a lot of incentive to do

34:40

such and they also probably have less

34:43

energy at this point too because they

34:44

were trying all sorts of new things

34:46

early in their career. They slowly

34:48

settled on what they have and now

34:49

they're not as interested in trying new

34:51

stuff. That is not the case down here.

34:53

Somebody who's fresh out of college is

34:55

not going to be unwilling to try a new

34:57

editor. They're not going to be

34:58

unwilling to check out these new dev

35:00

tools. They're not going to be unwilling

35:01

to explore these things. In fact, quite

35:03

the opposite. They might be excited

35:04

about them. They might be trying all

35:06

sorts of new stuff. And that's one of

35:07

the things I want to encourage. On one

35:09

hand, when you're doing your coursework,

35:11

you shouldn't be using AI to cheat. I

35:13

highly recommend this guest, and the

35:14

link will be in the description, don't

35:16

worry. If you want to use AI correctly

35:18

in class, but the harsh reality is that

35:20

if you're only coding for classwork and

35:22

you're not doing anything else outside

35:24

of it, you're probably [ __ ] So, to go

35:26

back up here, what you should do instead

35:28

is use the new tools to do cool [ __ ] I

35:32

don't mean you should use it to cheat on

35:33

your work, but maybe if one of your

35:35

assignments in class was really cool and

35:36

you want to build it into something more

35:38

thorough, you can work with some of

35:39

these new AI tools to push it further to

35:41

build something bigger. Maybe there's a

35:43

club in school that you really like that

35:45

needs a better way to keep track of its

35:46

balance and its budget and what people

35:48

are doing for the club. Vibe code an app

35:51

using these new tools to try and make

35:53

that useful. I'm at the point where in

35:55

an average workday where I'm actually

35:56

sitting and doing things for my job, for

35:58

my channel, for my companies, for my

35:59

products, I am vibe coding one to two

36:02

new apps from scratch a day to just

36:04

experiment with ideas, try to solve

36:06

problems, build things in the

36:07

background. Even now, as I'm streaming,

36:09

I'm working on a project to help me find

36:11

and identify project ideas and video

36:14

ideas based on things being posted on HN

36:17

and on places like Simon Willis's blog.

36:19

and I'm going to compare that against my

36:20

channel and use an AI agent to compare

36:22

and contrast and find ideas that I might

36:24

not have covered yet that could be good

36:26

topics for my channel. I just build

36:28

random [ __ ] like this all the time when

36:29

I have a theory or an idea or some

36:32

question I want to answer. I love using

36:34

these tools to build all of this stuff.

36:36

One more borderline essential thing that

36:38

like especially in college, but

36:40

especially if you're not in college is

36:42

essential to everything we talked about

36:44

here, collaboration. Most of your

36:46

coursework is going to be individual

36:48

things that you're working on

36:49

independently yourself like your tests

36:51

and your homework. There will be some

36:53

amount of coursework that is hopefully

36:54

collaborative, but that varies a lot

36:56

depending on the school, the program,

36:57

and many other things. Your job isn't

37:00

just to take an issue and write code.

37:02

Your job is to be a member of a team.

37:04

And working with other people is

37:06

essential to being successful in this

37:07

field. Getting good at collaborating is

37:10

key. Collaboration can be all sorts of

37:12

different things. It can be mentoring

37:14

earlier students and helping them with

37:15

their homework. It can be building

37:17

things with your friends that are useful

37:19

to the clubs that you attend. It could

37:20

be making a project with a few friends

37:22

to help you keep track of stats in a

37:24

video game you play. It could be going

37:25

to hackathons and building things from

37:27

scratch at those. Hackathons in general

37:29

are really cool. Finding opportunities

37:31

to collaborate will help you level up

37:33

your skills as a developer so that you

37:35

understand what it's like to actually

37:36

have a job. And even more importantly,

37:38

it'll help you make connections that'll

37:40

be essential in getting jobs in the

37:41

future. To this day, despite the fact

37:43

that I have been coding for 15 years, a

37:46

significant portion of my coolest

37:47

opportunities come from my friends that

37:49

I went to college with. People like my

37:51

CTO and roommate Mark. I met him in

37:53

college. We actually didn't interact too

37:55

much in college. We were just part of

37:57

each other's rough friend groups from

37:59

the other things we did, but we ended up

38:00

very aware of each other and what each

38:02

other was good at through the

38:03

connections we had as we collaborated

38:05

with other people in each other's

38:06

networks. So, when he moved out here, he

38:09

was looking for a place. I knew him

38:10

pretty well. I suggested he considers my

38:12

extra room and since then we have been

38:14

best friends building everything we

38:15

build together. These are connections I

38:17

made through college through

38:18

collaboration both directly and

38:20

indirectly and those types of

38:22

connections are essential to being

38:24

successful long term because when you

38:26

are eventually looking for a job if one

38:28

of your friends from college that you

38:29

built things with is on a team that's

38:30

hiring and they know that you're

38:32

pleasant to work with you get to skip

38:34

that whole pile of [ __ ] resumes and go

38:36

straight into the interview. Those types

38:38

of things are essential. It's not what

38:40

you know so much as who you know is the

38:42

common phrase, but that's very real. And

38:44

you're starting to build up who you know

38:45

in your classes. And this is why it's

38:47

even more important if you don't have

38:49

courses to find ways to collaborate,

38:51

build useful things, find other people

38:53

building useful things, find ways to

38:54

work with them, find Discord servers to

38:56

hang out with these people, find

38:58

projects that you could be useful to.

38:59

Just building things with people will

39:03

help so much. Mickey's hanging out in

39:05

chat. If you're not already following

39:06

his channel, definitely give it a look.

39:08

He's had a couple really cool jobs,

39:09

including Convex, one of my favorite

39:11

companies in the space. And as he just

39:12

said, he didn't interview at Tempo or at

39:14

Convex. It was the companies reaching

39:15

out asking if he wanted a job because he

39:17

made a splash in the spaces they were

39:19

in. They saw him and they were

39:21

interested in potentially working with

39:22

him. Those are going to be the coolest

39:24

opportunities. And you get those by

39:26

being useful and building trust with

39:28

people way earlier. And you don't do

39:31

this expecting every single one of these

39:33

connections to come out and be useful.

39:35

You'll probably only have one useful one

39:38

for every 10 to 50 people you work with.

39:40

But the goal is again to increase the

39:42

odds that things go well for you. We're

39:45

trying to stack the deck. The more cards

39:47

you draw, the more cards you put in the

39:48

deck, the more outcomes that are

39:50

positive that exist within it, the more

39:52

likely you are to have a good outcome.

39:54

If you make two friends in college and

39:56

neither end up getting a job or on teams

39:58

that are hiring, you're screwed. If you

40:00

make friends with 20 devs in college and

40:02

three or four of them end up on teams

40:04

that are hiring, your likelihood of

40:06

getting a real job soon is way, way

40:08

higher. And if you find yourself jealous

40:10

of that super social person that you

40:12

went to college with that like was on

40:14

the football team or whatever, barely

40:16

knew how to code, but got a job fresh

40:18

out of college, this is why. They made

40:20

the connections and the friendships, and

40:22

they were pleasant and easy to trust and

40:24

work with. Even if the work was bad,

40:27

they made it easy to do. The easier you

40:29

can be to work with, the better chance

40:31

you have at getting work. I have a whole

40:33

video about luck surface area that goes

40:35

deeper on this idea, but you really need

40:37

to be focused on increasing the

40:38

likelihood that a lucky thing happens

40:40

because in the end, getting a job is

40:42

luck some amount. So, the more

40:43

opportunities you have to have that

40:45

lucky thing happen, the higher

40:46

likelihood you have to succeed. On that

40:49

topic, here's one that's a little harder

40:51

to describe that's very, very valuable.

40:53

Be useful. This is tough because there's

40:56

two sides to it. There is the being

40:58

useful part, but more importantly,

41:00

there's the understanding how to be

41:02

useful part. You don't know what useful

41:04

is until you've experienced it on the

41:05

other side. And you get there largely by

41:08

doing things. Here's an experience that

41:10

you either have or haven't had and which

41:12

you fall on will tell me a lot about

41:14

where you're at. You're working on a

41:16

project. You have some weird error

41:18

happen when you use this specific

41:19

library. You have no idea what's going

41:21

on. So, you Google search it. The first

41:23

two results are useless, but the third

41:24

one is a random old GitHub issue where

41:27

the person reported the problem and then

41:30

three months later somebody else said,

41:31

"Hey, I have this problem too. Here's

41:33

how I solved it and now it's been 3

41:35

years and their answer kind of works but

41:38

is also out ofd and not supported." But

41:40

at the very least, you unblocked

41:42

yourself by seeing that. If you haven't

41:44

had an experience like that at some

41:45

point, you're not building enough. You

41:47

need to go ship a lot more. Something

41:49

you'll learn is there's a lot of

41:51

valuable knowledge and information

41:52

around the web from other developers

41:55

over the last many decades working on

41:58

things similar to you running into

41:59

problems similar to you using

42:00

technologies similar to you. And here's

42:02

the kicker. Those people are also

42:04

similar to you. And if you can relate to

42:06

them and you can understand them, you

42:08

can very quickly become useful to them

42:09

and then eventually become friends of

42:11

theirs. So, if you do have issues like

42:13

that, if you have a problem with a tool

42:15

you're using and you find one of those

42:17

old threads and the information in it is

42:19

mostly right but kind of out of date,

42:21

figure it out, fix it, and leave the

42:23

comment that unblocks the next person.

42:25

I've legitimately hired somebody because

42:28

I recognize their username from a GitHub

42:30

thread where they solved a problem that

42:32

I was having. I know it sounds crazy,

42:33

but I've actually done that. It wasn't

42:35

as direct as I recognize your name, you

42:36

get a job. But when they hit me up about

42:39

potentially working with me and their

42:41

username on Twitter was the same as

42:42

their username on GitHub and I

42:43

recognized them, I was like, "Oh [ __ ]

42:45

do you use this library?" They're like,

42:46

"Yeah, I'm in the issues for it all the

42:48

time." That was a huge trust builder

42:50

because it meant that this person isn't

42:52

just hitting me up with a random cold

42:53

resume. They're actually in the weeds

42:55

doing the [ __ ] and they understand the

42:57

same things I understand. They spend

42:59

times in the same places I do. when I am

43:01

hiring as an engineer, I'm not looking

43:03

for people who feel very different from

43:06

me inherently. So, the more you can be

43:08

in my spaces and do the same things I do

43:10

and breathe the same air I breathe, so

43:12

to speak, the easier it is for you to

43:14

get that job. Note things that I didn't

43:16

say here, pull requests. I'm not saying

43:19

you need to go contribute all sorts of

43:21

slop to random GitHub repos. In fact,

43:23

nowadays, that's kind of a bad look. I

43:26

also didn't say fill GitHub with all

43:28

sorts of random open source projects

43:30

with 0 to one stars. What I did say very

43:33

very explicitly is spending time in the

43:35

issues tab. Being useful in issues is

43:38

one of the best green flags I can see

43:41

from a developer. If I go check your

43:43

GitHub profile and what I see is you

43:45

opening detailed issues with clear

43:47

reproductions on the problem you had so

43:49

that somebody could go solve it and I

43:51

see you commenting on existing issues

43:52

with useful information and then I see

43:54

you hanging out in the Discord

43:55

communities for these projects answering

43:57

people's questions linking them to the

43:59

right sources and then I see you hanging

44:01

out in my Twitch chat like a lot of

44:02

these people are dropping me really

44:04

useful resources throughout like Maria

44:06

here just linking a video I was

44:08

referencing to somebody that was based

44:10

on an article that was written based on

44:12

my video. It's so surprisingly easy to

44:15

be useful, but you need to understand

44:17

what useful is. And the only way you

44:19

know what useful is is if you're doing

44:21

[ __ ] You don't know what a useful issue

44:24

is compared to a useless one until

44:25

you've seen both and one helped you and

44:27

one didn't help. You don't know what a

44:29

good answer to a question is until

44:31

you've seen them happen in the Discord

44:33

server or you've asked one or two of

44:34

them yourself. You got to be in the

44:36

trenches to understand the trenches. And

44:39

once you understand them a little bit,

44:41

you'd be amazed how quickly you can

44:42

become useful. One of my favorite

44:45

interactions I ever had that happened in

44:47

my Discord, pretty sure it's Roy. Roy,

44:49

thank you, Chris. Legend. Again, the

44:51

people who hang out here a lot and whose

44:53

names are associated regularly with

44:55

things that are useful, become my

44:57

favorite people. The moment Chris needs

44:59

a job, I will hand him to any company

45:00

interested because he comes in and

45:03

answers the like if I can't complete the

45:06

thought, he can because he gets it and

45:07

he Yeah, you get the idea. So the

45:09

example I want to give is somebody from

45:11

my community named Roy. Roy very quickly

45:14

became one of the most helpful people in

45:16

the community despite the fact that he

45:17

didn't have a software dev job. He was

45:19

effectively doing semi-technical

45:21

customer support and was building things

45:23

on the side for fun. This is Roy. Sorry

45:26

for calling you out like this one, man,

45:27

but you are the literal golden example

45:29

of what I'm describing here. It's also

45:31

worth noting that Roy was a career

45:33

shifter. He did not go to school for

45:35

software development as far as I recall.

45:37

He was working in other spaces and

45:39

teaching himself how to code on the side

45:41

and through that found my community, had

45:43

a couple questions, really liked the way

45:45

we were building, and very quickly

45:47

became the number one question answerer

45:50

in my Discord. After a few weeks spent

45:52

there, he started to get the things we

45:54

built and why we built them that way and

45:56

internalize these concepts and quickly

46:00

realized he could just answer the

46:02

questions. Eventually, another dev that

46:04

you guys might have seen on YouTube,

46:05

Melky, started hanging out in my server

46:07

as well cuz he was starting to use my

46:08

stack, the T3 stack, and he had

46:11

questions about it. In particular, some

46:12

weird things he wanted to do with TRPC.

46:14

Roy answered his questions in my server

46:16

very quickly. Afterwards, Melky started

46:19

DMing Roy, asking him questions about

46:21

these things because he wanted to go

46:23

even further and found Roy to be really

46:25

clear, concise, and useful. Melky

46:27

randomly hits me up a week or two later,

46:29

saying, "Holy [ __ ] Roy is one of the

46:31

most useful people I've ever talked to.

46:34

He's so helpful." To which I respond,

46:36

"Yeah, isn't it crazy that he doesn't

46:38

have a dev job yet?" Melky's response to

46:40

this was one of the funniest messages

46:41

I've ever gotten. Dot dot dot. You're

46:44

joking, right? Wait, you're not joking?

46:46

What the [ __ ] I thought he was at least

46:49

10 years my senior. What do you mean he

46:51

isn't an experienced developer? What do

46:53

you mean he doesn't have a job? What the

46:55

[ __ ] Theo? Which I then screenshotted

46:57

and sent to my friend who was hiring at

46:58

Clerk. And sure as [ __ ] Roy now works

47:01

there. If you ask anybody who's worked

47:02

or works at Clerk about Roy, their

47:05

response is going to look something like

47:06

this. He's now a knowledge well within

47:08

Clerk. Everyone loves working with Roy

47:11

because he just cares to be helpful. and

47:14

he felt so grateful to the community for

47:16

helping him learn that he paid it back a

47:19

hundfold and is now a golden example of

47:22

how to do this. He used my community in

47:24

space to learn and through that process

47:26

learned things that others hadn't quite

47:28

learned yet and could use that to be

47:30

useful. He immediately paid forward 10x

47:33

what he had gotten from MySpace. I would

47:36

argue he barely got anything other than

47:37

some names of some cool technologies,

47:39

but became one of the most important

47:41

people in said community very, very

47:43

quickly. And it's not that hard to do.

47:45

Huge shout out to Roy. He more than

47:47

deserves all of his success, but more so

47:49

than me or other YouTubers, I think Roy

47:52

is the model you should be looking at

47:53

for how to do well in the fast, quickly

47:56

changing tech landscape. So, what does

47:58

it look like to do this? Now, obviously,

48:01

people ask AI more and more questions

48:03

and they ask Stack Overflow less and

48:05

less. So, a lot of these opportunities

48:06

aren't as visible as they were before,

48:08

but believe me, there are still plenty

48:10

of them. There are so many repos that

48:12

have lots of issues on them that don't

48:14

have a good reproduction. If you are

48:15

working with a tool and you run into a

48:17

problem and you find an issue that's

48:19

already cut for that tool that doesn't

48:21

have a reproduction, it doesn't show how

48:23

to replicate it, it purely shows a vague

48:26

error message about the same thing you

48:28

had. go in there with a reproduction,

48:30

spin it up on Stack Blitz or make a new

48:32

GitHub repo that is very simple, minimal

48:34

example that showcases the issue. This

48:37

shows so many different skills. It shows

48:39

that you're resourceful because you

48:40

found this issue. It shows that you're

48:42

not trying to waste people's time

48:44

because you were trying to make it

48:45

easier to solve the issue. It shows that

48:47

you're not just trying to get a random

48:49

drive by PR because a PR filing might be

48:51

with the goal of getting merged.

48:52

Nobody's commenting on an issue so they

48:54

get credit. They're commenting on issues

48:56

so the issue can be resolved. And it

48:58

also shows that you understand the

48:59

problem space well enough to reduce it

49:01

to a very easy to see version of the

49:04

same problem. If you can come in and

49:06

say, "Hey, I looked at this. These three

49:08

things didn't solve it. Here is a simple

49:10

example that showcases the problem." You

49:12

bet your ass every maintainer on that

49:14

project that sees it is going to

49:15

remember your name and like you. And

49:17

it's not that hard to do that. Or if

49:19

you're on Twitter and you see somebody

49:20

having an issue with a thing, reply to

49:23

them or DM them offering to help. or you

49:25

see somebody in a Discord server asking

49:27

questions about a thing you just had to

49:28

resolve yourself, tell them how you did

49:30

it. Every time you have a problem,

49:33

someone else is going to have the same

49:35

problem. Do your best to remember it and

49:37

try and it's a weird way of thinking.

49:40

Try to write down the two sentences that

49:42

would have saved you that time. If you

49:44

spent a day or two trying to figure

49:46

something out and then finally figure it

49:48

out, think to yourself when you're still

49:50

in that questioning moment where you

49:52

just figured it out, you have a really

49:54

novel opportunity to take what you

49:56

learned and try to find the smallest

49:58

version of it that could have helped you

50:00

a few days ago when you first had the

50:02

issue. Try doing this and maybe, just

50:04

maybe, try writing it down because in

50:06

the future you'll see someone else

50:08

having the same problem. And if you

50:09

offer to help, you are suddenly way more

50:12

trustworthy, way more collaborative, way

50:14

more useful, and way more memorable. I

50:16

remember the usernames of the people in

50:17

my chat who answer questions for me, who

50:19

bring me useful resources, who build me

50:21

useful [ __ ] You got to be memorable,

50:24

though. Being yet another resume on a

50:26

pile of [ __ ] is not going to get you a

50:28

gig. But here's where things get really

50:30

fun, though. If you do all of this in

50:32

particular, you really start to lean

50:34

into these new tools to do cool [ __ ] and

50:37

you're seen as useful to others, you can

50:39

kind of win against all of the levers.

50:41

The hiring manager that doesn't know

50:43

[ __ ] about tech sees you have the

50:45

credentials and you know how to use

50:47

cursor and claw code really well. That's

50:49

AI. He's AI ready. Cool. And then the

50:52

actual engineers on the team are like,

50:53

"Oh, I've seen him pop up in the GitHub

50:54

issues for the things that we use. I've

50:56

seen him be useful in our space. That's

50:58

awesome." And then the exec at the

51:00

company is like, "Oh, we're hiring AI

51:03

native engineers, people who grew up

51:05

using these tools that can modernize our

51:07

company." It's [ __ ] but you can

51:08

lean into that. Use the lever they're

51:10

giving you. Take advantage of weird

51:13

statements like the one that the CTO of

51:15

Netflix made here about how juniors are

51:18

AI native. It's stupid, but take

51:20

advantage of it. And I'm not saying

51:22

cheat in class. I'm saying use these

51:24

tools for all sorts of different things

51:25

and use it to accelerate your learning,

51:27

your growth, and your completion of

51:29

things that you want to build. One last

51:31

piece, cuz I realize I should bring this

51:33

up more, cuz a lot of you will struggle

51:34

with coming up with ideas on what to

51:36

work on, especially early when you

51:38

haven't wired your brain in a way where

51:39

problems are now things you can go build

51:41

solutions to. Try turning your questions

51:43

into projects. It'll feel weird

51:45

initially. Just as a quick example, a

51:47

question I had was which different AI

51:50

models were better at writing? If I

51:52

wanted to use a model to generate copy

51:54

for my homepage or help me write an

51:56

essay, which models are better and worse

51:58

at this? Sure, there are some benchmarks

52:00

here and there, but I didn't like those

52:01

benchmarks. They didn't align with my

52:03

experience using the models. And I was

52:05

also curious how they would handle

52:06

feedback. If you give a model a review

52:08

of what it wrote and told it to adjust

52:10

accordingly, how well will it handle

52:12

that? So, I vibe coded a little app

52:14

locally for having it models generate

52:16

essays based on a prompt, having all the

52:18

other models give it feedback. It could

52:19

then update the essay and then comparing

52:22

all of those. And it was really fun. I

52:24

learned a ton and I made actual novel

52:27

discoveries about how the different

52:28

models behave in a writing scenario and

52:31

how they compare to each other. It was a

52:33

really fun project and I learned a bunch

52:35

and have a lot of fun things to talk

52:36

about when I talk to other companies and

52:38

people in the space. When you have

52:39

questions like this, try building your

52:41

own solutions. If you want to know how

52:43

much faster Solid and spelt are than

52:45

React, build something to figure it out.

52:48

If you want to figure out why it's so

52:49

hard to scaffold the C++ project, build

52:52

some scripting to automatically do it

52:54

for you and see where the shortcomings

52:55

and foot guns are. If you want to see

52:57

why people think Rust is so much better

52:59

than Go, vibe code the same thing in

53:01

both of them and see the benefits and

53:03

negatives of each. Build things to

53:05

answer your questions and you will learn

53:07

so much. Okay, I lied. There's one last

53:10

thing. Be excited. I know this can be

53:12

hard, especially if you're in that

53:14

terrifying, oh my god, school's about to

53:16

end. I don't have a job yet moment. If

53:18

you've had something that was your job

53:20

your whole life, be it you were in

53:22

elementary school, then middle, then

53:23

high school, during the summer, your

53:24

job's to relax, and then during college,

53:26

your job's to learn. When that's over,

53:28

if you don't have your next thing, it

53:29

can be scary. You can't let that feeling

53:32

win. Excitement is essential for

53:34

success, more so now than ever. And this

53:37

is your biggest lever against those

53:39

experienced engineers. The energy you

53:42

bring in. The fact the whole field is

53:44

changing is scary. Absolutely. But it's

53:47

also exciting as hell. You don't have to

53:49

give up 10 years of knowledge to be

53:51

successful. A lot of the people on this

53:53

side are going to have to give up a lot

53:54

more than 10 years of knowledge in order

53:55

to survive all of these changes. You

53:57

don't have to code for 10 years to learn

53:59

how to build a solution to your problem.

54:01

That's so cool. And because your brain

54:03

works different, you'll see things

54:05

differently, too. People who were really

54:06

into the Nokia into the Blackberry did

54:09

not know how to use a smartphone with a

54:11

touchscreen keyboard for a long time and

54:13

they couldn't figure out how to build

54:14

their apps around it because their

54:15

mindset was so deeply baked into the old

54:19

way of doing things. And the things are

54:21

changing quick, too. They're already

54:23

very different than they were when I

54:24

grew up and they'll be even more

54:25

different in a year. Take advantage of

54:27

that. Anything you can think of, you can

54:29

build some version of. Maybe you can't

54:31

build a multi-million user billion

54:33

dollar a year product that scales

54:35

infinitely across every platform. But if

54:38

you want to build Twitter for dogs, you

54:40

can go do that with not that much

54:41

experience and you'll learn a lot

54:43

through the process. Be curious, be

54:45

excited, be collaborative, be in the

54:48

trenches, do [ __ ] and as long as you're

54:50

here with us and you're hanging out with

54:52

us and you're talking to people that

54:54

work in code every day, you'll probably

54:56

do pretty well. I would bet pretty good

54:59

money that you could measure the number

55:01

of devs somebody talks to in a given

55:03

week against how hard they are

55:05

struggling to find a job and it'll be a

55:07

pretty linear relationship. If you spend

55:09

more time interacting with devs, working

55:11

with other devs, talking to them,

55:13

hearing what they're doing, hearing what

55:14

they're struggling with, collaborating

55:16

with them to build your own solutions,

55:17

answering their questions, asking them

55:19

questions, you will almost certainly

55:22

figure things out. But you got to be

55:24

there and you got to start being useful.

55:26

Balancing out how much you ask versus

55:28

how much you share is a key part here,

55:30

too. Your goal should be as quickly as

55:32

possible to give more than you take. To

55:34

answer more questions than you ask, to

55:36

be more useful than you are using. The

55:38

best thing in the world you could ever

55:39

do in one of these technical interviews

55:41

is answer a question that the person

55:44

giving the interview doesn't know or

55:45

understand. Be collaborative, be useful,

55:48

be energized, be ready, and eventually

55:51

you will start to build the types of

55:52

trust you need to be successful. And one

55:55

last thing, I would like to selfishly

55:57

thank the companies that suck so bad at

55:59

hiring that I can get the best engineers

56:00

at the world at discount prices. I

56:02

appreciate each and every one of you

56:03

guys. I pay my team fairly to be very

56:05

clear, but the fact that I can get these

56:07

legends working for me because big

56:09

companies don't even know how to

56:11

interview them is a huge edge. And if

56:13

you're interested in building something

56:14

useful and making your own startup, you

56:16

should take advantage of that, too. If

56:18

you're starting your own company, take

56:20

advantage of the fact that everybody

56:21

sucks at interviewing. Poach people from

56:22

great companies. take the opportunity to

56:24

hire better than your competition

56:26

because your competition almost

56:27

certainly sucks at hiring. I think I've

56:29

said everything I have to here. Had a

56:31

lot to say. I hope this is useful to

56:33

somebody. I know that these ones can

56:35

vary cuz I haven't been a junior in a

56:36

long time. And I know a lot of people

56:38

were looking for me to come in here and

56:39

be like, "Look at the numbers. You're so

56:41

[ __ ] Stop feeling bad." I don't want

56:43

to do any of that [ __ ] I just want you

56:45

all to understand why people don't want

56:47

to hire you specifically. That was quite

56:49

a rant. I hope this is useful. Let me

56:51

know if it is or if it isn't and what I

56:52

can do better next time.

UNLOCK MORE

Sign up free to access premium features

INTERACTIVE VIEWER

Watch the video with synced subtitles, adjustable overlay, and full playback control.

SIGN UP FREE TO UNLOCK

AI SUMMARY

Get an instant AI-generated summary of the video content, key points, and takeaways.

SIGN UP FREE TO UNLOCK

TRANSLATE

Translate the transcript to 100+ languages with one click. Download in any format.

SIGN UP FREE TO UNLOCK

MIND MAP

Visualize the transcript as an interactive mind map. Understand structure at a glance.

SIGN UP FREE TO UNLOCK

CHAT WITH TRANSCRIPT

Ask questions about the video content. Get answers powered by AI directly from the transcript.

SIGN UP FREE TO UNLOCK

GET MORE FROM YOUR TRANSCRIPTS

Sign up for free and unlock interactive viewer, AI summaries, translations, mind maps, and more. No credit card required.