aboutsummaryrefslogtreecommitdiff
path: root/po/pt/LC_MESSAGES/_articles/2020-10-20-how-not-to-interview-engineers.po
blob: 2dd6645f819536cd17b95f497989635f6820a8f7 (about) (plain) (blame)
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
#
msgid ""
msgstr ""

msgid ""
"title: How not to interview engineers\n"
"date: 2020-10-20\n"
"updated_at: 2020-10-24\n"
"layout: post\n"
"lang: en\n"
"ref: how-not-to-interview-engineers"
msgstr ""

msgid ""
"This is a response to Slava's \"[How to interview "
"engineers](https://defmacro.substack.com/p/how-to-interview-engineers)\" "
"article. I initially thought it was a satire, [as have "
"others](https://defmacro.substack.com/p/how-to-interview-"
"engineers/comments#comment-599996), but he has [doubled down on "
"it](https://twitter.com/spakhm/status/1315754730740617216):"
msgstr ""

msgid ""
"(...) Some parts are slightly exaggerated for sure, but the essay isn't "
"meant as a joke."
msgstr ""

msgid ""
"That being true, he completely misses the point on how to improve hiring, "
"and proposes a worse alternative on many aspects. It doesn't qualify as "
"provocative, it is just wrong."
msgstr ""

msgid ""
"I was comfortable taking it as a satire, and I would just ignore the whole "
"thing if it wasn't (except for the technical memo part), but friends of mine"
" considered it to be somewhat reasonable. This is a adapted version of parts"
" of the discussions we had, risking becoming a gigantic showcase of [Poe's "
"law](https://en.wikipedia.org/wiki/Poe%27s_law)."
msgstr ""

msgid ""
"In this piece, I will argument against his view, and propose an alternative "
"approach to improve hiring."
msgstr ""

msgid ""
"It is common to find people saying how broken technical hiring is, as well "
"put in words by a phrase on [this "
"comment](https://news.ycombinator.com/item?id=24757511):"
msgstr ""

msgid ""
"Everyone loves to read and write about how developer interviewing is flawed,"
" but no one wants to go out on a limb and make suggestions about how to "
"improve it."
msgstr ""

msgid ""
"I guess Slava was trying to not fall on this trap, and make a suggestion on "
"how to improve instead, which all went terribly wrong."
msgstr ""

msgid "What not to do"
msgstr ""

msgid "Time candidates"
msgstr ""

msgid ""
"Timing the candidate shows up on the \"talent\" and \"judgment\" sections, "
"and they are both bad ideas for the same reason: programming is not a "
"performance."
msgstr ""

msgid ""
"What do e-sports, musicians, actors and athletes have in common: performance"
" psychologists."
msgstr ""

msgid ""
"For a pianist, their state of mind during concerts is crucial: they not only"
" must be able to deal with stage anxiety, but to become really successful "
"they will have to learn how to exploit it. The time window of the concert is"
" what people practice thousands of hours for, and it is what defines one's "
"career, since how well all the practice went is irrelevant to the nature of "
"the profession. Being able to leverage stage anxiety is an actual goal of "
"them."
msgstr ""

msgid ""
"That is also applicable to athletes, where the execution during a "
"competition makes them sink or swim, regardless of how all the training was."
msgstr ""

msgid ""
"The same cannot be said about composers, though. They are more like book "
"writers, where the value is not on very few moments with high adrenaline, "
"but on the aggregate over hours, days, weeks, months and years. A composer "
"may have a deadline to finish a song in five weeks, but it doesn't really "
"matter if it is done on a single night, every morning between 6 and 9, at "
"the very last week, or any other way. No rigid time structure applies, only "
"whatever fits best to the composer."
msgstr ""

msgid ""
"Programming is more like composing than doing a concert, which is another "
"way of saying that programming is not a performance. People don't practice "
"algorithms for months to keep them at their fingertips, so that finally in a"
" single afternoon they can sit down and write everything at once in a rigid "
"4 hours window, and launch it immediately after."
msgstr ""

