1
00:00:14,240 --> 00:00:18,719
Hello, ladies and gentlemen, Welcome
to another episode of Adventures and DeVos.

2
00:00:18,960 --> 00:00:22,879
Today. I am your acting host, Jonathan Hall, and I have with

3
00:00:23,000 --> 00:00:27,719
me absolutely no one. So I'm
going to do a solo show, or

4
00:00:27,719 --> 00:00:30,440
at least I'm going to try it
will be an adventure. I hope you'll

5
00:00:30,480 --> 00:00:36,359
join me before the show. As
I was staring at my screen trying to

6
00:00:36,399 --> 00:00:41,119
decide what I could talk to you
about without anybody helping me, I decided

7
00:00:41,159 --> 00:00:44,799
I'm going to talk to you about
getting a job. The new year is

8
00:00:44,880 --> 00:00:48,560
upon us. That means a lot
of companies have new budgets, They've opened

9
00:00:48,600 --> 00:00:52,039
new positions. It's a great time
for a lot of people to start looking

10
00:00:52,079 --> 00:00:56,000
for work, or to continue if
you've already started. So I think it's

11
00:00:56,039 --> 00:01:00,200
a timely topic. Before I talk
about some of my suggestions and advice on

12
00:01:00,280 --> 00:01:03,920
how you might go about getting a
job, or more to the point,

13
00:01:03,159 --> 00:01:07,319
how you might interview for a job
and what you might do in that regard,

14
00:01:07,840 --> 00:01:11,040
I want to talk about my background
so you understand where I'm coming from

15
00:01:11,120 --> 00:01:15,879
and my sort of employment history a
little bit. So I have spent most

16
00:01:15,879 --> 00:01:19,480
of my career as a software developer. Back in two thousand and six,

17
00:01:19,680 --> 00:01:25,079
I applied for a job as a
network administrator. Actually, during the job

18
00:01:25,120 --> 00:01:27,079
interview, they gave me a whiteboard
and a marker and they said, Jonathan,

19
00:01:27,159 --> 00:01:30,719
we just bought three news servers and
we want to set up our spam

20
00:01:30,840 --> 00:01:37,680
email filtering service on these three servers
to serve customers in the cloud. Sort

21
00:01:37,680 --> 00:01:40,560
of a sass, how would you
do that? And so I drew some

22
00:01:40,599 --> 00:01:45,439
squiggly lines between these three boxes that
represented servers, and I guess I liked

23
00:01:45,480 --> 00:01:47,560
it because I said, great,
Jonathan, we want to hire you to

24
00:01:47,560 --> 00:01:52,079
come do that for us. So
I joined this company as essentially an operations

25
00:01:52,120 --> 00:01:56,560
network engineer, but within a couple
of months, the lead developer of the

26
00:01:56,599 --> 00:01:57,840
project. And it was a small
team, there were two or three of

27
00:01:57,920 --> 00:02:01,879
us at the time. Lead developer
left the company, so they were looking

28
00:02:01,920 --> 00:02:06,920
to replace him, of course,
and while they were looking, of course,

29
00:02:07,000 --> 00:02:09,199
they still needed some work done.
Customer requests came in or bugs needed

30
00:02:09,240 --> 00:02:13,280
to be fixed. So I was
sort of filling the gap and helping with

31
00:02:13,319 --> 00:02:16,360
some of these requests for a while. So after a while of doing that,

32
00:02:16,439 --> 00:02:20,919
they decided I was doing a reasonable
job and they didn't necessarily need to

33
00:02:20,919 --> 00:02:23,039
replace me. So they said,
Jonathan, would you be willing to be

34
00:02:23,360 --> 00:02:28,680
our news software developer? And I
agreed and we did hire some other help

35
00:02:28,719 --> 00:02:31,240
over time, but for a long
time I was the lead developer on this

36
00:02:31,280 --> 00:02:38,599
project and also the lead networksh only
network engineer on this project. So although

37
00:02:38,599 --> 00:02:42,840
my career has been mostly software development, it has been with a slant towards

38
00:02:43,520 --> 00:02:47,319
back end services, software deployment,
network infrastructure, and all of these sorts

39
00:02:47,360 --> 00:02:51,439
of things, so very much what
we would nowadays called DevOps, although that

40
00:02:51,520 --> 00:02:53,280
term didn't exist at the time.
I worked at that company for close to

41
00:02:53,319 --> 00:02:58,879
ten years, and since then I've
applied it a large number of other companies.

42
00:02:58,919 --> 00:03:01,680
I've interviewed it, probably several dozen. I've probably had at least one

43
00:03:01,759 --> 00:03:07,800
or two dozen job offers in the
last say five years, because I liked

44
00:03:07,840 --> 00:03:09,199
you. When possible, have two
or three offers on the table and then

45
00:03:09,240 --> 00:03:13,159
I can choose the best one.
So that's a little bit about my experience

46
00:03:13,240 --> 00:03:15,599
as a software engineer as it relates
to finding a job. I have also

