Tech Reflect
  • Home
  • About This Site
  • Contact me
  • Search Icon
Buy a cactus, get hired

Buy a cactus, get hired

2022-04-18

Interviewing people at Apple was something I always enjoyed. It was a way to have a small, but important part of building the company.

I had a number of interview topics I liked to deploy. One of the most important to me was learning what software projects the candidate had accomplished that were not part of a class at school or a job. It was a big red flag if a candidate has no side projects, and learning about any side projects could reveal a tremendous amount about them.

In 2001, when I was on the Mail team, I interviewed a candidate, who I will call Felix, for a QA position on Address Book (now Contacts). In addition to testing experience, we wanted someone with excellent scripting ability.

We found people that were strong scripters, but lacked testing experience. Felix was the opposite: rather weak on scripting, but solid everywhere else.

The candidate put a link to his website on the résumé. Before the interview I poked around and found a page of scripts that he had written. They were mostly simple work-related geeky scripts.

One script caught my eye: cactus_watering.pl. It would connect to a weather server and get the daily rain forecast for Tuscon, AZ. If rain was expected, it would email anyone on the happy-cactus mailing list to tell them to water their cactus.

It’s always a positive sign for me when people post code they’ve written, no matter how impressive or unimpressive it is.

I loved it for so many reasons.

  1. I appreciate when people are not shy about publishing code they’ve written, even if they are not exactly revolutionary. They are allowing criticism as well as helping others learn things.
  2. Choosing a portable language like perl or python rather than a shell scripting language shows good programming choices.
  3. The script was nicely written and documented. It’s one thing to write a quick-and-dirty script; it’s another thing to write something for public consumption.
  4. I like when people see a need and try to find a software way to solve it. Felix could have easily just done a Google search and called it a day.
  5. Even though it was a fairly simple script, it did involve networking, text parsing, sending email to a mailing list, and daily scheduling for running the script.
  6. It showed a genuine sense of humor and an enjoyment for writing code.
  7. One of the best way to enhance your testing skills is to write code that you and others will use. This gives you insight into those that are writing the code you are testing.
  8. I felt like it gave an insight into his personality and helped determine whether he’d fit in well with the team.

Oh, and we ended up hiring Felix. He stayed for more than 15 years.


interviews

Post navigation

NEXT
Interview feedback and the Thumb-o-meter™
PREVIOUS
My interview questions
Comments are closed.

Get Monthly Updates

Recent Posts

  • Inserting random email sigs in Mail on iOS
  • Keep Instagram open to finish posting…
  • How I predicted the rise of Twitter, barely used it, and amassed 35,000 followers
  • Apple Books 2022, in pictures
  • Killing one bird with two-and-a-half stones in Mac OS X Mail

Categories

  • analog (1)
  • apple career (12)
  • apple inside (19)
  • apple stories (20)
  • bertrand serlet (3)
  • bugs (3)
  • essays (15)
  • geeky (21)
  • interviews (4)
  • iOS tips (4)
  • Mac OS X (7)
  • macOS tips (36)
  • personal (8)
  • predictions (1)
  • products (5)
  • prototypes (6)
  • scott forstall (7)
  • scripting (2)
  • siri (2)
  • steve jobs (16)
  • tim cook (1)
  • workplace (15)

Get Monthly Updates

About cricket


Me with Guiness the owl

25 years in tech. I like to write manifestos. I like to offer interesting tips. I like making fun of things. Everyone copes differently.

My Other Blogs

  • Free Range Parrots
  • Plucky Tree (personal)
© 2025   All Rights Reserved.