Flying into the Future of Coding
"The first time I ever saw a jet, I shot it down." Chuck Yeager
A main reason why Technical Interviewing is Broken is the mismatch between the evaluation methods and the skills that are ultimately needed for the job. Simon Pitt in One Zero wonders if the job isn’t the hard part any more (emphasis mine):
The strange thing is, software developer job interviews are known to be intellectually challenging, taxing gauntlets, where applicants write complex algorithms from memory on whiteboards and puzzle through geometry and recursion. We hire people for a career of advanced, difficult work. Yet, once in post, the difficult work seems to dry up. Instead, developers find themselves editing <div>s for fussy clients. What about those difficult problems? It turns out they’re so difficult it’s not even worth trying. Either install a package someone else has written, buy a third-party service, or don’t bother. Don’t write your own framework. Don’t write your own crypto. Don’t write your own CMS. Don’t write your own JSON parser. The list of things we shouldn’t write goes on. “The best code,” writes Jeff Atwood, one of the creators of Stack Overflow, “is no code at all.” Maybe we shouldn’t even be writing code anymore.
Welcome then, this week in limited release, Github Copilot which is essentially the next generation of code auto-complete with generated code snippets synthesized via OpenAI, all easily integrated directly into VSCode [Dave Gershgorn in Verge].
Sure, developers have been watching low-code tools gather momentum, but they snicker at their limitations and rudimentary interfaces. You can definitely build Dummies-grade utilities with a well-defined spec and a jigsaw puzzle interface, but “real code” is multi-dimensional with the complexity of Finegan’s Wake written in scriptura continua whilst typing one-handed in this week’s stable release of NeoVim. Right?
But Copilot is an aptly named tool for developers — it’s a leap ahead over existing products that largely provide contextual documentation, and instead works to provide code snippets or boilerplate that you have to read and review, much like suggestions when composing in Gmail. Watch and listen to the squeals of delight during a demo of Copilot in action with devs [YouTube]. Could this be the beginning of the end of the newsletter Technical Interview is Broken, as we-won’t-need-to-interview-no-stinkin’-developers any more?
Well, honestly, no, at least not yet. Copilot, and others of the same ilk, will help generate (and standardize) code. And libraries already remove and abstract a lot of the production of raw code, but the security implications are far from a solved problem [Thomas Claburn in The Register this week on Microsoft signing malware]. Cranking out code is just the first step, and that is getting easier and easier — but operationalizing it to run reliably and remain maintainable and extensible is a next order challenge, and one that inevitably breaks beyond the bounds of the code within your IDE window to require collaborating with others. And assessing skills for these challenges is markedly more difficult in the modern-day interviewing process. I will live to newsletter for another day.
Tools and technology move quickly: Orville Wright, inventor of the airplane (1903), was alive when Chuck Yeager broke the speed of sound (1947). We can’t imagine judging the flying skills of a post-World War II fighter pilot by asking them to repair a winged bicycle, can we?
The Bullet Points for July 3, 2021 — Recent News and Articles
On Interviewing
A research paper from NC State + Microsoft researchers: “Does Stress Impact Technical Interview Performance?” (emphasis mine):
To understand if coding interviews—as administered today—can induce stress that significantly hinders performance, we conducted a randomized controlled trial with 48 Computer Science students, comparing them in private and public whiteboard settings. We found that performance is reduced by more than half, by simply being watched by an interviewer.
We also observed that stress and cognitive load were significantly higher in a traditional technical interview when compared with our private interview.
Consequently, interviewers may be filtering out qualified candidates by confounding assessment of problem-solving ability with unnecessary stress.
Not specific to interviewing developers, but worthy of highlight:
Opaque hiring algorithms: “Two of the biggest predictors of performance were having played high school lacrosse or being named Jared.” [Anthony Green in MIT Tech Review, podcast w/transcription]
A Tik-Tok like interview: Tampa marketing firm asks for a 2 min intro video instead of a resume from entry-level candidates [Michael Paluska in ABC Action News]
Graduates are facing bizarre interview questions [Caitlin Tilley in Vice]. (Sounds like the old tech Product Manager interviewing playbook has made it out to the real world)
On Management and the Workplace
Owen Hughes in Tech Republic notes the current shortage of resources and developers — in the midst of a global movement of business digitalization forced by quarantine — has raised managerial concerns about “developer wellbeing”. A survey found 73% of North American business leaders are either concerned or extremely concerned about developer wellbeing.
And on the notion of burnout:
Mara Calvello in G2 Learn Hub covers the various stages of work-related stress.
Legal protections for work-life balance in the UK unlikely, says Danny Bradbury in The Register.
“It’s insanity. We’ve never seen the demand so high for top tech talent.” Rani Molla in Vox/Recode on the push from workers for remote work amidst a spike in resignations. What are companies doing to compete? Signing bonuses, AirBnB “jam sessions”, says Sophia Kunthara in Crunchbase.
Build stronger software teams by improving the psychological safety of their work environment [Mike Duskis in InfoQ]
On Diversity
LeadDev panel discussion [video] on how to avoid overlooking candidates from different backgrounds with different journeys into tech.
With the right strategy and resources, companies can support the development of future technologists from all backgrounds — or train them directly [Michael Butler in Technically]. Similarly, how in-house developer training programs are booming [Anisah Osman Britton in Sifted/FT]
Combating rampant ageism [Donald Thompson in WRAL Tech Wire]; and on unconscious bias, in a survey called the STEM returners index: “Overall 40 percent said they experienced bias due to lack of recent experience, while 37 percent felt they experienced bias due to their age.” [The Engineer (UK)]
A Built-In primer on inclusive leadership for tech companies [Sunny Betz builtin.com, registration req.]
🎆 Happy 4th of July, readers, celebrate however you do - hot dogs and beer and parades — or with Fireworks, Boulez conducting Stravinsky.