For a long time I have been using services such as CoderPad to interview Software Engineers.
Long time ago I was interviewed by Carey Nachenberg (Symantec, Google, UCLA prof) and the IDE was… a Google Doc. It was a torture, but in retrospect - I love the method. It aligns with my philosophy on competitive programming on paper first.
But today I am going to use something different. I am going to leverage a shared tmux session. Inspiration for this are Jeff Dean and Sanjay Ghemawat:
TL;DR: Jeff and Sanjay used
xterm
withshared tmux
and then of courseEmacs
. This in parallel with a Google Meet.
(source)
So my plan today is to:
- create an Azure VM with a public IP
- maybe: Standard D4s v3 (4 vcpus, 16 GiB memory) with Ubuntu 22.04
- prep:
sudo apt-get install gcc python emacs-nox vim
- start shared tmux:
tmux -S /tmp/interview
- for interviewer - ask interviewee for their public SSH key
cat ~/.ssh/id_rsa.pub
and put on new Ubuntu machine in/home/u/.ssh/authorized_keys
- then interviewee will
ssh u@interview.pluralist.net
and then attach to shared tmux withtmux -S /tmp/interivew a
- and if they are running iTerm -tmux -CC -S /tmp/interview a
- before the interviewee begins coding - get permission and run asciinema
sudo apt-get install asciinema
(available on Ubuntu 22.04)- start with
asciinema rec ~/.ascii/interview.cast
exit
to stop recordirg- scp to local host
- play with
asciinema play interview.cast
This solution may not be as pretty as CoderPad and needs a few extra chords or key strokes to compile and run, but it is in the hacker spirit and drastically cheaper ($0.20/hr). Arguably this tests interviewees’ ability and comfort level in the UNIX shell.