47
00:03:15,639 --> 00:03:19,120
been on the other side of the
table. I have been an engineering manager.

48
00:03:19,439 --> 00:03:22,479
I have hired, I have interviewed
and hired a large number of developers

49
00:03:22,520 --> 00:03:27,879
for multiple companies, and so I
also have my own style of interviewing candidates,

50
00:03:28,199 --> 00:03:30,039
and that definitely influences the things I'm
going to be telling you today.

51
00:03:30,280 --> 00:03:36,080
So with that background in mind,
let me talk a little bit about what

52
00:03:36,159 --> 00:03:40,039
I like to do to prepare for
a job interview as a candidate. And

53
00:03:40,120 --> 00:03:44,879
actually, before I talk about what
I do to prepare, let me tell

54
00:03:44,919 --> 00:03:49,039
you what I don't do to prepare. I see a lot of talk on

55
00:03:49,120 --> 00:03:54,080
LinkedIn, on social media book titles
about essentially cramming for a job interview.

56
00:03:54,240 --> 00:04:00,759
Cramming is, of course, the
idea of learning facts a memory, facts

57
00:04:00,759 --> 00:04:05,479
about something about say AWS, or
about a programming language, or about network

58
00:04:05,560 --> 00:04:11,039
infrastructure or whatever the topic is.
Learning these facts so that when they ask

59
00:04:11,080 --> 00:04:14,719
you a question, when they say, how do you do X on AWS,

60
00:04:14,840 --> 00:04:16,839
you can give them an answer,
Or when they say how many bytes

61
00:04:17,480 --> 00:04:21,160
or how many bytes in a TCP
header or something like that, you have

62
00:04:21,199 --> 00:04:25,040
an answer. I don't do that, and I don't think you should either.

63
00:04:25,160 --> 00:04:29,439
I don't think cramming for interviews is
a good idea. And let me

64
00:04:29,519 --> 00:04:33,920
explain why. First, I believe
that an interview is about it really is

65
00:04:33,920 --> 00:04:38,360
about or should be about getting to
know each other, the company getting to

66
00:04:38,399 --> 00:04:42,040
know you and you getting to know
the company. And if you are reciting

67
00:04:42,120 --> 00:04:46,839
memorized facts, you're not giving an
accurate representation of yourself. And I don't

68
00:04:46,879 --> 00:04:50,079
want to get hired based on a
false representation of myself because that means that

69
00:04:50,160 --> 00:04:56,040
I will have unrealistic expectations on the
job, and I'm setting my own self

70
00:04:56,120 --> 00:04:59,040
up for failure. So I don't
want that. If I know an answer

71
00:04:59,040 --> 00:05:01,600
by heart, that's a different thing, because it's not a sort of false

72
00:05:01,759 --> 00:05:05,240
sense of who I am. If
somebody asks me how many bites are in

73
00:05:05,279 --> 00:05:09,879
a TCP header and I actually know
the answer because I've done TCP engineering for

74
00:05:09,920 --> 00:05:12,759
so long that I know the answer, then it's fine to give that answer.

75
00:05:12,879 --> 00:05:15,399
And by the way, I don't
know the answer, but cramming that

76
00:05:15,439 --> 00:05:18,879
the idea of memorizing facts quickly for
a short term recall, I think is

77
00:05:19,240 --> 00:05:24,279
a dishonest way. Maybe dishonest isn't
the right answer, but it's not a

78
00:05:24,360 --> 00:05:28,120
genuine way of giving an interview,
and it's setting yourself up for failure.

79
00:05:28,199 --> 00:05:30,240
That's the first reason I don't like
this approach. Second, I think it's

80
00:05:30,279 --> 00:05:33,560
a terrible way to do an interview. It's terrible for the company doing the

81
00:05:33,600 --> 00:05:38,480
interview. So as a candidate,
I don't really want to work for a

82
00:05:38,519 --> 00:05:42,720
company that does that style of interview
because I'm likely to be working for a

83
00:05:42,759 --> 00:05:46,480
company that doesn't understand engineering correctly.
And let me explain what I mean by

84
00:05:46,480 --> 00:05:49,800
that. As a hiring manager or
a development manager, a software development manager,

85
00:05:49,879 --> 00:05:55,240
or an engineering manager, I want
to hire engineers who can solve problems.

86
00:05:55,399 --> 00:05:58,480
I don't want to hire engineers who
have answers memorized. In fact,

87
00:05:58,560 --> 00:06:01,600
the memorized answers are usually the least
valuable. I want an engineer who,

88
00:06:01,639 --> 00:06:04,680
when they're faced with a new problem
they've never seen before, they know how

89
00:06:04,720 --> 00:06:08,399
to find an answer. Now.
I don't care if they find the answer

90
00:06:08,519 --> 00:06:11,920
in their own head, if they
invent something. I don't care if they

91
00:06:12,000 --> 00:06:14,839
go to Google. I don't care
if they ask their grandmother. I don't

