8 things I learned from a dozen technical interviews

Engineering with Utsav
20 May 202117:45

Summary

TLDRIn this video, software engineer Utsav shares valuable insights from his tech company interview experiences. He emphasizes the importance of preparation, the necessity of conducting numerous interviews, the critical role of mastering data structures and algorithms, the challenge of advanced topics, and the significance of mock interviews. He also discusses the intricacies of system design interviews and the importance of understanding one's worth in salary negotiations.

Takeaways

  • 📚 Preparation is critical for tech interviews and requires deliberate practice and a consistent schedule.
  • 🔍 Interviewing frequently and organizing interviews deliberately helps to improve performance and manage expectations.
  • 💼 Prioritize mastering data structures and algorithms as they are fundamental to succeeding in technical interviews.
  • 🔑 Advanced data structures and algorithms are rarely required in interviews, but a solid understanding of basic ones is essential.
  • 👥 Engaging in numerous mock interviews can significantly improve interview skills and provide valuable feedback.
  • 🛠 System design interviews are challenging and require in-depth preparation beyond just having experience.
  • 🎯 Quality system design resources are difficult to find, and self-study is crucial for mastering the subject.
  • 🤔 Feeling good about an interview doesn't guarantee success; focus on technical details and practice.
  • 💰 Prioritize understanding your worth and practicing negotiation skills before entering the job market.
  • 🏢 Consider company culture, team dynamics, and project alignment as important factors beyond compensation.
  • 🔄 Be prepared to switch focus from negotiation to evaluating the overall job opportunity once a fair compensation is established.

Q & A

  • What was the primary purpose of the video?

    -The primary purpose of the video was to share insights and lessons learned from the experience of interviewing at various tech companies.

  • Why did the speaker take a year off from full-time work?

    -The speaker took a year off to focus on side projects and personal hobbies.

  • What was the speaker's initial experience with the first interview after taking a break from full-time work?

    -The speaker found the first interview to be more challenging than expected, realizing the underestimation of the pressure and the need for better preparation.

  • What is the importance of preparation in the interview process according to the speaker?

    -Preparation is critical as it involves deliberate practice, a structured schedule, and consistency to be ready for the interview as a candidate.

  • Why is it suggested to have a lot of interviews lined up?

    -Having multiple interviews lined up helps with accountability, learning from each experience, and not having time to dwell on the outcome of each interview.

  • What strategy is recommended for organizing interviews?

    -It's recommended to start with the least exciting interviews and save the most coveted companies for last to leverage the improvement gained through practice.

  • Why is it crucial not to attempt interviews without a strong foundation in data structures and algorithms?

    -Without a strong foundation, candidates are setting themselves up for failure as these fundamentals are critical to solving interview problems effectively.

  • What was the speaker's experience with advanced data structures and algorithms during the interviews?

    -The speaker did not encounter advanced data structures and algorithms questions that were beyond their knowledge, indicating that a solid understanding of the basics is usually sufficient.

  • Why are mock interviews considered valuable in the interview preparation process?

    -Mock interviews provide realistic practice, help to overcome nerves, and offer feedback from seasoned interviewers, which is essential for improvement.

  • What is the speaker's advice regarding system design interviews?

    -The speaker advises that system design interviews require quality preparation, as they can be the deciding factor for hiring, level of hire, and compensation.

  • How should candidates approach compensation negotiation?

    -Candidates should know their worth, negotiate for it, and then shift focus to evaluating the company, team, projects, and culture for long-term job satisfaction.

Outlines

00:00

📚 The Importance of Preparation in Tech Interviews

In this paragraph, the speaker, Utsav, a software engineer, reflects on his experience interviewing with tech companies after taking a year off. He emphasizes the critical nature of preparation, recounting his initial underestimation of the interview process. Despite being an experienced professional and interviewer himself, he found the actual interview experience to be more challenging than expected. The pressure of being a candidate, managing expectations, problem-solving, and showcasing behavioral traits all contributed to the complexity of the interview process. Utsav concludes that deliberate practice, a structured schedule, and consistency are essential for interview readiness.

