software engineering

The Joel Test for 2017

You probably have heard about The Joel Test. This test helps you to determine how good a software team is. It was created almost 17 years ago by Joel Spolsky (currently CEO of StackOverflow).

The Joel 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?

A lot of changed since then. I created updated version for 2017.

The Joel Test for 2017:

  1. Do you fulfill all 12 requirements from The Joel Test?
  2. Do you have unit tests?
  3. Do you have integration tests?
  4. Are you doing Code Reviews?
  5. Do you have Continuous Integration?
  6. Do you have Continuous Delivery?
  7. Can you deploy new version every day?
  8. Is every area of “project specific expertise” covered by at least 2 people?
  9. Can you setup developer environment automatically?
  10. Can every developer run full test suite in less than 1 hour (locally or remotely)?
  11. Do you have telemetry and logging to reproduce users’ behavior?
  12. Are you making decisions based on data?

What is missing? Let me know in comments!

One Hacker Way by Erik Meijer

In 2014, Internets went loud after Erik Meijer’s talk One Hacker Way. I really liked this talk, because it made me think…actually even until today I didn’t figure out everything Erik meant. Unfortunately, most of people didn’t understand this talk.

In 2015, he gave the same talk again, but the rhetoric was way different. It’s more straight forward, and probably more people understood it.

tl;dr This talk is about approach to software engineering, patterns, practices, methodologies, career, and what makes great developer.

Let me know what you think in comments!