HomeVideos

Day in the Life of a Senior Software Engineer | mentoring juniors all the way to BIG TECH

Now Playing

Day in the Life of a Senior Software Engineer | mentoring juniors all the way to BIG TECH

Transcript

598 segments

0:04

You might have to use strength on him.

0:07

>> [laughter]

0:09

>> Physical force.

0:21

Putting his backpack and put a jacket.

0:40

Feel like I'm a bad parent for letting

0:41

him watch so much TV.

0:43

>> [laughter]

0:43

>> And just in the morning?

0:48

Is there anything you said you were like

0:52

I'm not going to do this when I'm a

0:53

parent. My kids never going to do this.

0:54

>> Watch TV.

0:56

>> [laughter]

0:57

>> No, okay. So, what happened

0:59

I didn't let him watch TV, right? And

1:02

then like

1:03

my wife

1:04

I don't want to blame it on my wife, but

1:09

My wife took him to her friend's house

1:10

one day.

1:12

And then all of a sudden they came back

1:14

and they have a son, too.

1:15

And all of a sudden they came back and

1:17

he wanted to watch TV all the time.

1:21

That's how quickly the switch happened?

1:24

Yeah.

1:25

Maybe not, but

1:26

maybe I let it happen.

1:29

You don't got what this morning? Like a

1:30

schedule?

1:32

I don't have a meeting to schedule, so

1:33

we don't have to do anything.

1:38

I know we're going to get

1:44

Try

1:48

Yeah, okay. I got you.

2:01

How do you turn this around for selfie?

2:03

Uh there's like a a button [music]

2:06

uh on the screen like on the top right

2:08

corner.

2:09

Oh [ __ ] damn I'm so tired, bro.

2:12

You know what? It's all good.

2:14

So, let's get some coffee.

2:15

Or let's get some coffee. Let's do it.

2:17

Yeah.

2:19

You want a hot one or a cold one? Uh

2:22

let's go cold. We're going to try this

2:23

cold.

2:24

I was thinking cold.

2:33

The best coffee machine

2:36

See, I'm I'm not I'm not a balanced

2:38

dude.

2:39

>> [laughter]

2:40

>> Not firing on all cylinders? Yeah.

2:47

>> [snorts]

2:55

>> Yeah, but uh

2:57

a lot of shit's been happening, you

2:58

know? We've been um

3:01

going through a lot, you know?

3:03

A lot of changes, especially for um

3:06

something's going on with Mini right

3:08

now. I think he's out of commission for

3:09

like a week or something.

3:11

He'll be back. We'll uh

3:13

we'll announce something soon, but um

3:17

just having some um issues.

3:20

And but you know, we're getting back on

3:21

the bike. We're going to

3:23

forge forward no matter what. Just like

3:25

anything, you know?

3:26

Keep this channel alive.

3:28

But um Mini will be here in a couple of

3:29

days.

3:31

But um he's going through something a

3:32

little bit sad, but it's okay.

3:35

We'll we'll make it through.

3:40

There's so many unexpected life that

3:41

happens all the time, unexpected things

3:43

in life, and uh

3:46

>> [snorts]

3:47

>> I mean

3:49

I'm happy we had the channel to like

3:50

help him, you know?

3:52

Uh

3:54

and like financially or whatever he

3:55

needs, like we're here.

3:57

And uh

3:59

he'll get through it. And um it's good

4:01

to always like, you know

4:03

be working

4:05

you know, have you know, everything

4:07

there's so many things that happen in

4:09

life like unexpected like

4:13

family member

4:16

your kids braces I don't know, you know,

4:19

[laughter] like

4:20

you always have to have like some money

4:22

set aside to

4:23

help out with situations. And the only

4:26

way to do that is to like

4:28

work.

4:30

But

4:31

there's so much [ __ ] that happens.

4:33

Is that your uh push for everyone having

4:35

a emergency fund? Yeah.

4:37

>> [laughter]

4:39

>> Within that year or 2 years

4:42

like what have you seen as far as the

4:44

mentees coming in with like with AI

4:46

skill set They're amazing. Like I'm

4:49

learning things as well, you know? Like

4:51

this whole thing about like using tokens

4:53

and all this kind of [ __ ] is like

4:55

different, you know, like coding is not

4:57

a free thing anymore.

4:59

>> [laughter]

4:59

>> It's like

