Sadly Joe Armstrong recently passed away. This is of course a big loss to the computer science community.
I would like to take this moment to highlight Joe’s Ph.D. thesis, “Making reliable distributed systems in the presence of software errors”. I would recommend this work to anyone that are involved in software development.
The thesis is a very valuable contribution since it covers more than 20 years of work and introduces some fundamental principles of building reliable systems. Joe describe not just the guiding principles but also introduces Erlang. All this is put into context by the reporting of several industry use-cases.
If you aim to be a quality developer, I strongly suggest that you make yourself aware of the actor model and how it relates to building robust distributed systems. It is absolutely not the only way, but one you should be aware of. As always, the more tools you are aware of, the more likely it is that you make a quality choice for the task at hand.