05:00

🔍 Organizing and Learning from Multiple Interviews

The speaker discusses the importance of conducting numerous interviews and organizing them strategically. After an initial failed interview, he resolved to schedule interviews in advance, which helped him stay accountable and learn from each experience without dwelling on the outcome. He suggests starting with less desirable companies and saving the most coveted ones for last, as interview skills improve over time. The paragraph also touches on the prevalence of multiple questions in a single interview, a trend he observed, especially at larger companies like Facebook.

10:02

💡 Fundamentals Over Advanced Concepts in Technical Interviews

Utsav stresses the importance of mastering data structures and algorithms as the foundation for succeeding in technical interviews. He warns against the misconception of needing advanced knowledge, as his interviews did not involve advanced topics beyond his expertise. He recounts specific questions that tested his understanding of fundamental concepts, such as priority queues and monotonically increasing structures. The key takeaway is that a strong grasp of the basics is more valuable than superficial knowledge of advanced topics.

15:03

🎯 The Value of Mock Interviews and System Design Insights

The speaker highlights mock interviews as an invaluable resource for interview preparation, recommending numerous mock interviews to simulate the real experience effectively. He also discusses the challenge of system design interviews, noting the difficulty in finding quality resources, especially for senior engineers. Despite his experience, Utsav found that he needed to prepare specifically for system design to succeed, as the expectation is to provide detailed and deep solutions within a limited time frame.

🤔 The Illusion of Success in System Design Interviews

Utsav shares his observations on the deceptive nature of system design interviews, where candidates often feel they performed well despite not necessarily meeting the interviewer's expectations. He points out that the conversational format can be misleading, as it may not reflect the technical depth required. The paragraph underscores the importance of practice, focus, and attention to detail in system design interviews, as they significantly impact hiring decisions, including position level and compensation.

💼 Prioritizing Beyond Compensation in Job Selection

In the final paragraph, the speaker advises job candidates to focus not solely on compensation but also on the company culture, team dynamics, and project alignment when making a job decision. He warns against the trap of letting compensation become the primary focus and suggests that candidates understand their worth before interviews. Utsav recommends practicing negotiation skills and leveraging interview performance and competing offers to establish one's value. Ultimately, he encourages shifting the focus to non-monetary factors for long-term job satisfaction.

Mindmap

Keywords

💡Preparation

Preparation is a critical aspect emphasized in the video script, highlighting the importance of being ready for technical interviews. The speaker mentions that even with experience, underestimating the need for preparation can lead to failure. This keyword is central to the theme of the video, as it sets the stage for discussing the importance of deliberate practice and structured schedules in interview preparation.

💡Interview

The term 'interview' is a recurring theme throughout the script, referring to the process of being assessed for a job, particularly in the software engineering field. The speaker shares his experiences and insights from multiple interviews, emphasizing the need for practice and organization in scheduling interviews to improve performance and increase chances of success.

💡Data Structures and Algorithms

Data structures and algorithms are fundamental concepts in computer science that are crucial for technical interviews. The speaker advises that mastering these basics is essential for success in interviews, as they form the backbone of problem-solving in software engineering. The script illustrates this by discussing the speaker's initial underestimation of the importance of these fundamentals.

💡Mock Interviews

Mock interviews are simulated interview sessions designed to help candidates practice and improve their interview skills. The speaker highly recommends mock interviews as a resource for interview preparation, suggesting that multiple mock interviews can significantly increase a candidate's chances of success by providing valuable feedback and experience.

💡System Design

System design is a key component of the interview process, especially for senior software engineers. The speaker discusses the challenges of system design interviews, noting that they require a deep understanding and the ability to discuss complex topics within a limited time frame. The script emphasizes the importance of preparation and the need for quality resources to master system design.