92
00:06:14,839 --> 00:06:16,199
care if they go to a meetup
and talk about it over the weekend.

93
00:06:16,279 --> 00:06:18,839
I don't care how they get the
answer. What I care about is that

94
00:06:18,920 --> 00:06:24,839
they can provide an answer to solve
my business needs and canned trivia questions like

95
00:06:25,000 --> 00:06:29,560
how many bites in air tcpheader don't
help solve those problems. So as a

96
00:06:29,600 --> 00:06:32,279
candidate, again, I avoid this
sort of cramming approach because I think it's

97
00:06:32,480 --> 00:06:36,959
not genuine and it's also not useful, and so I don't want to work

98
00:06:36,959 --> 00:06:41,120
for companies that rely on that sort
of interview process. So that's what I

99
00:06:41,160 --> 00:06:44,720
don't do. Let me talk about
some things I do do when I'm preparing

100
00:06:44,759 --> 00:06:46,680
for an interview. I'm still talking
about before I'm at the interview, right,

101
00:06:46,759 --> 00:06:48,959
one of the first things I will
do is I will read up on

102
00:06:49,000 --> 00:06:53,879
the company. I think that's really
important. Now there are times they're rare,

103
00:06:53,959 --> 00:06:57,000
but there are times when this is
not practical. If you're interviewing at

104
00:06:57,040 --> 00:07:00,920
a stealth mode startup and they have
no web site or the website is intentionally

105
00:07:01,000 --> 00:07:03,839
vague. And I've had this experience
once. I once interviewed at a startup

106
00:07:03,839 --> 00:07:08,560
in this stage and I really knew
nothing about what they did from the website.

107
00:07:08,600 --> 00:07:11,079
But that's okay. At least I
looked at the website. So you

108
00:07:11,160 --> 00:07:14,519
want to look at their website and
know enough that you can have a reasonably

109
00:07:14,560 --> 00:07:17,519
intelligent conversation about the company during the
interview. Of course, it's also good

110
00:07:17,519 --> 00:07:20,120
to know if you want to work
in the industry and that type of company.

111
00:07:20,399 --> 00:07:25,199
If you have a particular industry and
mind, or certain types of companies

112
00:07:25,240 --> 00:07:27,759
you don't want to work for,
then this helps you solve that problem.

113
00:07:27,800 --> 00:07:30,680
But while you're investigating the companies,
there's a few things you should definitely look

114
00:07:30,720 --> 00:07:34,720
at. Spend ten fifteen minutes research
in a company and learn what their core

115
00:07:34,759 --> 00:07:39,560
business is if possible. If you
can't for whatever reason because the website doesn't

116
00:07:39,600 --> 00:07:42,480
tell you, then that's fine.
But learn their core business. Are they

117
00:07:42,519 --> 00:07:46,199
selling to businesses? Are they selling
to consumers? Do they sell physical goods

118
00:07:46,279 --> 00:07:49,160
like say Amazon? Do they sell
services? Do they sell software? How

119
00:07:49,160 --> 00:07:53,120
do they make money? Or are
they a nonprofit? Learn the high level

120
00:07:53,519 --> 00:07:56,680
information about what is their business model. You don't need to know all the

121
00:07:56,680 --> 00:07:59,600
details, but generally speaking, what
do they do? It's good to know

122
00:07:59,639 --> 00:08:03,079
if they're publicly traded company or a
privately held company. Are is there a

123
00:08:03,120 --> 00:08:07,199
single owner or are the multiple stakehold
shareholders. You know, things like this

124
00:08:07,240 --> 00:08:09,439
are good to know. They're not
always essential, but that they're good to

125
00:08:09,480 --> 00:08:11,000
know. So just learn a little
bit about the company. How big is

126
00:08:11,040 --> 00:08:15,800
the company? Is it is it
five people, Is it a thousand people?

127
00:08:16,040 --> 00:08:18,439
Is it a worldwide company? And
every country on the planet with thousands

128
00:08:18,480 --> 00:08:22,680
of people? Learn the high level
stuff. And while you're doing this,

129
00:08:22,160 --> 00:08:26,680
have some questions in mind. Take
notes if you want to questions that you

130
00:08:26,720 --> 00:08:30,839
can ask during the interview. Every
good interview will give you an opportunity to

131
00:08:30,839 --> 00:08:33,960
ask questions. It's really a two
way street, right, It's not just

132
00:08:33,080 --> 00:08:37,759
about you introducing yourself with the company. It's not an audition. It's a

133
00:08:37,759 --> 00:08:41,240
two way conversation. You're getting to
learn to know each other. Think of

134
00:08:41,240 --> 00:08:43,679
it more like a date than like
an audition. So you need to be

135
00:08:43,720 --> 00:08:46,519
asking questions of the company too.
And if they don't give you time for

136
00:08:46,559 --> 00:08:48,879
that, ask for time for that. That could be one of the first

137
00:08:48,879 --> 00:08:50,320
things you say the interview, Well, I have time for questions, So