5:00

I pay money for these API keys or these

5:02

call calls and [ __ ] It's like

5:05

it's weird like

5:07

cuz I always thought, right? Like code

5:11

like especially like iOS development or

5:13

like React Native development

5:15

you have to be like a first world

5:17

country to like do this stuff because

5:19

what I always think about coding is like

5:21

you're solving first world problems.

5:23

And um

5:25

like you need a MacBook to work on iOS

5:27

stuff, right? So

5:29

that cuts like your competition in half

5:31

or some [ __ ] right? Now coding is like

5:35

I have to have like $100 of credits in

5:37

GPT or Claude or Opus or whatever

5:41

to start programming. And it's like

5:43

that cuts your competition as well. You

5:44

know what I mean?

5:45

Like sure there are free programs and

5:47

stuff, but it's

5:50

it's not a free thing. And you need

5:51

money to do anything in life nowadays.

5:53

And to get that money you got to work

5:55

and you got to keep it moving, you know?

5:58

Like

5:59

you know

6:01

hopefully the company pays for it for

6:02

you, but maybe if not you got to

6:05

realize how to do this. And look at this

6:06

[ __ ] [ __ ] He parked right in

6:07

front of my car.

6:08

>> [laughter]

6:12

>> What would you say like to somebody who

6:14

is

6:15

getting into it? Like does it change

6:18

your like approach or would you say like

6:19

hey you need to have some money for

6:21

these tokens or

6:21

>> No, no. I think what we what we can

6:23

provide is the free [ __ ] like what you

6:26

like understanding the free part of it,

6:27

right? Understanding the basics,

6:29

understanding what you need to actually

6:30

know to use those tokens.

6:32

Cuz once you if you just hop straight

6:34

into like using tokens and stuff

6:36

sure you learn how to build things but

6:38

you don't understand how it works. And

6:40

understanding how it works is the most

6:42

important part about building anything,

6:43

you know?

6:44

Like

6:46

you spend more time on the last 1% than

6:49

the 99%. Everybody's going to tell you

6:51

that in coding, right?

6:53

And um

6:54

the last 5%

6:56

is the hardest part and that's when

6:58

people quit. And but that's what makes a

7:01

product deployable or not deployable.

7:04

You know what I'm saying? So

7:06

uh sure you could scaffold the whole

7:07

project, but actually understanding the

7:09

code and finding where the bugs are and

7:11

finding the right questions to ask is

7:13

where I will come in and help you in

7:14

that direction.

7:16

Anyways, my name is Phil.

7:18

I wrote my first line of code after the

7:20

age of 30.

7:22

If you have any comment about how you

7:24

code nowadays, please let me know in the

7:26

comments. I'll respond to every one of

7:27

them. Like, comment, share, really helps

7:29

the algorithm. Subscribe if you haven't

7:31

already.

7:32

And just remember, if I can do it, you

7:33

can do it, too. Coding saves lives.

7:37

I've been pretty impressed with the

7:38

people

7:39

building some things in the walk lab

7:41

just to see what they come up with at

7:42

that like just

7:45

creating something only after watching

7:47

your videos.

7:49

>> [laughter]

7:51

>> Hopefully it's not just a bunch of AIs

7:53

lobbed, though.

7:56

I saw this as a green arrow.

7:58

So, I thought we could just turn and

8:00

then make the U-turn like this.

8:02

For the bus?

8:04

Right when I got in here it turned red,

8:05

bro. If you got an email from such and

8:09

such AI

8:10

says hey we want

8:13

to sponsor your videos. Who do you Who

8:15

would you

8:16

want it to be?

8:17

From what you've seen out there?

8:19

Nobody. Nobody? Yeah.

8:21

I mean I don't know. Like we we get a

8:23

bunch, you know what I mean?

8:25

But

8:26

we don't need sponsors. This is DIY

8:28

[ __ ] dude.

8:29

We're the punk rock of

8:31

[ __ ] coding, man.

8:33

This is DI- DIY as hell, man.

8:36

>> [laughter]

8:37

>> Do you know when you buy like a new

8:38

MacBook or use a new service and and

8:40

then

8:40

you like agree like hey or like it's

8:43

like optional

8:44

would you like to share analytics with

8:46

this Oh, yeah, yeah, yeah. Exactly what

8:48

you're saying. And everybody does it for

8:49

free, right?