msgid ""
"Instead software is built iteratively, by making small additions, than "
"refactoring the implementation, fixing bugs, writing a lot at once, *etc*. "
"all while they get a firmer grasp of the problem, stop to think about it, "
"come up with new ideas, *etc*."
msgstr ""

msgid ""
"Some specifically plan for including spaced pauses, and call it \"[Hammock "
"Driven Development](https://www.youtube.com/watch?v=f84n5oFoZBc)\", which is"
" just artist's \"creative idleness\" for hackers."
msgstr ""

msgid ""
"Unless you're hiring for a live coding group, a competitive programming "
"team, or a professional live demoer, timing the candidate that way is more "
"harmful than useful. This type of timing doesn't find good programmers, it "
"finds performant programmers, which isn't the same thing, and you'll end up "
"with people who can do great work on small problems but who might be unable "
"to deal with big problems, and loose those who can very well handle huge "
"problems, slowly. If you are lucky you'll get performant people who can also"
" handle big problems on the long term, but maybe not."
msgstr ""

msgid ""
"An incident is the closest to a \"performance\" that it gets, and yet it is "
"still dramatically different. Surely it is a high stress scenario, but while"
" people are trying to find a root cause and solve the problem, only the "
"downtime itself is visible to the exterior. It is like being part of the "
"support staff backstage during a play: even though execution matters, you're"
" still not on the spot. During an incident you're doing debugging in anger "
"rather than live coding."
msgstr ""

msgid ""
"Although giving a candidate the task to write a \"technical memo\" has "
"potential to get a measure of the written communication skills of someone, "
"doing so in a hard time window also misses the point for the same reasons."
msgstr ""

msgid "Pay attention to typing speed"
msgstr ""

msgid ""
"Typing is speed in never the bottleneck of a programmer, no matter how great"
" they are."
msgstr ""

msgid ""
"As [Dijkstra "
"said](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD05xx/EWD512.html):"
msgstr ""

msgid ""
"But programming, when stripped of all its circumstantial irrelevancies, "
"boils down to no more and no less than very effective thinking so as to "
"avoid unmastered complexity, to very vigorous separation of your many "
"different concerns."
msgstr ""

msgid "In other words, programming is not about typing, it is about thinking."
msgstr ""

msgid ""
"Otherwise, the way to get those star programmers that can't type fast enough"
" a huge productivity boost is to give them a touch typing course. If they "
"are so productive with typing speed being a limitation, imagine what they "
"could accomplish if they had razor sharp touch typing skills?"
msgstr ""

msgid ""
"Also, why stop there? A good touch typist can do 90 WPM (words per minute), "
"and a great one can do 120 WPM, but with a stenography keyboard they get to "
"200 WPM+. That is double the productivity! Why not try [speech-to-"
"text](https://www.youtube.com/watch?v=Mz3JeYfBTcY)? Make them all use "
"[J](https://www.jsoftware.com/#/) so they all need to type less! How come "
"nobody thought of that?"
msgstr ""

msgid ""
"And if someone couldn't solve the programming puzzle in the given time "
"window, but could come back in the following day with an implementation that"
" is not only faster, but uses less memory, was simpler to understand and "
"easier to read than anybody else? You'd be losing that person too."
msgstr ""

msgid "IQ"
msgstr ""

msgid ""
"For \"building an extraordinary team at a hard technology startup\", "
"intelligence is not the most important, [determination "
"is](http://www.paulgraham.com/determination.html)."
msgstr ""

msgid ""
"And talent isn't \"IQ specialized for engineers\". IQ itself isn't a measure"
" of how intelligent someone is. Ever since Alfred Binet with Théodore Simon "
"started to formalize what would become IQ tests years later, they already "
"acknowledged limitations of the technique for measuring intelligence, which "
"is [still true today](https://sci-"
"hub.do/https://psycnet.apa.org/doiLanding?doi=10.1037%2F1076-8971.6.1.33)."
msgstr ""

msgid ""
"So having a high IQ tells only how smart people are for a particular aspect "
"of intelligence, which is not representative of programming. There are "
"numerous aspects of programming that are covered by IQ measurement: how to "
"name variables and functions, how to create models which are compatible with"
" schema evolution, how to make the system dynamic for runtime "
"parameterization without making it fragile, how to measure and observe "
"performance and availability, how to pick between acquiring and paying "
"technical debt, *etc*."
msgstr ""