138
00:08:50,480 --> 00:08:54,120
have two or three good questions ready. I can tell you this honestly as

139
00:08:54,159 --> 00:08:58,799
somebody who has done many interviews as
a hiring manager is it always makes a

140
00:08:58,799 --> 00:09:05,159
good impression when the candidate asks me
questions. When I turned the interview around

141
00:09:05,200 --> 00:09:07,960
at the end, you know there's
thirty minutes twenty minutes left, and I

142
00:09:07,000 --> 00:09:11,200
say, what questions do you have
and the candidate looks at me and it's

143
00:09:11,240 --> 00:09:13,919
like, oh no, nothing really. That really leaves a bad impression.

144
00:09:13,000 --> 00:09:16,519
And honestly, I don't care what
they ask as long as they ask something

145
00:09:16,639 --> 00:09:18,519
and as long as it's a meaningful
question. So have questions ready to ask.

146
00:09:18,559 --> 00:09:22,279
And while you're researching the company is
probably the best time to prepare some

147
00:09:22,320 --> 00:09:26,080
of those questions. I'll talk about
some more of those types of questions later,

148
00:09:26,080 --> 00:09:28,960
but do it here. If you
can't figure out who what their core

149
00:09:28,039 --> 00:09:33,440
business is, definitely ask that during
the interview. Say I looked at your

150
00:09:33,440 --> 00:09:35,879
website for twenty minutes and I couldn't
find an answer. Do you primarily sell

151
00:09:35,879 --> 00:09:39,399
them to end users or to businesses
or whatever the question is. So get

152
00:09:39,519 --> 00:09:43,519
questions, have two or three questions
at least ready when you go into the

153
00:09:43,519 --> 00:09:46,039
interview after researching the company. I
like to have a list of certain standard

154
00:09:46,120 --> 00:09:50,679
questions ready. And these are questions
that I could ask at any of any

155
00:09:50,679 --> 00:09:54,000
company. So if you forget to
do the company research for some reason,

156
00:09:54,080 --> 00:09:56,840
or maybe it's a company you were
already familiar with, so you skip that

157
00:09:56,879 --> 00:10:00,720
step, you could still fall back
to some of these questions. So when

158
00:10:00,720 --> 00:10:03,240
the interviewer says, what questions do
you have? You can go straight to

159
00:10:03,279 --> 00:10:07,080
these and these are just standard questions
that are usually appropriate at any company.

160
00:10:07,320 --> 00:10:11,080
Sometimes these questions do get answered naturally
during the course of an interview, so

161
00:10:11,159 --> 00:10:13,720
you can skip the ones that have
already been answered. But questions I like

162
00:10:13,759 --> 00:10:16,759
to ask things like what techstact does
the company use. Do you use Java

163
00:10:16,840 --> 00:10:22,200
or She's c sharp? Are you
a Microsoft shop or a Mac place whatever?

164
00:10:22,600 --> 00:10:26,159
Do you use Aws or Google?
What project management or agile methodology do

165
00:10:26,159 --> 00:10:30,360
you use? Are you a scrum
shop or do you use con bond or

166
00:10:30,399 --> 00:10:33,840
is it a mix your own and
do whatever you want sort of place?

167
00:10:33,320 --> 00:10:37,120
Do you do agile? Do you
do DevOps? Ask them what DevOps means

168
00:10:37,159 --> 00:10:43,480
to them? Because DevOps has so
many meetings around the world, every company

169
00:10:43,559 --> 00:10:46,279
kind of has their own concept.
Ask them what they think DevOps means.

170
00:10:46,440 --> 00:10:48,639
Ask them do they have DevOps engineers
on each team or do they have a

171
00:10:48,679 --> 00:10:54,000
separate platform team? Ask them questions
like this. What a question I like

172
00:10:54,080 --> 00:10:58,360
to ask is what's the main reason
I should not work here? And that's

173
00:10:58,360 --> 00:11:03,080
a good way to get I a
little bit of an honest response from whoever's

174
00:11:03,120 --> 00:11:05,960
interviewing you. Sometimes it's two or
three people. If it is, ask

175
00:11:07,000 --> 00:11:09,679
each of them to answer individually,
what's the number one reason I should not

176
00:11:09,759 --> 00:11:13,159
work here? And I asked this
at every interview when I'm a candidate,

177
00:11:13,200 --> 00:11:16,279
and I get good answers. So
consider that one closely related to the list

178
00:11:16,320 --> 00:11:20,879
of standard questions. I think it's
really important to know your deal breakers before

179
00:11:20,879 --> 00:11:24,039
you go into an interview. It's
good to be prepared with a list of

180
00:11:24,080 --> 00:11:28,440
things that you absolutely want to have
or need to have for your job.

181
00:11:28,720 --> 00:11:33,360
This list often gets longer as you
get older, and that's appropriate, but

182
00:11:33,399 --> 00:11:37,399
there probably are some obvious things on
your list. No matter the stage of