8:50

I don't click I don't click I don't

8:52

click that check mark, right? Because

8:54

I'm like it's my data, you

8:55

>> [laughter]

8:57

>> But like people like that's free sausage

8:59

you're giving to that company.

9:01

You know what I'm saying?

9:03

Like that's just your it's optional, but

9:06

you're like hey no I'm you can you can

9:07

use this data. And then if you read that

9:09

term it's probably like

9:10

bro we get to hack your computer and

9:12

take all your [ __ ] you know?

9:14

>> [laughter]

9:15

>> But um

9:17

what if like we

9:18

had a service where instead of agreeing

9:21

to share the data for free

9:24

you

9:25

can click and then you can uh share the

9:27

data with us

9:28

and then we process that data

9:31

of the analytics of like when the

9:32

MacBook crashes or blah blah blah blah

9:35

and um

9:36

and then you you compile like this big

9:39

list of data and then you're like and

9:40

then you go to a company and you're like

9:42

yeah, these [ __ ] didn't agree

9:44

to give the data to you, but they agreed

9:45

to give it to us.

9:46

And we'll sell it [laughter] to you.

9:49

And then and then you give the money

9:51

back to the people, but you keep you

9:52

keep some of it, right?

9:54

So uh But

9:56

I mean this would be a crazy idea, but I

9:58

think this would solve a lot of the uh

10:01

issues of like people just

10:04

being blind giving free data to these

10:06

big

10:07

tech companies.

10:09

I don't It reminds me It reminds me of

10:11

like uh

10:12

conglom- not conglomerate, but

10:15

think about with the

10:17

like the mod community for a game. Yeah.

10:19

>> Like

10:20

the latest

10:23

uh Oblivion game comes out or whatever

10:25

it is. Yeah.

10:27

And it's full of bugs.

10:29

And people start fixing it. And then

10:31

once

10:33

they just got the company just got to

10:34

log on and be like, "Oh,

10:36

this guy who's really passionate about

10:37

our company Yeah. fixed this bug for us.

10:41

And now we get to take it and say it's

10:42

ours.

10:43

Or make that that fix. Yeah. So

10:48

I think this could be a

10:49

I It would It would take a lot of

10:51

planning and thinking on how to do it

10:53

and see the legality of it.

10:56

But it could actually be like

10:58

a unicorn company, I think.

11:01

I thought about this idea like so long

11:02

ago.

11:03

I was saying like there's another idea

11:05

that I had like um

11:08

especially in Korea, like do you know

11:10

like every single store has their own

11:11

point system?

11:13

Mhm. What if you put that in like some

11:15

kind of blockchain where all the marts

11:16

are like

11:18

together?

11:19

And you can use points at every single

11:21

mart within your blockchain or whatever.

11:23

Oh, I see. So like

11:25

you know, like uh

11:27

you know, like cuz there's so many

11:28

independent markets in Korea.

11:31

And you know, like if you move, you

11:33

don't get to use those points. You know

11:34

what I mean? Hey, Robert.

11:36

Yeah, how are you? I know that

11:38

>> different.

11:39

>> I know that WordPress comes in like uh

11:41

you know, like the source code and

11:43

WordPress comes with a lot of

11:44

extensions. And I know a lot of the good

11:46

WordPress developers, they just remove

11:48

all the all the extensions they don't

11:50

need and then they speed it up, right?

11:51

Um

11:52

building out like the web page and

11:54

everything. But of course, I still want

11:55

to Yeah. Where Where

11:57

>> coding and everything. Where are you

11:58

deploying your playing around with your

12:00

WordPress right now? Uh it's all

12:02

Hostinger. So that's the uh

12:05

>> Hostinger? Okay. Yeah. I've definitely

12:07

They're like a Lithuanian company or

12:09

something. They've definitely emailed us

12:11

like plenty of times to like

12:14

collab. Maybe we should. But uh Uh maybe

12:17

should. Yeah.

12:19

Um

12:20

I always use uh That's funny.

12:22

For WordPress

12:23

I always use um AWS and uh Lightsail.

12:28

Cuz they have like a distribution. It's

12:29

super easy. You just It's just a couple

12:31

clicks and you get a WordPress set up.

12:32

And then um

12:34

uh it's really easy to navigate in the

12:36

uh Lightsail uh

12:38

shell. So

12:40

um

12:41

