Navigate back to the homepage

Reviving A 19 Year Old Test To See If An Employer Is Worth Working For

Aaron Decker
November 9th, 2019 · 4 min read
👋 Thanks for visiting the Alcamine blog. We're changing the way you look for a job in tech. Be sure to sign up at the bottom of the page to get early access!

Joel Spolsky (the guy responsible for Trello and Stack Overflow among other things), wrote an article on his blog about questions you should be asking potential employers as a software developer.

Talking to newer developers I realized that most of them have neither heard of this guy, nor of this set of questions. Not surprising since this famous blog post was written 19 years ago!

I think this test is still relevant and really will weed out some bad employers, but we should update it! Actually, wait it needs a ton of updates… This was written in the days when you went down to the store and had to physically buy software on disks! 🤢

OK, here is the original test:

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

The idea was, if an employer did all of these things then chances are they would be great to work for as a software developer. So this is a checklist to help you consider if a job is worth taking or not.

Is anyone not using source control?

What sounds outdated here? How about the source control, question - who doesn’t use source control? For that matter, who doesn’t use git? If they don’t use source control they are not doing any of this other stuff. How about the build step - people don’t build much desktop software anymore and we are not thinking much in terms of passing builds. The master branch should always pass tests and build!

Lets ask this to cover the question about builds: “Do you have a CI process in place?”.

And furthermore, maybe a more relevant question in the age of SaaS apps is this: “can you do one-click deploys?”. Or maybe even, “How fast can you deploy a hotfix”, that might get an interesting answer.

Do you fix bugs before writing new code?

This is a tricky question. I think most software projects have tons of outstanding issues that maybe can’t be fixed or are too hard to fix and you have worked around them. Again, this is more of the mindset of building desktop software you are going to ship in releases once a year and you fix the bugs before the next release… If you are working on a web application you care more about the bugs that are actively going to cause users trouble.

Maybe a better question is this: “How do you monitor you application for errors in production?”

Do you have a schedule?

I’m not exactly sure what he means here even. I think he is talking about when you did desktop software you were going to ship a certain set of features, and when you decide you are done you go mail off the CD-ROMs to your customers. 🤣

Let’s skip this, and the spec question, and ask about development methodology. Are they doing Agile, Scrum, Kanban? What?

Do programmers have quiet working conditions?

Keep this question! In my opinion open offices are the worst possible thing you can foist on developers. Really? Shove us all in a bullpen with people running around everywhere having loud conversations while we try to do a job that requires insane levels of concentrations. Really, that’s a good idea huh? 🤦

Do you use the best tools money can buy?

Here he is talking about things like nice chairs, servers and services. I think this is important but the most important things are basically free these days. You don’t need to buy specific compilers and editors. VSCode is free. You just need to hope your company got you a nice computer. Maybe ask about that if you are worried, but in my experience most companies are now getting devs new MacBook Pros.

Do you have testers?

I like having dedicated testers on my team but many places don’t anymore and if you have a good process in place for automated testing you can do just fine.

Instead I would ask this: “How do you test code before you deploy to prod”? Then you can decide if you like how they answer.

Do new candidates write code during their interview?

It makes a big difference if you work with good people or not. There is no substitute for seeing if somebody can code or not. You have to actually see it to know (in my opinion). I think this is still a good question to ask.

The answer is yes if the company does any of these things:

  • Take home test
  • Whiteboard problems
  • Pair programming problems

Do you do hallway usability testing?

This is again, about desktop software. You had to test with your users before you shipped the box of CD-ROMs to Circuit City (RIP⚰️).

Now, with web applications people use telemetry services to monitor users and track what they are doing, like Hotjar. You can set up A/B testing and see what users prefer, and you can do it at scale with real users in realtime.

Here is a better question: “How do you collect feedback from users and make design decisions?”

A proposed new set of questions:

  1. Do you have a CI process in place?
  2. Can you do one-click deploys?
  3. How do you track issues?
  4. How do you monitor you application for errors in production?
  5. What development methodology do you follow?
  6. Do programmers have quiet working conditions?
  7. How do you test code before you deploy to prod?
  8. Do new candidates write code during their interview?
  9. How do you collect feedback from users, and make design decisions?

Yeah, I know, originally you could simply say “YES” or “NO” to all of these so it was an easy metric to measure. Now, you get to judge if something is a “YES”, but it’s still pretty easy.

If you ask “What development methodology do you follow?”, and the answer is “We Don’t” - well then they fail that question!

I think it’s better that some of these are open ended. You can ask them in an interview and sound thoughtful. 🤔

Join our weekly newsletter where we break down how to land a great tech job in 2019.

Be the first to receive our latest content and early access to the Alcamine platform. We promise to not spam your inbox.

More articles from Alcamine

Shred It | Are Graphic Resumes Better?

Shred it - weekly resume reviews conducted by engineers. This week we look at a graphic resume and give our thoughts on if it's better than a traditional one.

November 5th, 2019 · 4 min read

5 Must Listen Web Dev Podcasts for Stallions and Code Newbies Alike

Skip the docs and go for these podcasts. These five shows will level up your web development skills.

November 4th, 2019 · 1 min read
© 2020 Alcamine
Link to $https://twitter.com/alcaminehqLink to $https://www.linkedin.com/company/alcamine