183
00:11:37,440 --> 00:11:41,039
your career. If you're fresh out
of university or you've just taken a boot

184
00:11:41,039 --> 00:11:43,879
camp or something like that, and
this is your first tech job, you're

185
00:11:43,879 --> 00:11:45,679
still going to have a list.
It might be sure, but you'll have

186
00:11:45,679 --> 00:11:48,960
a list. An obvious thing would
be something like what city is it in

187
00:11:48,080 --> 00:11:52,600
or is it remote? You probably
don't want a sixteen hour commute every morning

188
00:11:52,639 --> 00:11:54,600
to your job, so geography is
going to be an important thing on your

189
00:11:54,639 --> 00:11:58,799
list. Are you willing to commute? Are you willing to relocate? If

190
00:11:58,840 --> 00:12:01,879
the job is sixteen hours away.
That would obviously mean actually, you need

191
00:12:01,919 --> 00:12:05,000
to relocate. Are you willing to
do that? Are you willing to pay

192
00:12:05,000 --> 00:12:09,240
for the relocation or do you need
the company to give you a relocation bonus

193
00:12:09,279 --> 00:12:11,840
if that's what you're going to be
doing. Do you need a four day

194
00:12:11,879 --> 00:12:13,600
schedule or a five day schedule or
something like that. Maybe you need to

195
00:12:13,639 --> 00:12:18,120
take care of your children, maybe
you are still studying. Know your schedule

196
00:12:18,159 --> 00:12:22,320
requirements. Maybe you're willing to work
forty hours a week, but it needs

197
00:12:22,360 --> 00:12:24,000
to be on four days a week, you know, four ten hour days

198
00:12:24,039 --> 00:12:28,879
something like that. Know that ahead
of time, and be prepared so it

199
00:12:28,960 --> 00:12:31,360
doesn't take you by surprise when they
ask you and you're just like, yeah,

200
00:12:31,360 --> 00:12:33,200
okay, whatever, and then later
you regret it. Knowing your deal

201
00:12:33,240 --> 00:12:37,360
breakers beforehand, putting them on paper, or at least having them in your

202
00:12:37,399 --> 00:12:43,200
head, is really valuable when it
comes time to do negotiations and make an

203
00:12:43,240 --> 00:12:46,279
offer. Do you want a conference
budget or a learning budget? Is that

204
00:12:46,320 --> 00:12:50,759
important to you? That usually becomes
more important as your career advances. Many

205
00:12:50,759 --> 00:12:52,919
companies offer that. Some will if
you ask, I've used that as a

206
00:12:52,960 --> 00:12:56,600
negotiation technique. Maybe they can't give
you a pay raise, but they can

207
00:12:56,639 --> 00:13:00,440
offer you an extra thousand dollars per
year to go to conferences or something like

208
00:13:00,480 --> 00:13:03,559
that, and anything else you think
of. Maybe you want a specific operating

209
00:13:03,600 --> 00:13:09,559
system on your laptop, maybe you
want a monitor to maybe you're working from

210
00:13:09,559 --> 00:13:13,200
home and you want a big monitor
from them, whatever, whatever is important

211
00:13:13,200 --> 00:13:16,000
to you. Just have your list
ready, and you can have a list

212
00:13:16,000 --> 00:13:18,360
of deal breakers and a list of
nice to have, but bring those things

213
00:13:18,399 --> 00:13:22,039
up and ask about them. If
there's an important deal breaker, be prepared

214
00:13:22,039 --> 00:13:24,320
to ask during the interview if that's
going to be a problem for you.

215
00:13:24,080 --> 00:13:28,759
So that's basically my interview preparation.
It's those fourth it's not cramming research.

216
00:13:28,799 --> 00:13:31,799
The company have a list of to
innered questions and know my deal breakers.

217
00:13:31,799 --> 00:13:35,080
So that's kind of the all I
do to prepare for an interview. Once

218
00:13:35,120 --> 00:13:39,440
I'm at the interview at the first
stage or so, that's when my mindset

219
00:13:39,639 --> 00:13:43,840
changes a little bit and I'm working
on different things mentally. One of the

220
00:13:43,879 --> 00:13:48,159
things I'm looking for at that stage
is how they do technical evaluations. In

221
00:13:48,200 --> 00:13:54,279
my view, automated coding challenges are
a complete waste of time. Whether it's

222
00:13:54,320 --> 00:13:58,320
hacker brank or leap code or anything
like that. It simply does not test

223
00:13:58,759 --> 00:14:03,000
the things that matter on the job. It's high pressure, it makes people

224
00:14:03,039 --> 00:14:07,960
nervous, and it's completely artificial environment. Nobody is going to ask you to

225
00:14:07,000 --> 00:14:11,759
traverse a linked list on the job
in thirty minutes. Nobody's ever going to

226
00:14:11,799 --> 00:14:13,519
do that, I promise you.
What they will ask you to do is