>> Okay. What would you like to do today?

12:42

We can work on the stock project or we

12:44

can work on um optimizing the WordPress

12:46

stuff cuz I think that'll take like 5

12:48

seconds as well. Like it's just a simple

12:51

Google search and then you just remove

12:52

some um

12:54

uh plugins. And then maybe we can check

12:56

this load time and things like that.

12:59

Mhm.

13:00

Maybe let's save that for a different

13:02

time. Okay. Uh and then we can work on

13:04

the stocks. I I really haven't touched

13:06

the stock stuff in a in a minute to be

13:08

honest with you. No problem. Uh so

13:11

but Uh I always like doing that. Okay,

13:14

let's get back into the flow of it, you

13:16

know. Um can you send me your Trello

13:18

board by chance? I think I can find it

13:20

here, actually. Hold on.

13:22

Let me find it.

13:25

Yeah, absolutely. I think I have it here

13:27

as well if you don't have it.

13:29

I think I just got it.

13:31

I have to sign in. Give me just a

13:33

moment. M vars equals M config on

13:37

process M.

13:39

Okay.

13:40

And then

13:41

on the Mongoose file because you already

13:43

made the config file, maybe you should

13:45

just import the config file.

13:47

And not use process.m. You know what I

13:49

mean?

13:52

So Um you know, like instead of using

13:55

process.m MongoDB URI, you created that

13:58

M config file [clears throat] for a

13:59

reason.

14:00

So I see. Yeah, so just import the M

14:03

config file from there.

14:08

Import M from or whatever you call it.

14:12

Uh let me see your uh let me see the

14:14

file again, please.

14:17

Uh

14:19

Okay, but let me see the file.

14:22

Uh

14:23

validate M.

14:26

Return

14:28

catch

14:30

Okay.

14:32

Let me

14:34

I guess you can just export the validate

14:36

M here.

14:40

It's a function. Mhm.

14:43

Where do we use this? Yeah. Wait, where

14:46

did we use

14:46

>> I think

14:48

this one was from the There was a Medium

14:51

article.

14:52

>> Ah, I see. Um And this was utilizing

14:56

Zod. Okay. Okay.

14:58

>> And so I think I Yeah, I think this is

15:00

some sort of like Can you Can you send

15:02

send send me a live share real quick?

15:05

Yeah, absolutely.

15:07

>> So on the bottom left corner, there's a

15:08

live share button where you can um

15:10

uh bottom left corner.

15:13

Oh, there it is.

15:15

Thank you.

15:16

I'm just going to set up the config of

15:17

how I usually do it and it's probably

15:19

going to make more sense cuz you don't

15:20

really need to Zod error your config

15:22

file, I think. My opinion.

15:25

Like

15:26

That's what I was thinking. Yeah. Yeah.

15:29

It seems uh

15:30

It seems over over engineered.

15:32

>> Unnecessary. Yeah. Cuz

15:34

>> Yeah. You're the one controlling your

15:36

config file, right? Like you don't

15:37

really need And everything that comes in

15:39

the config is like a string anyways. Cuz

15:41

I know you have the [ __ ] We'll call it

15:44

[ __ ] URI.

15:47

It's going to be a string. Um

15:49

node M string and the port will be a

15:51

number.

15:53

Okay.

15:54

And then we'll just Mhm. Uh

15:57

const config

15:59

It's going to

16:00

be an I config.

16:04

And then um

16:06

sure and sure.

16:09

Cool.

16:19

It's going to be a number.

16:22

Uh

16:25

Saying this template data has no effect

16:27

in

16:29

Mongoose V6 and later. Okay, I thought

16:32

use unified topology was like necessary,

16:35

but I guess it's not anymore.

16:39

Interesting. Um

16:45

I guess

16:47

I'm old.

16:50

All right, let's just try this then. And

16:52

then we'll do a

16:53

.catch

16:55

um

16:57

Let me just do a console.error

16:59

and then .finally.

17:06

We'll just do a

17:10

All right.

17:13

It should look nice.

17:16

Um

17:20

Are you using async await in all your

17:22

code, right?

17:24

For the most part, I believe I am. Okay.

17:28

Um

17:30

But

17:32

do you Is there like uh I just like

17:35

>> No, I just like to

17:37

>> consistency.

17:38

So I like to put a line break between my

17:41

third-party libraries and my own

17:42