💡Behavioral Aspects

Behavioral aspects refer to the non-technical skills and personal characteristics that are assessed during interviews. The speaker mentions that companies often quiz candidates on these aspects, which can impact the overall interview outcome. This concept is important as it broadens the scope of interview preparation beyond technical knowledge.

💡Deliberate Practice

Deliberate practice is a focused and structured approach to learning that involves setting specific goals and receiving feedback. The speaker uses this term to describe the necessary mindset for interview preparation, suggesting that casual or unstructured practice is insufficient for achieving interview success.

💡Negotiation

Negotiation in the context of the video refers to the process of discussing and agreeing on job offers, particularly compensation. The speaker advises on the importance of knowing one's worth and being prepared to negotiate, emphasizing that this skill can influence not only the job offer but also the level of compensation received.

💡Compensation

Compensation is the financial reward or salary offered for a job. The script discusses the importance of understanding one's value and negotiating a fair compensation package. It also warns against focusing solely on money, suggesting that other factors such as company culture and team dynamics are equally important.

💡Educative

Educative is mentioned as a resource for learning and improving skills, particularly in the context of technical interviews. The speaker recommends their courses, such as 'Grocking the System Design Interview,' as a valuable tool for interview preparation. This keyword is relevant as it provides a specific example of a resource that can aid in mastering interview topics.

Highlights

Preparation is critical for interview success.

Underestimating interview pressure can lead to failure.

Interviewers look for specific signals, unlike candidates.

Deliberate practice and a structured schedule are necessary for interview readiness.

Organize interviews deliberately to manage preparation and expectations.

Schedule least exciting interviews first, save coveted companies for last.

Fundamental knowledge of data structures and algorithms is essential.

Advanced data structures are rarely asked in interviews.

Understanding basic principles can help solve unfamiliar problems.

Expect to answer multiple questions in a single interview.

Mock interviews are invaluable for interview preparation.

Quality system design resources are hard to find.

System design interviews require deep dives into solutions.

Educative offers highly rated courses for technical interview preparation.

Feeling good about a system design interview can be misleading.

System design interviews determine hiring level and compensation.

Negotiate compensation based on self-assessment and interview performance.

Focus on company culture, team, and projects after securing fair compensation.

Transcripts

play00:00

this year i interviewed at a bunch of

play00:01

tech companies and in this video i

play00:03

wanted to share with you guys things

play00:04

that i learned from my experience

play00:06

[Music]

play00:14

hey guys my name is utsav and i'm a

play00:16

software engineer based in seattle

play00:17

washington

play00:18

and this channel is all about helping

play00:20

you excel in your software engineering

play00:21

careers

play00:22

so if you're into that please consider

play00:24

subscribing to this channel as usual

play00:26

anything i reference or talk about in

play00:27

this video will be linked in the

play00:29

description below

play00:30

so please feel to check those out and

play00:32

this video will also have

play00:34

time stamps so you can jump around or

play00:35

skip to the sections that

play00:37

interests you the most without further

play00:39

ado let's get started

play00:40

so a little bit of a background for why

play00:42

this video exists

play00:44

for those that you don't know is around

play00:46

june last year i decided to take a year

play00:48

off from working full-time to focus on

play00:51

my side projects and personal hobbies

play00:53

and things like that

play00:54

so about summer this year is when i

play00:56

wanted to start working full time again

play00:58

so with that in mind around february

play01:00

2021

play01:00

is when i started interviewing with a

play01:02

lot of companies and

play01:04

this video is about that experience so

play01:07

the first thing i learned

play01:08

about the whole process is that

play01:10

preparation

play01:11

is critical and i know this sounds like

play01:13

common sense

play01:14

and a no-brainer but here's what

play01:17

happened to me

play01:18

even before early 2021 right after i

play01:21

started my break maybe

play01:22