227
00:14:13,879 --> 00:14:18,840
solve a performance problem in production and
do it as quickly as you can.

228
00:14:18,879 --> 00:14:22,200
If it takes thirty minutes or six
weeks, do it. So I avoid

229
00:14:22,320 --> 00:14:26,440
hacker rank style questions. If you're
early in your career and you just need

230
00:14:26,480 --> 00:14:30,440
a job, maybe go ahead and
do it. Not everybody's good at those

231
00:14:30,480 --> 00:14:33,600
tests. Actually I'm not very good
at them. It's a lot more of

232
00:14:33,600 --> 00:14:37,240
a mental game than it is a
capabilities test, really, So if you

233
00:14:37,320 --> 00:14:41,039
need to and you're good at it, go ahead. Otherwise I just skip

234
00:14:41,080 --> 00:14:46,000
those. I would tell the interviewing
manager, I'm sorry, I don't do

235
00:14:46,039 --> 00:14:48,320
tests like that. Well. Actually, there's two options. At this stage

236
00:14:48,360 --> 00:14:52,279
of my career, when it's relatively
easy for me to find new offers,

237
00:14:52,440 --> 00:14:56,200
a new new companies interview fat I
just passed on those companies. So if

238
00:14:56,200 --> 00:14:58,679
they ask me to do a hacker
rank or leak code, I just like

239
00:14:58,960 --> 00:15:01,200
withdraw my candidate to say immediately for
the one thing, I don't really want

240
00:15:01,240 --> 00:15:05,960
to be working for a company that
uses that as part of their screening because

241
00:15:05,960 --> 00:15:09,240
they're not doing a good job at
screening. But if you're looking for if

242
00:15:09,240 --> 00:15:11,879
you really need a job, if
you're either desperate or it's your first job,

243
00:15:11,080 --> 00:15:13,519
you can't be that picky, and
that's fine. Ask if you could

244
00:15:13,519 --> 00:15:16,720
pass on it, and if not, maybe you do it, maybe you

245
00:15:16,759 --> 00:15:18,840
don't, but you make that call. I don't like those types of tests.

246
00:15:18,919 --> 00:15:22,360
I'm also not a big fan of
the take home long term coding tests

247
00:15:22,360 --> 00:15:26,879
where they ask you to write a
rest API or to build a small test

248
00:15:26,919 --> 00:15:30,480
app that does something. If you
are faced with that, I do have

249
00:15:30,519 --> 00:15:33,399
some advice that might help, although
it takes a little while to get there.

250
00:15:33,440 --> 00:15:37,600
I've been coding for many years and
I have a couple of open source

251
00:15:37,679 --> 00:15:39,919
projects. One of them has something
like three hundred stars on Kithub. So

252
00:15:41,039 --> 00:15:43,879
what I usually do is when somebody
asks me to do, whether it's hacker

253
00:15:43,960 --> 00:15:48,480
rank or a take home style coding
assignment, I say thank you for offering

254
00:15:48,679 --> 00:15:50,240
offering me to do that, but
I think it would be a better use

255
00:15:50,279 --> 00:15:54,279
of both our time if you would
review this code that I've already written.

256
00:15:54,399 --> 00:15:58,039
It's much more extensive than anything that
I could do in a half day project,

257
00:15:58,440 --> 00:16:00,279
and it gives you a real sense
of the code I have written.

258
00:16:00,360 --> 00:16:03,919
And I have had many companies chick
me up on that and say thank you,

259
00:16:04,120 --> 00:16:07,279
we'll review that instead. I've also
had some say no, we really

260
00:16:07,320 --> 00:16:10,159
want you to do our coding challenge. If they say that, then you

261
00:16:10,200 --> 00:16:11,759
decide whether you want to do the
coding challenge or not. If you don't

262
00:16:11,759 --> 00:16:15,080
have an open source project like that, and I'm guessing most of you don't,

263
00:16:15,519 --> 00:16:18,919
that's fine. It doesn't need to
be like that. If you can

264
00:16:18,960 --> 00:16:22,519
get some code from a previous job
that you're legally allowed to share, you

265
00:16:22,519 --> 00:16:26,799
don't have an NDA or something to
keep to you from sharing it. You

266
00:16:26,840 --> 00:16:30,600
could use that if you're in university, uses one of your coding assignments from

267
00:16:30,679 --> 00:16:34,360
university, put that on your GitHub, and point in potential employers to that.

268
00:16:34,480 --> 00:16:37,000
Next time you're asked to do a
coding assignment, say I think it

269
00:16:37,000 --> 00:16:38,960
could be a better use of our
time if you would review this code.

270
00:16:38,960 --> 00:16:41,720
I already wrote, would you consider
that? If you don't have those options,

271
00:16:41,840 --> 00:16:45,559
you could easily do a coding katta. Codecutter dot com has a bunch

272
00:16:45,639 --> 00:16:49,000
of katas, which are basically just
little story problems, so to speak.

273
00:16:49,000 --> 00:16:52,559
They're kind of like a hacker Rank
style challenge, but usually a little bit