msgid ""
"Not to say about everything else that a programmer does that is not purely "
"programming. Saying high IQ correlates with great programming is a stretch, "
"at best."
msgstr ""

msgid "Ditch HR"
msgstr ""

msgid "Slava tangentially picks on HR, and I will digress on that a bit:"
msgstr ""

msgid ""
"A good rule of thumb is that if a question could be asked by an intern in "
"HR, it's a non-differential signaling question."
msgstr ""

msgid ""
"Stretching it, this is a rather snobbish view of HR. Why is it that an "
"intern in HR can't make signaling questions? Could the same be said of an "
"intern in engineering?"
msgstr ""

msgid ""
"In other words: is the question not signaling because the one asking is from"
" HR, or because the one asking is an intern? If the latter, than he's just "
"arguing that interns have no place in interviewing, but if the former than "
"he was picking on HR."
msgstr ""

msgid ""
"Extrapolating that, it is common to find people who don't value HR's work, "
"and only see them as inferiors doing unpleasant work, and who aren't capable"
" enough (or *smart* enough) to learn programming."
msgstr ""

msgid ""
"This is equivalent to people who work primarily on backend, and see others "
"working on frontend struggling and say: \"isn't it just building views and "
"showing them on the browser? How could it possibly be that hard? I bet I "
"could do it better, with 20% of code\". As you already know, the answer to "
"it is \"well, why don't you go do it, then?\"."
msgstr ""

msgid ""
"This sense of superiority ignores the fact that HR have actual professionals"
" doing actual hard work, not unlike programmers. If HR is inferior and so "
"easy, why not automate everything away and get rid of a whole department?"
msgstr ""

msgid ""
"I don't attribute this world view to Slava, this is only an extrapolation of"
" a snippet of the article."
msgstr ""

msgid "Draconian mistreating of candidates"
msgstr ""

msgid ""
"If I found out that people employed theatrics in my interview so that I "
"could feel I've \"earned the privilege to work at your company\", I would "
"quit."
msgstr ""

msgid ""
"If your moral compass is so broken that you are comfortable mistreating me "
"while I'm a candidate, I immediately assume you will also mistreat me as an "
"employee, and that the company is not a good place to work, as [evil begets "
"stupidity](http://www.paulgraham.com/apple.html):"
msgstr ""

msgid ""
"But the other reason programmers are fussy, I think, is that evil begets "
"stupidity. An organization that wins by exercising power starts to lose the "
"ability to win by doing better work. And it's not fun for a smart person to "
"work in a place where the best ideas aren't the ones that win. I think the "
"reason Google embraced \"Don't be evil\" so eagerly was not so much to "
"impress the outside world as to inoculate themselves against arrogance."
msgstr ""

msgid ""
"Paul Graham goes beyond \"don't be evil\" with a better motto: \"[be "
"good](http://www.paulgraham.com/good.html)\"."
msgstr ""

msgid ""
"Abusing the asymmetric nature of an interview to increase the chance that "
"the candidate will accept the offer is, well, abusive. I doubt a solid team "
"can actually be built on such poor foundations, surrounded by such evil "
"measures."
msgstr ""

msgid ""
"And if you really want to give engineers \"the measure of whoever they're "
"going to be working with\", there are plenty of reasonable ways of doing it "
"that don't include performing fake interviews."
msgstr ""

msgid "Personality tests"
msgstr ""

msgid ""
"Personality tests around the world need to be a) translated, b) adapted and "
"c) validated. Even though a given test may be applicable and useful in a "
"country, this doesn't imply it will work for other countries."
msgstr ""

msgid ""
"Not only tests usually come with translation guidelines, but also its "
"applicability needs to be validated again after the translation and "
"adaptation is done to see if the test still measures what it is supposed to."
msgstr ""

msgid ""
"That is also true within the same language. If a test is shown to work in "
"England, it may not work in New Zealand, in spite of both speaking english. "
"The cultural context difference is influent to the point of invalidating a "
"test and making it be no longer valid."
msgstr ""