around last summer or fall i got an

play01:25

opportunity

play01:26

to interview with the company that i

play01:27

kind of was excited to work for

play01:29

so i thought to myself you know what i'm

play01:30

not ready to work right away but what do

play01:32

i lose by interviewing with them right

play01:35

um so i accepted the opportunity to

play01:37

interview and

play01:38

in my mind i thought i was fairly

play01:40

prepared because i've been in the

play01:41

industry for a long time i've worked on

play01:43

good projects and i

play01:45

actively used to interview candidates as

play01:47

well so i was kind of

play01:48

in the know how about what interviews

play01:50

expect what kind of questions to prep

play01:52

for and things like that so i took about

play01:54

one or two weeks to kind of brush up on

play01:56

my data structures and algorithms tried

play01:58

a few questions on lead code and

play02:01

felt fairly confident going in my

play02:03

surprise

play02:05

the real interview was completely

play02:06

different it was way more challenging

play02:09

let's just say that i completely bummed

play02:11

it i think the first thing i

play02:12

underestimated was the pressure that

play02:13

comes to you

play02:15

immediately after you're a candidate

play02:16

instead of an interviewer

play02:18

not only that but as an interviewer your

play02:20

job is to pick up signal so you're

play02:22

looking for very specific things so your

play02:24

job i think is a lot easier than a

play02:26

candidate where

play02:27

in a very limited amount of time you're

play02:29

managing a lot of different things not

play02:30

only do you have to manage your

play02:32

interviewers expectations

play02:33

and understand what they're looking from

play02:36

you but you have to

play02:37

actually make sure that you're making

play02:39

progress to have the problem and then

play02:40

you have to manage your code editor

play02:42

you have to give examples test cases

play02:44

optimal solutions

play02:46

and doing all this most companies are

play02:48

also kind of quizzing you on some

play02:50

behavioral aspects

play02:51

of your personality so i think my

play02:53

conclusion from this that i'm trying to

play02:55

explain to you

play02:56

is it really requires deliberate

play03:00

practice and a structured schedule and a

play03:03

consistent schedule

play03:05

for you to be ready to actually

play03:08

interview as a candidate the second

play03:09

thing i learned

play03:10

was that you have to interview a lot

play03:13

and you have to organize your interviews

play03:15

very deliberately

play03:17

what i mean by this is so the first

play03:19

interview when i bombed it

play03:21

even though part of me wanted to go back

play03:24

to interviewing again because i wanted

play03:26

to prove to myself that i can do better

play03:28

there was a lot of resistance in my mind

play03:31

thinking that oh my god i have to do

play03:32

this whole

play03:33

prep again so i i just stopped i didn't

play03:35

practice i was like you know what i

play03:37

decided to take a break i'm just going

play03:38

to take a break so

play03:39

early this year though when i started i

play03:41

wanted to fix that by making sure that

play03:43

i had actually scheduled all my

play03:45

interviews so every recruiter that had

play03:47

reached out to me earlier that year i

play03:49

just told him hey let's

play03:50

circle back again early next year and

play03:52

then schedule something that was my

play03:54

standard response and that's why

play03:56

early january either they contacted me

play03:58

again or i reached out to them i was

play04:00

like hey let's schedule this on this

play04:01

date this

play04:02

this that so so even before i started my

play04:04

prep i had a bunch of interviews already

play04:06

lined up so that not only helped me

play04:08

accountable to start prepping

play04:10

properly but also whenever i finished

play04:13

one interview regardless of whether it

play04:15

went

play04:15

good or bad there wasn't really time to

play04:17

mourn about it or feel sad

play04:18

or think about what to do next i just

play04:20

have to learn from the experience

play04:23

make some changes if i have to and

play04:24

immediately go on to the next because

play04:26

they came in thick and fast right one

play04:28

more thing about this is when you want

play04:30

to structure your interviews you do want

play04:32

to keep

play04:33