274
00:16:52,600 --> 00:16:56,039
broader, and you do it on
your own. Pick one or two that

275
00:16:56,080 --> 00:16:57,240
you like, turn them into some
code and put them on GitHub, and

276
00:16:57,480 --> 00:17:00,840
point a recruiter or a high manager
to that and ask if they would have

277
00:17:00,879 --> 00:17:03,920
considered that as a last resort.
If you simply don't have the time to

278
00:17:03,960 --> 00:17:07,680
do that, maybe you have a
family, or you're too busy for whatever

279
00:17:07,720 --> 00:17:10,720
reason. The next time somebody asks
you to do a coding challenge, go

280
00:17:10,720 --> 00:17:14,400
ahead and do it, but keep
that code and put it up on GitHub.

281
00:17:14,480 --> 00:17:18,200
And then the second time somebody asks
you to do a coding challenge,

282
00:17:18,279 --> 00:17:21,359
point them to that and say,
I've already written this code. Would you

283
00:17:21,359 --> 00:17:26,079
consider that instead? That will say
that will potentially save you many hours of

284
00:17:26,240 --> 00:17:30,880
unnecessary coding during your interview search or
during your job search while you're interviewing,

285
00:17:30,920 --> 00:17:34,160
So I highly encourage you to do
that. You have the option of deciding

286
00:17:34,160 --> 00:17:41,200
whether or not it's right for you
to refuse to continue with the companies that

287
00:17:41,680 --> 00:17:44,759
require a coding challenge. But at
least you give them the option and you

288
00:17:44,880 --> 00:17:48,440
might save yourself for eight, ten, twelve hours of coding that isn't necessary

289
00:17:48,680 --> 00:17:52,920
if they're willing to look at some
previously written code. During the interview,

290
00:17:52,000 --> 00:17:57,640
I will ask about whether or not
or what sort of development environment they use.

291
00:17:57,720 --> 00:18:00,920
And what I mean by that is
do they let me choose my own

292
00:18:00,960 --> 00:18:06,920
ide or do they have Maybe they
already have a group license for a particular

293
00:18:07,200 --> 00:18:10,160
ID brand and that's that's what they
have, and that's all. Maybe you

294
00:18:10,200 --> 00:18:11,559
care about operating system? Do you
want to use? Are you a Windows

295
00:18:11,640 --> 00:18:15,720
user? Maybe you're a Mac user? Do you mind switching? If you're

296
00:18:15,759 --> 00:18:18,039
a Windows user and they give you
a MacBook, is that going to bother

297
00:18:18,119 --> 00:18:19,720
you? If it does, if
you're if you feel less productive, or

298
00:18:19,720 --> 00:18:22,000
you just don't like Mac for some
reason, you can ask about that during

299
00:18:22,000 --> 00:18:26,000
the interview and tell them that you
really want Windows. Or if you're like

300
00:18:26,079 --> 00:18:29,319
me and you're a Linux user,
then maybe it's even more of a contentious

301
00:18:29,359 --> 00:18:32,200
issue. But you know, I
really want to work in Linux. I've

302
00:18:32,279 --> 00:18:34,640
I've used Windows in Mac and Linux, and I'm far more productive and Linux,

303
00:18:34,759 --> 00:18:37,720
So for me, that's the choice. But just just have that in

304
00:18:37,759 --> 00:18:40,519
mind what's important to you and ask
about it. This is another one of

305
00:18:40,519 --> 00:18:42,480
the questions you can you can make
one of your standard questions. Do I

306
00:18:42,480 --> 00:18:45,799
get to choose my operating system?
Can I choose my ide? Can I

307
00:18:45,880 --> 00:18:48,960
choose the tools I use? Et
cetera, et cetera. Maybe maybe they

308
00:18:49,079 --> 00:18:52,359
let you choose, but they won't
pay for it, So ask about that.

309
00:18:52,440 --> 00:18:55,000
You know, if you want to
use jet Brains, that's fine,

310
00:18:55,039 --> 00:18:56,799
but you have to buy your own
license or something. Ask those questions if

311
00:18:56,799 --> 00:19:00,880
that's important to you. And one
of the other things I really, I

312
00:19:00,920 --> 00:19:04,279
really it is a red flag for
me during the interview is gotcha trivia type

313
00:19:04,359 --> 00:19:08,839
questions. I was actually in an
interview just a year or two ago for

314
00:19:08,880 --> 00:19:14,880
a site reliability engineer role, and
the CEO of the company actually asked me

315
00:19:15,119 --> 00:19:18,240
what is the RGB value for yellow? And my mind was blown, like

316
00:19:18,279 --> 00:19:22,680
why would you ask anybody this?
Why would you even ask a web designer

317
00:19:22,759 --> 00:19:26,839
or a graphics designer this question.
Maybe they know, but it's like there's

318
00:19:26,920 --> 00:19:29,960
there's color pickers and there's Google,
just look it up. Nobody needs to