libraries. And then now we need to

17:44

create some functions, right?

17:47

Um

17:47

>> Mhm. Do you [clears throat] want to make

17:48

it a class or uh um

17:52

or do you just want to make functions?

17:54

It's up to you.

17:57

Uh for this one

18:01

we can we can make functions.

18:02

[clears throat]

18:02

Okay.

18:03

>> That's totally That's totally valid.

18:05

So the first thing you're going to need

18:07

to do is like create access token, I

18:09

think.

18:11

So

18:11

>> I I should ask though, is there like uh

18:15

besides the reason you you mentioned

18:17

earlier on like learning poly and stuff

18:19

like that. Is there like a reason to go

18:22

with classes in that route?

18:24

I think It's like the biggest thing

18:26

about OOP and all that [ __ ] all that

18:27

stuff is just like organization,

18:30

I think.

18:31

Cuz it just like it groups your code

18:33

together. You know what I mean? Like

18:34

like then like later on when you're like

18:36

organizing your code, oh, that's like a

18:38

JSON JSON web token type of thing. Let's

18:40

add that to that class.

18:42

Or like you go back to your config. Oh,

18:45

that sounds like a configuration kind of

18:46

thing. Like that So you don't have like

18:48

these hanging functions all the time,

18:50

whatever. But

18:52

doesn't really matter in JavaScript that

18:53

much, but I mean It's It's just for

18:56

organization, to be honest.

18:58

Got it.

18:59

Okay.

19:00

Um We can do functions. Okay. So the

19:03

first thing the function that you're

19:04

going to need to do is like create

19:06

access token.

19:07

And I think your spaces are at four and

19:10

mine are at two.

19:12

Uh we do need an ESLint or later for

19:15

like to keep our code in sync.

19:17

I think they're using the module later

19:19

on, but we'll we'll It's not a big deal

19:21

right now cuz we're only two people.

19:23

But um Mhm. All right. [clears throat]

19:25

Anyways, you have to pass a payload as

19:26

the first argument.

19:30

The first parameter.

19:32

And that's always going to be an object.

19:36

So colon object uh lowercase object.

19:40

I think lowercase. Okay.

19:41

And then that's the only parameter that

19:43

you need to send.

19:45

And then And then what you're going to

19:47

do is you're going to get your secret

19:48

from config from the config. So let's

19:51

just say like config secret equals

19:53

config.token secret.

19:57

Uh I would say like const secret equals

20:00

config.

20:01

secret.

20:03

Um

20:05

token secret?

20:08

Yeah.

20:09

Uh can we just call this secret cuz it's

20:11

not like a config secret? It's like the

20:13

secret.

20:14

It'll be okay?

20:14

>> Yeah, absolutely. All right. All right.

20:17

Um

20:17

and then what you need to do is uh

20:19

you're going to need to sign the JWT

20:21

with the payload. So you could just like

20:23

return

20:26

uh

20:29

JWT

20:30

sign

20:31

Yeah, like

20:33

uh

20:35

um

20:37

JWT sign and then it takes the payload

20:40

as the first uh so if you hover over

20:42

uh it expects two to three two to four

20:44

arguments, right? All right, cool man.

20:46

Robert, thanks for your time and all

20:48

that.

20:48

>> Yeah. I'll see you very soon. All right.

20:50

Just uh you know,

20:52

book with me more cuz I think I told you

20:53

like oh, just uh talk to me in DMs and

20:56

let's uh let's book calls like there,

20:58

but I think doing it through the

20:59

Calendly is a lot better because

21:00

actually I'm getting really busy

21:02

recently. So actually getting

21:04

>> Oh, yeah, yeah, absolutely. Um I'll book

21:06

through the Calendly then. Okay, like

21:08

anytime if you see an opening, it's

21:09

always a pleasure for me to meet up with

21:11

you. All right. All right. All right,

21:13

I'll see you in the next one. All right,

21:14

later

21:15

on Robert. Bye.

21:17

See you. Take care.

Interactive Summary

The video features a conversation between the host, Phil, and Robert. They touch on various personal and professional topics, including the challenges of parenting and technology, the evolving nature of coding in the AI era, and the importance of financial preparation. The latter part of the video focuses on a technical pair-programming session where they discuss code organization, best practices for configuration management, and the use of JWT for authentication.

Suggested questions

3 ready-made prompts