the least exciting interviews up front

play04:36

and your most

play04:38

coveted companies towards the end

play04:40

obviously because as you interview more

play04:42

you get better and you get more practice

play04:43

so you want to keep the best ones

play04:45

towards the end so think of it as a list

play04:48

of companies that you can interview with

play04:50

and sorting them by your favorite

play04:54

by the length of the interview process

play04:56

and

play04:57

the similarity between their interview

play04:59

styles

play05:00

so third thing kind of builds up on the

play05:01

first two points is

play05:03

don't even bother trying to interview

play05:06

or trying to solve interview problems if

play05:08

you're rusty on your data structures and

play05:10

algorithms

play05:11

honestly without the fundamental

play05:14

knowledge of data structures and

play05:15

algorithms you're just setting yourself

play05:17

for failure and you may end up solving a

play05:20

few or you may get lucky with others or

play05:22

you may end up

play05:23

memorizing which is even worse some

play05:25

solutions and feel good about yourself

play05:27

but i will promise you that the only way

play05:30

to succeed in technical interviews

play05:32

is to nail your fundamentals of

play05:36

data structures and algorithms the

play05:37

fourth thing that i learned or

play05:39

experienced

play05:40

was that advanced data structures and

play05:43

algorithms even for a senior software

play05:44

engineer

play05:46

wasn't there at all nobody asked me

play05:48

anything advanced that i didn't know

play05:50

about or that i felt that oh i should

play05:52

have

play05:53

looked at this the only odd ones that i

play05:56

can remember

play05:57

was there was one question where i was

play06:00

asked a variation of

play06:01

breakfast search it was almost like

play06:03

dijkstra's but

play06:05

not really the exact algorithm where the

play06:08

question

play06:08

i was asked how to use a variation of

play06:11

the priority queue i don't think that

play06:12

was out of the ordinary and the other

play06:14

one that i got stumped because i don't

play06:15

come from a python

play06:17

background is there was a question that

play06:20

needed

play06:20

a monotonically increasing double-ended

play06:23

queue

play06:24

uh to be solved and i ended up solving

play06:26

it but i

play06:27

really had never used a data structure

play06:29

that was like that so i just had to come

play06:31

up with it or

play06:32

sort of implement it myself if you

play06:34

understand how linked lists work and if

play06:35

you understand the principles behind the

play06:37

queue

play06:37

and if you know what a monotonically

play06:39

increasing array or a data structure is

play06:41

you should be able to come up with it so

play06:43

i don't think it's an advanced data

play06:44

structure again so

play06:45

outside of that there was really no

play06:47

advanced data structure

play06:48

while i didn't get any advanced data

play06:50

structures um

play06:52

i did find that two questions

play06:56

in one interview seems like a norm these

play06:58

days and some even i had three questions

play07:00

in one interview especially at company

play07:02

like facebook

play07:03

so be prepared to go in to answer more

play07:07

than one questions at least that was

play07:08

very common for my interview experience

play07:10

the single biggest resource

play07:14

i think that you can find or

play07:18

you can do for yourself during prepping

play07:20

for interviews

play07:21

that has the biggest roi is mock

play07:24

interviews

play07:25

do not ignore mock interviews and i'm

play07:27

not talking about

play07:29

one mock interview or two mock

play07:30

interviews i'm talking about like 10

play07:32

15 20 if you can do it right if you want

play07:35

to interview for

play07:36

10 companies or 20 companies do 20 mock

play07:39

interviews if you can

play07:40

find engineers from those companies and

play07:42

ask them if they can

play07:44

mock interview some will do it for free

play07:46

some you can find from your network

play07:48

mentors friends and if you really have

play07:50

to pay for it pay it it will be worth it

play07:53

but that being said i also see a lot of

play07:55

candidates just go to things like pram

play07:58

or interviewing dot io or things like

play08:01

that that will just match you up with

play08:02

