Systems | Development | Analytics | API | Testing

June 2020

Best Practices for Background Jobs in Elixir

Erlang & Elixir are ready for asynchronous work right off the bat. Generally speaking, background job systems aren’t needed as much as in other ecosystems but they still have their place for particular use cases. This post goes through a few best practices I often try to think of in advance when writing background jobs, so that I don’t hit some of the pain points that have hurt me multiple times in the past.

Git is About Communication

An SCM such as Git is more than just a database for source code. It’s not only the thing you need to interact with to get code to production, but also a log of changes on a project. It’s not just the last couple of weeks of commits that are worth looking at. Any commit remains relevant weeks, months and years later. A commit serves multiple purposes. The first one is to explain a change during its review and the second is to explain a change to a future reader.