msgid ""
"Irregardless of the validity of the proposed \"big five\" personality test, "
"saying \"just use attributes x, y and z this test and you'll be fine\" is a "
"rough simplification, much like saying \"just use Raft for distributed "
"systems, after all it has been proven to work\" shows he throws all of that "
"background away."
msgstr ""

msgid ""
"So much as applying personality tests themselves is not a trivial task, and "
"psychologists do need special training to become able to effectively apply "
"one."
msgstr ""

msgid "More cargo culting"
msgstr ""

msgid ""
"He calls the ill-defined \"industry standard\" to be cargo-culting, but his "
"proposal isn't sound enough to not become one."
msgstr ""

msgid ""
"Even if the ideas were good, they aren't solid enough, or based on solid "
"enough things to make them stand out by themselves. Why is it that talent, "
"judgment and personality are required to determine the fitness of a good "
"candidate? Why not 2, 5, or 20 things? Why those specific 3? Why is talent "
"defined like that? Is it just because he found talent to be like that?"
msgstr ""

msgid ""
"Isn't that definitionally also [cargo-"
"culting](http://calteches.library.caltech.edu/51/2/CargoCult.htm)[^cargo-"
"culting-archive]? Isn't he just repeating whatever he found to work form "
"him, without understanding why?"
msgstr ""

msgid "What Feynman proposes is actually the opposite:"
msgstr ""

msgid ""
"In summary, the idea is to try to give **all** of the information to help "
"others to judge the value of your contribution; not just the information "
"that leads to judgment in one particular direction or another."
msgstr ""

msgid ""
"What Slava did was just another form of cargo culting, but this was one that"
" he believed to work."
msgstr ""

msgid ""
"[^cargo-culting-archive]: [Archived "
"version](https://web.archive.org/web/20201003090303/http://calteches.library.caltech.edu/51/2/CargoCult.htm)."
msgstr ""

msgid "What to do"
msgstr ""

msgid ""
"I will not give you a list of things that \"worked for me, thus they are "
"correct\". I won't either critique the current \"industry standard\", nor "
"what I've learned from interviewing engineers."
msgstr ""

msgid ""
"Instead, I'd like to invite you to learn from history, and from what other "
"professionals have to teach us."
msgstr ""

msgid ""
"Programming isn't an odd profession, where everything about it is different "
"from anything else. It is just another episode in the \"technology\" series,"
" which has seasons since before recorded history. It may be an episode where"
" things move a bit faster, but it is fundamentally the same."
msgstr ""

msgid ""
"So here is the key idea: what people did *before* software engineering?"
msgstr ""

msgid ""
"What hiring is like for engineers in other areas? Don't civil, electrical "
"and other types of engineering exist for much, much longer than software "
"engineering does? What have those centuries of accumulated experience "
"thought the world about technical hiring?"
msgstr ""

msgid ""
"What studies were performed on the different success rate of interviewing "
"strategies? What have they done right and what have they done wrong?"
msgstr ""

msgid ""
"What is the purpose of HR? Why do they even exist? Do we need them, and if "
"so, what for? What is the value they bring, since everybody insist on "
"building an HR department in their companies? Is the existence of HR another"
" form of cargo culting?"
msgstr ""

msgid ""
"What is industrial and organizational psychology? What is that field of "
"study? What do they specialize in? What have they learned since the "
"discipline appeared? What have they done right and wrong over history? Is is"
" the current academic consensus on that area? What is a hot debate topic in "
"academia on that area? What is the current bleeding edge of research? What "
"can they teach us about hiring? What can they teach us about technical "
"hiring?"
msgstr ""

msgid "Conclusion"
msgstr ""

msgid ""
"If all I've said makes me a \"no hire\" in the proposed framework, I'm "
"really glad."
msgstr ""

msgid ""
"This says less about my programming skills, and more about the employer's "
"world view, and I hope not to be fooled into applying for a company that "
"adopts this one."
msgstr ""

msgid ""
"Claiming to be selecting \"extraordinary engineers\" isn't an excuse to "
"reinvent the wheel, poorly."
msgstr ""