someone else that will interview you and

play08:04

you interview them

play08:05

that's cool it will get rid of your

play08:06

interview nerves and give you some

play08:08

experience in

play08:09

a time pressure scenarios but make sure

play08:12

that if you're really spending money and

play08:14

time

play08:14

into mock interviews that the

play08:16

interviewer is actually

play08:18

a seasoned interviewer who can give you

play08:20

proper feedback because they're

play08:22

trained to look for the right signals

play08:24

they're trained to evaluate candidates

play08:26

and they will be

play08:27

able to give you the right kind of

play08:30

feedback that will help you all right

play08:31

let's move to system design

play08:33

because i know you guys are probably

play08:34

thinking why i'm not talking about

play08:35

system design

play08:36

one thing i learned about system design

play08:38

is that

play08:40

quality system design resources are

play08:43

really hard to find like even for

play08:46

experienced

play08:47

engineers like me who have worked on

play08:48

distributed systems for many years

play08:51

system design is still a hard topic

play08:52

because you have such a limited time

play08:54

and you're expected to solve a random

play08:57

design problem

play08:58

even though i have a lot of experience i

play09:00

can draw from and i can kind of roughly

play09:02

put together something

play09:03

i can't really come up with like a

play09:04

really good solution about

play09:06

something that i've never worked with

play09:07

right and the idea generally with a

play09:09

system design interview is supposed to

play09:11

be that you come up with a reasonable

play09:12

solution i have a good discussion that's

play09:14

how it's placed but in my experience

play09:15

that's not how it is it starts off like

play09:17

that but they

play09:18

really expect you to deep dive into

play09:20

something especially as a senior

play09:22

so if i get design google docs and i've

play09:24

never prepped for it i just went on

play09:26

based on my experience that hey i've

play09:27

worked in distributed system i

play09:28

understand how

play09:29

things work you know i go in and i may

play09:32

be able to give a reasonable solution

play09:33

out this may work but there's no way i'm

play09:35

going to deep dive into

play09:37

the basics of how like operational

play09:39

transform i think they have a new

play09:40

algorithm now that works um

play09:42

klepman talks about it um there's no way

play09:45

i can come

play09:46

up with that on the fly right like

play09:48

people have done 20 years of research

play09:50

and phds on that topic how do you expect

play09:52

me to

play09:53

come up with that solution without

play09:56

deliberately prepping for it right

play09:58

so i do think that you do need to prep

play10:01

if you want to succeed in system design

play10:04

but the problem is that all of the

play10:06

resources

play10:07

especially youtube channels that i find

play10:10

are not in depth enough

play10:12

to help you with that and most of them

play10:14

seems like if they say design google

play10:16

docs they'll just go to engineering

play10:17

blogs from google

play10:18

that they talk about here's how we

play10:20

design google docs and they'll basically

play10:22

read that

play10:22

and make a video on youtube which is

play10:24

cool but it will never have enough

play10:26

detail

play10:27

especially for a senior software

play10:28

engineer to kind of gain enough

play10:30

knowledge to deep dive on it

play10:32

so that that was at least my experience

play10:34

for beginners that may work for

play10:37

seniors i think you really have to

play10:39

invest on

play10:40

uh dedicating time into getting better

play10:43

at designing systems really

play10:45

work with a lot of cloud services try to

play10:48

buy different books read for months

play10:51

not just when you're interviewing just

play10:52

be curious about how things are built

play10:54

and over time you'll develop the

play10:55

knowledge that's why it's become so

play10:57

tricky

play10:58

and i was lucky that i already had some

play11:00

backgrounds it was easier for me to pick

play11:02

up but i definitely felt that

play11:04

why a lot of people panic or a lot of

play11:06

people find it really difficult to pick

play11:08

up things on system design because it's

play11:09

not like

play11:10

coding where you can practice for three

play11:12

weeks or one month and you get better at

play11:13

