-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
541 lines (454 loc) · 23 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Help me hire you - Prae Songprasit</title>
<meta name="author" content="Prae Songprasit">
<meta property="og:title" content="Help me hire you! Tips for landing your first dev role" />
<meta property="og:description" content="Sharing my personal experience and view from recruiter's side when hiring junior talent" />
<meta property="og:image" content="https://praesongprasit.github.io/talk_help-me-hire-you/repository-open-graph_img.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:alt" content="Help me hire you! Tips for landing your first dev role" />
<meta property="og:url" content="https://praesongprasit.github.io/talk_help-me-hire-you/" />
<meta property="og:type" content="article" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:dnt" content="on" />
<meta name="twitter:creator" content="@PraeSongprasit" />
<meta name="theme-color" content="#181E2B">
<link rel="stylesheet" href="dist/reset.css">
<link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/lackofcolours.css" id="theme">
<!-- Theme used for syntax highlighted code -->
<link rel="stylesheet" href="plugin/highlight/monokai.css" id="highlight-theme">
</head>
<body>
<div class="reveal">
<main class="slides">
<section>
<h1>Help me hire you!</h1>
<p>Tips for lending your very first dev role</p>
<small>
<a href="https://praesongprasit.com">Prae Songprasit</a> 🍵 <a href="https://twitter.com/praesongprasit">@PraeSongprasit</a>
</small>
<aside class="notes">
<p>Hi everyone!</p>
<p>Thanks for attending my very first solo bootcamp with SoT</p>
<p>Today, I'm going to ask for you help.</p>
<p>Please make my life easier, and help me hire YOU!</p>
</aside>
</section>
<section>
<h2>Topics</h2>
<ul>
<li class="fragment" data-fragment-index="1">Creating a job posting</li>
<li class="fragment" data-fragment-index="2">Reviewing CV</li>
<li class="fragment" data-fragment-index="3">Interviewing</li>
<li class="fragment" data-fragment-index="4">Choosing a candidate</li>
<li class="fragment" data-fragment-index="5">Putting in an offer</li>
</ul>
<p class="fragment" data-fragment-index="6">...and anything in between</p>
<aside class="notes">
<p>This talk, will cover my take on...</p>
<p>... from a dev employer's perspective</p>
</aside>
</section>
<section>
<h2>⚠️ Disclaimer</h2>
<p>This is <strong>my <em>personal</em> view</strong>.</p>
<p>It does not represent an organisation's stance or practice.</p>
<aside class="notes">
<p>It is based on my previous experience being involved in recruiting process of full time, part time, grad, and internship roles.</p>
</aside>
</section>
<section>
<h2>About me</h2>
<picture class="img-mask--round">
<img src="img/prae-in-kai.jpg" alt="Photo of Prae doing Japanese archery, in full draw position" />
</picture>
<aside class="notes">
<p>Prae Songprasit, UI focused Front End Developer for 8 years.</p>
<p>Specialise in scalable UI, Semantic HTML & accessibility for large scale sites.</p>
<p>Like Tourism New Zealand, and Xero's customer help portal.</p>
<p>In spare time: Japanese archery & learning watercolours</p>
<p>I usually don't like to have a whole slide about myself in a talk, but this serves a purpose.</p>
</aside>
</section>
<section>
<h2>We're all humans</h2>
<p>Especially those involved in <em>recruiting</em> and <em>management</em></p>
<aside class="notes">
<p>Because, who am I <em>recruiting</em>? <strong>Future colleagues</strong>.</p>
<p>And who are <em>managers</em> in charge of? <strong>People</strong></p>
<p>When you're looking for a job, it's easy to forget, and focus on your needs.</p>
<p>When you were unsuccessful, you wondered, what is wrong with <em>me</em>?</p>
<p>But it's not the only reason why the employer didn't choose you.</p>
</aside>
</section>
<section>
<h2>Key to your success</h2>
<p>
<span class="fragment" data-fragment-index="1">Employer's need</span>
<span class="fragment" data-fragment-index="3">🤝</span>
<span class="fragment" data-fragment-index="2">Your need</span>
</p>
<aside class="notes">
<p>Knowing what employers need, and ensuring both your needs are aligned, is key to a successful application.</p>
<p>I'm a strong believer in empathy. And that's why I'm here</p>
<p>...to tell you about how recruitment works from employer's side of things</p>
<p>If want to become a developer, you have to like solving problems.</p>
<p>Hopefully after this talk, you'd be able to solve problems for the employers.</p>
</aside>
</section>
<section>
<h2>Recruitment process</h2>
<figure class="stretch">
<img
class="fragment"
data-fragment-index="1"
src="img/recruitment-life-cycle_corprate-io.png"
alt=""
/>
<figcaption class="visually-hidden">
<p id="stages-of-recruitment">6 stages of recruitment process</p>
<ol aria-labelledby="stages-of-recruitment">
<li>Preparing</li>
<li>Sourcing</li>
<li>Screening</li>
<li>Selecting</li>
<li>Hiring</li>
<li>Onboarding</li>
</ol>
</figcaption>
</figure>
<aside class="notes">
<p>What does recruitment process generally looks like?</p>
<p>From my POV, there are 6 stages</p>
</aside>
</section>
<section>
<h3>Phase 1: Preparing</h3>
<ul>
<li class="fragment" data-fragment-index="1">Why hire an intern or junior talent?</li>
<li class="fragment" data-fragment-index="2">Which team?</li>
<li class="fragment" data-fragment-index="3">What does that team need?</li>
</ul>
<p class="fragment" data-fragment-index="4">✅ Job description/ad</p>
<aside class="notes">
<p>Organisation asks itself, why hire an intern or junior talent?</p>
<p>Depending on its size, business life cycle, and values, answers can range from:</p>
<ul>
<li>Questionable "save cost"</li>
<li>Expanding rapidly, not enough talent in market</li>
<li>Train into niche specialities like ecommerce and Salesforce</li>
<li>Lofty "fostering future generation of coders"</li>
<li>(intern) Entice them into future role with us</li>
</ul>
<p>This will inform job posting tones and attitudes.</p>
<p><strong>Which team?</strong></p>
<p>For org with multiple teams, sometimes teams can volunteer or request.</p>
<p>Team's culture and natuer of work will inform the "What you'll learn" section from the ad.</p>
<p><strong>Team needs</strong></p>
<ul>
<li>Team is full of disgruntled old people and keen on fresh young energy</li>
<li>Members' growth plans involve practice mentoring</li>
<li>Team practice/refine onboarding process</li>
<li>Team has regular/rotation spot for junior talent</li>
<li>(intern) Temporary help to get over a feature release</li>
</ul>
<p>Informs "What you'll do" section</p>
</aside>
</section>
<section>
<h3>Phase 2: Sourcing</h3>
<ul>
<li class="fragment" data-fragment-index="1">❤️ Summer of Tech platform</li>
<li class="fragment" data-fragment-index="2">Trademe/Seek</li>
<li class="fragment" data-fragment-index="3">On campus career fairs</li>
<li class="fragment" data-fragment-index="4">Employee referral</li>
</ul>
<p class="fragment" data-fragment-index="5">✅ Where to find candidates</p>
<aside class="notes">
<p>Ok, got JD, where do I advertise the role, or find candidates?</p>
</aside>
</section>
<section>
<h3>Phase 3: Screening</h3>
<ul>
<li class="fragment" data-fragment-index="1"><em>Reactive</em> - Candidates apply</li>
<li class="fragment" data-fragment-index="2"><em>Proactive</em> - Search on a platform</li>
<li class="fragment" data-fragment-index="3"><em>Both</em></li>
</ul>
<p class="fragment" data-fragment-index="4"><strong>Goal</strong>: 20-100 candidates per role</p>
<p class="fragment" data-fragment-index="5">2,000 SoT profiles</p>
<p>
<span class="fragment" data-fragment-index="6">1 week to screen</span>
<span class="fragment" data-fragment-index="7"> ≈ 57 candidates / hour 😱</span>
</p>
<aside class="notes">
<p>3 main ways</p>
<p>Well known companies with track record will adopt a reactive strategy. Just screen from people who applied.</p>
<p>So if you never registered interest or reached out, you won't be considered.</p>
<p>Lesser known companies understand that if candidates don't know about them, no one would apply.</p>
<p>So they'd actively reach out, and shortlist candidates.</p>
<p>Organisations with a bit of dedicated resource (perosonnel, time, and $$) may adopt both</p>
<p>What is my goal during this phase? Manageable ratio of around 20-100 per 1 role</p>
<p>Say there are 2,000 candidates on SoT</p>
<p>Say you're given 1 week (35hrs) to narrow down the pool for teams.</p>
<p>If I'm a proactive type, I'll be trying to sort through 57 profiles per hour</p>
</aside>
</section>
<section>
<h4>Screening tools</h4>
<ul>
<li class="fragment" data-fragment-index="1">SoT filters <br>(student status, dev, and etc.)</li>
<li class="fragment" data-fragment-index="2">SoT completed profiles</li>
<li class="fragment" data-fragment-index="3">CV/resume</li>
<li class="fragment" data-fragment-index="4">Portfolio or Git repos</li>
</ul>
<p class="fragment" data-fragment-index="5">✅ Narrowed down to 20-100 candidates</p>
<aside class="notes">
<p>What tools do I have at my disposal?</p>
<p>Student status (penultimate, last year, etc) filter, filled out profiles, well written CV keyword which matched the job description/team needs, and spreadsheets.</p>
<p>Empty or no effort profile, CV, and lack of portfolio could be deadly</p>
<p>Due to time and resource constraints, candidates become numbers and spreadsheets</p>
<p>After a week's of hard work, I now have a much smaller list to present to my teams</p>
</aside>
</section>
<section>
<h3>Phase 4: Selecting</h3>
<ul>
<li class="fragment" data-fragment-index="1">Most <em>resource heavy</em> - Require many people's time</li>
<li class="fragment" data-fragment-index="2">
Most <em>intense period</em> - Short, and very busy
<ul class="nested-list">
<li>Shortlist candidates (fine tooth comb)</li>
<li>Technical assessment (sometimes)</li>
<li>Interviews </li>
</ul>
</li>
</ul>
<aside class="notes">
<p>At this point, you students have applied to 10 companies, or may have heard from a few</p>
<p>...is waiting for a response or call for next steps, and posting nervous slack messages to eachother.</p>
<p>Employer's side - things gets real</p>
<p>Up until now, there might be only couple people working recruitment.</p>
<p>This is where teams hosting talent gets involved</p>
<p>From pool of candidates, filter who they want</p>
<p>Which means, if you're late, and missed cut off period (not always annouced), you're less likely to be looked at</p>
<p>This is also the most intense and busy period.</p>
<p>Tricky to schedule so many people in. So be mindful of employer's time and avoid rescheduling.</p>
</aside>
</section>
<section>
<p>A day in life of a senior dev</p>
<div class="stretch">
<img
class="fragment"
src="img/calendar-masked.jpg"
alt="Screen shot of a senior developer's busy weekly calendar"
/>
</div>
<aside class="notes">
<p>Reminder: Don't waste my time</p>
<p>Last year, one of the students were on a phone during the meet n greet.</p>
<p>There were hundreds of others waiting for that chance to talk to us</p>
</aside>
</section>
<section>
<h4>Shortlist for assessment/interview</h4>
<ul>
<li class="fragment" data-fragment-index="1">SoT profile (effort and attitude)</li>
<li class="fragment" data-fragment-index="2">CV/Resume (personal statement and links to works)</li>
<li class="fragment" data-fragment-index="3">Easy to inspect portfolio (site, GitHub, clip)</li>
<li class="fragment" data-fragment-index="4">
All demonstrate
<ul class="nested-list">
<li>Genuine interest in this type of role</li>
<li>Useful/transferable skillset</li>
<li>(Bonus) Personal touch</li>
</ul>
</li>
</ul>
<p class="fragment" data-fragment-index="5">✅ Shortlisted 6-10 candidates</p>
<aside class="notes">
<p>No longer a number's game</p>
<p>As someone shortlisting candidates, I look for</p>
<ul>
<li>Articulate profile, clearly highlighting career aspirations</li>
<li>Good attitude can't be spelled out. Don't just say I love learning, or working with people. Back it up with side project or activities?</li>
</ul>
<p><strong>CV/resume</strong></p>
<ul>
<li>What you said in your profile and resume match the nature of the role. Love UX but applied for data science?</li>
<li>Done works and listed out? Great! Where is it? Portfolio, links?</li>
</ul>
<ul>
<li>Portfolio isn't required, but greatly boost you</li>
<li>Not going to look at more than 3. Ain't no body got time</li>
<li>Knows git? Real bonus. Hard to teach at work. Show and link it.</li>
<li>Deployed work - Bonus you know how to deploy!</li>
<li>One very well completed and deployed GitHub project is as good as any</li>
<li>Last year I wanted to give candidates a chance, and downloaded their github work to run locally. Some is broken and doesn't run</li>
<li>If don't know how to deploy work but it is on GitHub? GitHub Pages is free.</li>
<li>Work isn't web based and can't be deployed for free? Upload video of how it works. Saves me the installation</li>
</ul>
<ul>
<li>You don't say you love C#, no mention of HTML CSS or JS, when applying for a front end web role. <br>No one wants to be someone's backup role</li>
<li>Waitressed in your past life? Fab, list our human skills.</li>
<li>Hosted events or organised functions? Tell me more. This demonstrate organisation skills</li>
<li>Make yo-self memerable</li>
</ul>
<p>At this point, I've looked at 25-100 candidates... I'm tired. Difference may be so minute</p>
</aside>
</section>
<section>
<h4>Technical assessment</h4>
<div class="r-stack">
<div class="fragment fade-in-then-out" data-fragment-index="1">
<p>Doesn't always happen</p>
<p>Usually when the recruitment is higher stake or is competitive</p>
</div>
<ul>
<li class="fragment" data-fragment-index="2">Online (HackerRank, CodeSubmit, and etc.)</li>
<li class="fragment" data-fragment-index="3">Take-home assessment</li>
<li class="fragment" data-fragment-index="4">White boarding (during interview)</li>
</ul>
</div>
<aside class="notes">
<p>For example, last year in one of the teams, people think having a junior may reduce productivity.</p>
<p>So we had to test if candidate has a basic understanding of git, HTML, and CSS.</p>
<p>For some roles, we had top 20 candidates who all have side projects, do extracurricular activities and seem to have very similar uni experience.</p>
<p><strong>Online</strong></p>
<p>I personally hate online assessment. Especially the timed pressure!</p>
<p>But it the most efficient thing we have to filter through many candidates, so I don't put too much weight on it.</p>
<p>Tip 1: A lot of these record answer everytime you hit run code. Use this instead of paper. It's like maths test showing thoughts process</p>
<p>Tip 2: A lot of these tests are free for candidates. Practice away. Again, like maths class</p>
<p><strong>Take home</strong></p>
<p>If given take home assessment, read instructions very carefully.</p>
<p>If possible, go above and beyond to show your prowess.</p>
<p>For example: Got emailed question to solve. Instead of submitting by attaching folder via email, do the whole thing on Git and deploy!</p>
<p>Use README.md file to your advantage. Explain your choices and decision if you were choosing between 2 possible methods.</p>
<p><strong>White-board</strong></p>
<p>Interviewer ask question, you answer</p>
<p>Talk through thought process. Ask clarfying questions. Gather more data to complete work!</p>
</aside>
</section>
<section>
<h4>Interview</h4>
<ul>
<li class="fragment" data-fragment-index="1">SoT speed interview</li>
<li class="fragment" data-fragment-index="2">Full interview</li>
<li class="fragment" data-fragment-index="3">Grad day/Open day</li>
</ul>
<aside class="notes">
<p><strong>Speed interview</strong></p>
<ul>
<li>Classic SoT 10mins speed interview</li>
<li>Less time consuming for employers</li>
<li>Most stressful for both students and employers</li>
<li>Giving concise but complete answers</li>
<li>How well does the candidate present themselves?</li>
<li>What do they value most?</li>
<li>What's their working style</li>
<li>Why are they interested in the role?</li>
</ul>
<p><strong>Full interview</strong></p>
<p>Often used for roles that will likely turn into full time, or the org's first junior role.</p>
<p>Generally 1 or 1.5 hours</p>
<p>For both interview types, prepare questions to ask employers about the team</p>
<p><strong>Grad day/Open day</strong></p>
<ul>
<li>Come into office to do a bunch of activities with other candidates, Hunger Games style</li>
<li>Assess team work</li>
<li>Test flexibility</li>
<li>Observe reactions/attitudes</li>
</ul>
</aside>
</section>
<section>
<h4>Deciding who to offer</h4>
<ul>
<li class="fragment" data-fragment-index="1">Not a time waster</li>
<li class="fragment" data-fragment-index="2">Semi-autonomous learner</li>
<li class="fragment" data-fragment-index="3">Empathetic communicator</li>
<li class="fragment" data-fragment-index="4">Collaborator</li>
<li class="fragment" data-fragment-index="5">Enrich team's culture (not 'fit' into team)</li>
<li class="fragment" data-fragment-index="6">Team can offer valuable skill</li>
<li class="fragment" data-fragment-index="7">Likely to have a good time</li>
</ul>
<p class="fragment" data-fragment-index="8">✅ Ranked 3-6 candidates to give an offer</p>
<aside class="notes">
<p>Lets say I have a candidate with stellar performance in technical assessment</p>
<p>I'd choose one who makes me want to work with them during interviews</p>
<p>I'm hiring a team mate. </p>
<p>As mentioned, everyone in this process are busy people. Did the candidate respect our time by being punctual?</p>
<p>Will they need much handholding on the job? Or will they be able to pick up things as they go with minor mentorship</p>
<p>Especially in a multicultural team, will candidate be able to work effectively with people of differing comm styles?</p>
<p>Are they likely to respectfully/pragmatically raise issues or ask for help?</p>
<p><strong>Ahh, the detestable 'team fit'</strong></p>
<p>When hiring for people who are the same as us, we'll create monoculture.</p>
<p>Very thing which resulted in discrimination and lack of diversity.</p>
<p>No, we're looking for someone who could help shift the scale a little. But not too disruptive</p>
<p>If the team is full of introvert, I'd be weary of adding yet another introvert, or an extreme extrovert in which could create too much conflict.</p>
<p>Want to create healthy tension between styles that will help elevate the team.</p>
<p><strong>What can WE offer candiate?</strong></p>
<p>If the candidate already knows all tech stack of the team, wouldn't this be a waste of their time?</p>
<p>Are they likely to be happy with the team, and with the company?</p>
<p>Internship is a form of a PR activity, and investment in future reputation</p>
</aside>
</section>
<section>
<h3>Phase 5: Hiring</h3>
<p class="fragment" data-fragment-index="1">Most preferred/top ranked candidate gets offer via SoT</p>
<p class="fragment" data-fragment-index="2">If offer refused or not accepted in 24hrs, <br>next one in the ranking gets it</p>
<p class="fragment" data-fragment-index="3">If ono one accepts, start all over</p>
<aside class="notes">
<p>If you're one of the shortlisted candidates on offer list, well done</p>
<p>It means you've impressed us enough to make it there.</p>
<p>Frankly, I would be happy with any of the top candidates. But I had to rank and choose</p>
<p>Chances are, there was a minute difference between you</p>
<p>This is where the details of your work, and our interactions matter. It sets you apart</p>
</aside>
</section>
<section>
<h2>Closing thoughts</h2>
<p>
<span class="fragment" data-fragment-index="1">
Help me hire you...
</span>
<span class="fragment" data-fragment-index="2">
Pretty please 🙏
</span>
</p>
<aside class="notes">
<p>I've spent the past 45mins telling you my experience, hiring goals, and problems I've encountered</p>
<p>Now, go forth and help us solve it.</p>
<p>Pour in efforts, apply your learnings, be resourceful, and stand out.</p>
<p>Make it so easy for me to choose you, that it's no longer a close call.</p>
<p>Help me, hire you. Please</p>
</aside>
</section>
<section>
<h2>Thanks!</h2>
<p><a href="https://twitter.com/praesongprasit">@PraeSongprasit</a></p>
</section>
</main>
</div>
<script src="dist/reveal.js"></script>
<script src="plugin/notes/notes.js"></script>
<script src="plugin/markdown/markdown.js"></script>
<script src="plugin/highlight/highlight.js"></script>
<script>
// More info about initialization & config:
// - https://revealjs.com/initialization/
// - https://revealjs.com/config/
Reveal.initialize({
hash: true,
transition: 'none',
// Learn about plugins: https://revealjs.com/plugins/
plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
});
</script>
</body>
</html>