319
00:19:30,000 --> 00:19:33,279
memorize this. There's no reason.
And aside from that, who's actually using

320
00:19:33,279 --> 00:19:36,480
pure yellow at a website? Anyway, You're gonna be using some shade.

321
00:19:36,519 --> 00:19:40,519
He also asked me the difference between
xhtmail and htmail five, and a whole

322
00:19:40,559 --> 00:19:44,480
slew of other ridiculous questions that just
had nothing to do with the job at

323
00:19:44,480 --> 00:19:47,200
hand. I told him several times, I don't see how this relates,

324
00:19:47,240 --> 00:19:49,839
and at the end I just I
withdrew my candidacy. I was like,

325
00:19:49,839 --> 00:19:52,880
I'm not going to work for this
company. They don't know how engineering works.

326
00:19:52,880 --> 00:19:56,720
They're asking ridiculous, unrelated questions.
So I've talked about what I do

327
00:19:56,880 --> 00:20:00,400
to prepare for an interview and how
oh I like to do the interview.

328
00:20:00,839 --> 00:20:04,200
Make sure that you have a chance
to ask your questions. If they don't

329
00:20:04,200 --> 00:20:07,880
give it to you, ask for
it. An easy way to do that

330
00:20:07,079 --> 00:20:11,440
is at the beginning of the interview, during the introductions, they're probably going

331
00:20:11,519 --> 00:20:14,759
to ask you to tell them about
yourself. Say here's my history, by

332
00:20:14,799 --> 00:20:15,839
the way, while I have time
for questions at the end. If they

333
00:20:15,839 --> 00:20:18,480
don't give you time for questions at
the end, and your time is run

334
00:20:18,519 --> 00:20:22,240
out and they're pushing me out of
the room. Maybe asked to follow up

335
00:20:22,279 --> 00:20:25,039
by email or if they can stay
in extra five or ten minutes to ask

336
00:20:25,039 --> 00:20:27,440
your questions. But make sure you
ask your questions. As a hiring manager,

337
00:20:27,720 --> 00:20:32,440
people who ask me questions are impressive. The ones who don't, I

338
00:20:32,480 --> 00:20:34,480
don't have a good opinion of them. So I think I have said enough.

339
00:20:34,640 --> 00:20:37,759
My throat is getting dry. I
don't know what else I can talk

340
00:20:37,799 --> 00:20:41,319
about when I'm by myself, so
I think we're going to call this an

341
00:20:41,319 --> 00:20:47,720
episode. I guess it's time for
picks, so I'll turn it over to

342
00:20:47,759 --> 00:20:51,440
myself to do picks. I'm going
to pick. I'm going to promote myself.

343
00:20:51,519 --> 00:20:55,240
Since I'm drying my throat out talking
today, I'm going to promote my

344
00:20:55,279 --> 00:20:57,440
own material and we're just going to
call her to day. I have a

345
00:20:57,519 --> 00:21:03,200
daily mailing list where I talk about
all things related to DevOps and software development.

346
00:21:03,279 --> 00:21:07,359
And I do talk about these topics
about how to get a better job,

347
00:21:07,880 --> 00:21:11,119
how to interview, things like that. That comes up fairly frequently.

348
00:21:11,119 --> 00:21:15,240
If you're interested, you can go
to Jhall dot io slash Daily. You

349
00:21:15,240 --> 00:21:18,960
can sign up for the list it's
completely free. Occasionally I will promote a

350
00:21:19,000 --> 00:21:22,480
paid product on there that I do, but for the most part, it's

351
00:21:22,640 --> 00:21:26,039
just free information. I like to
give back to the community, so you're

352
00:21:26,079 --> 00:21:29,359
welcome to do that. I would
also like to pick a YouTube channel that

353
00:21:29,480 --> 00:21:34,000
I think is helpful. It's geared
more for software development, but really it's

354
00:21:34,000 --> 00:21:37,440
not even about the technical aspect of
it, so it's really appropriate for anybody

355
00:21:37,480 --> 00:21:41,759
in tech. It's called Healthy Software
Developer. The guy who runs a channel's

356
00:21:41,799 --> 00:21:47,119
name is Jamie Edwards. He's an
experienced software engineer. He lives I think

357
00:21:47,119 --> 00:21:49,920
he lives in Texas, and he
has a good YouTube channel with a lot

358
00:21:49,960 --> 00:21:57,000
of resources about approaching software development and
IT culture and product management and all these

359
00:21:57,039 --> 00:22:00,319
things. All the sort of challenges
and struggles we deal with. He addresses

360
00:22:00,319 --> 00:22:03,759
these on his channel, so we'll
have links to both of those picks.

361
00:22:03,880 --> 00:22:07,519
Thank you for joining me this week. If you're looking for work, I

362
00:22:07,559 --> 00:22:11,039
wish you the best. I hope
that this advice has been useful and we

363
00:22:11,079 --> 00:22:11,920
will see you next time.