it it takes a long time

play11:14

but there are a lot of resources to

play11:17

learn system design

play11:18

and there are videos and youtube

play11:20

channels that are aimed at beginners so

play11:22

if you're a beginner

play11:23

that's pretty good one of the other

play11:25

resources that is really useful for

play11:27

beginners for learning system design

play11:28

is educative who are also the sponsor of

play11:31

this video educative was founded with

play11:32

the mission to make every developer more

play11:34

productive and successful

play11:36

which coincidentally also happens to be

play11:38

the mission of this channel

play11:39

they offer a lot of amazing

play11:41

well-designed and structured courses on

play11:43

software engineering for a wide range of

play11:45

areas like

play11:45

front-end back-end full-stack machine

play11:48

learning and artificial intelligence to

play11:49

name a few but it's not just limited to

play11:51

that

play11:51

you can learn skills there that you will

play11:53

use daily regardless of the area of your

play11:56

work like how to use git version control

play11:58

properly or even

play11:59

all the non-coding aspects of your

play12:01

engineering career but best of all

play12:03

and quite relevant to this video is that

play12:04

they have some of the most

play12:06

highly rated technical interview

play12:07

preparation courses namely grocking the

play12:10

system design interview

play12:11

that was recommended to me by multiple

play12:13

companies during my interview process so

play12:15

if you are interested in leveling up

play12:16

your engineering game or acing your

play12:18

technical interviews

play12:19

visit educative dot io slash engineering

play12:22

with utsav to get 10

play12:23

off your subscription so the next point

play12:25

i want to talk about is

play12:27

also about system design and it's about

play12:30

how you

play12:30

feel about the interview um so with

play12:33

system design

play12:34

i noticed that almost every interview

play12:37

that i gave

play12:38

i kind of felt good about it um as in i

play12:41

thought i did well

play12:42

uh and some went really well some

play12:43

actually didn't but the feeling that i

play12:45

had after the interview

play12:47

was that i always did well right and

play12:49

because it's

play12:50

ambiguous and it's more conversational

play12:53

and

play12:54

it's kind of hand-wavy and you talk

play12:56

about a lot of things and you know maybe

play12:58

you'll deep dive on something maybe you

play13:00

want but

play13:00

in the end you've designed this

play13:02

elaborate diagram about

play13:04

all these data flows and you know like

play13:06

things and machines and cachings and

play13:08

redundancy and replications and

play13:10

different data centers and things like

play13:11

that and you feel good about it because

play13:12

you feel like

play13:13

yeah this system is really good right

play13:15

but that i promise you

play13:17

is a very misleading feeling because

play13:20

half of my system design interview where

play13:22

i

play13:22

thought i did amazingly well and turned

play13:25

out to be that

play13:26

i actually didn't do well and that was

play13:27

one of the reasons i got rejected you

play13:29

know because it's conversational and

play13:31

wavy it feels like a conversation

play13:33

between two

play13:33

engineers and that's why it is kind of

play13:36

talked about as well but

play13:37

it's actually a very technical interview

play13:39

so make sure you're on point you're

play13:40

focused and you're

play13:41

you you practice the timings and the

play13:44

details and technical sides in the

play13:46

system design interview

play13:47

because that is the interview that will

play13:49

decide not only whether you get hired

play13:51

but at which level you get hired and

play13:53

most likely

play13:54

what compensation you get system design

play13:57

is the interview that decides that

play13:58

and in most companies because there are

play14:01

multiple coding interviews and even in

play14:03

each coding interview there are multiple

play14:05

questions you can do

play14:07

not so well in one or two and probably

play14:09

could still get an offer but

play14:11

you do badly in a system design

play14:13

interview it's game over

play14:14

so please prioritize system design

play14:17

especially if you're anyone that has

play14:19

more than a couple of years of

play14:20

experience

play14:21

learn about how to negotiate

play14:23

compensation and practice

play14:25

