WEBVTT

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.