that negotiation beforehand i know there

play14:28

are a lot of companies that kind of help

play14:29

you do that as well

play14:30

if you think that's fair you can do it

play14:32

but if you're up for it there's a lot of

play14:33

information available online how to

play14:35

negotiate and how to kind of place

play14:37

yourself or sell yourself

play14:39

and you can learn from that and kind of

play14:41

at least practice before you get into

play14:42

the situation of having to do that

play14:44

because

play14:45

if you've structured your practice well

play14:47

and if you've done well you'll end up in

play14:48

a multiple

play14:49

offer situation and you'll have to

play14:51

negotiate um it's a great place to be

play14:52

but it's also a lot of headache and

play14:55

it's really stressful to kind of talk to

play14:57

different

play14:58

recruiters and kind of negotiate

play15:01

compensation especially if

play15:02

you are yourself not sure about which of

play15:04

the three companies you want to join or

play15:06

you want

play15:06

you like all of them equally right and

play15:09

then

play15:10

one thing i wanted to warn you about is

play15:12

it can easily

play15:13

get into a situation where all you are

play15:16

focusing on

play15:17

is the compensation because someone else

play15:20

offered you more than you were

play15:21

anticipating and then your

play15:22

game plan completely changed and now you

play15:24

want the other companies to give you

play15:25

more and

play15:26

it can quickly spiral down into a

play15:28

conversation about purely money and

play15:31

that's not how you want to go about it

play15:33

so what i recommend is before you even

play15:36

start interviewing

play15:37

know what you're worth and be honest

play15:39

with yourself don't just

play15:40

blindly go to uh sites like

play15:43

blind no pun in intended and see people

play15:46

post

play15:47

ex like unreal salaries maybe they're

play15:50

lying maybe they're not been honest

play15:51

um or levels levels.fyi that's a good

play15:54

side but there's a big range and

play15:56

there's many reasons why people get paid

play15:59

more or less

play16:00

and that's a complicated equation not

play16:02

everyone gets the same so be honest

play16:04

and understand what you are worth based

play16:07

on

play16:08

what you've done what you can do or

play16:10

based on your experience based on what

play16:12

companies you've worked

play16:13

and be reasonable about that when you

play16:15

know that the first thing you want to do

play16:17

when you negotiate is to fight for that

play16:19

worth you need to get

play16:20

what you think you're worth and that's

play16:22

when you leverage not only your past

play16:24

work but

play16:25

your interview um results

play16:28

and your competing offers to kind of put

play16:31

confidence into that idea that hey i'm

play16:33

worth this much right

play16:35

but once you get that the topic should

play16:38

change to

play16:39

evaluating the company the team the

play16:41

projects

play16:42

the culture and you should

play16:45

you should change focus to do those

play16:47

things because

play16:48

in the long run once you get what you're

play16:51

worth the things that will truly make

play16:53

you happy working for a company are

play16:54

those other things not just your total

play16:56

compensation so

play16:58

do practice negotiation because you

play16:59

should deserve or get

play17:01

what you think you deserve and if you're

play17:03

honest about where what you're worth

play17:05

and you get that do switch focus to um

play17:08

the culture team

play17:09

projects and things like that so yeah

play17:11

that's it that's all i had

play17:12

these are the things i i found

play17:14

interesting uh looking at them from the

play17:16

perspective of

play17:17

a candidate and not as a interviewer and

play17:20

i hope you found them useful

play17:22

and interesting in some form if you did

play17:24

please

play17:25

hit the like button let me know what you

play17:27

thought about it and do subscribe or

play17:29

share the video

play17:30

and i'll see you next week cheers

Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
Interview TipsTech CompaniesSoftware EngineeringCareer AdviceData StructuresAlgorithmsMock InterviewsSystem DesignCompensation NegotiationSeattle EngineerEducational Content
Benötigen Sie eine Zusammenfassung auf Englisch?