Classic Computer Science Problems in Python

I really enjoyed Classic Computer Science Problems in Python by David Kopec. It covers many different problems I hadn’t read detailed explanations of before. For example: neural networks, constraint-satisfaction problems, genetic algorithms and the minimax algorithm. Unlike many other books on algorithms and programming problems, this one builds up complete (but small) programs that are easy to explore on your own.

Continue reading

When TDD Is Not a Good Fit

I like to use Test-Driven Development (TDD) when coding. However, in some circumstances, TDD is more of a hinderance than a help. This happens when how to solve the problem is not clear. Then it is better to first write a solution and evaluate if it solves the problem. Writing tests only makes sense after the solution is viable. Continue reading

Recruiting Software Developers – Checking Out a Company

I often get contacted by recruiters asking if I am interested in changing company. Even if I am happy where I am, I briefly check out companies I have not heard of before. One reason is that you never know, maybe the new company is a fantastic opportunity that really is interesting to me. Another reason is that I don’t know how things will change – maybe I will want to change in a year’s time or so. These are the things I check when I am trying to evaluate a company I haven’t come across before.

Continue reading

Book Review: Designing Data-Intensive Applications

What a great book Designing Data-Intensive Applications is! It covers databases and distributed systems in clear language, great detail and without any fluff. I particularly like that the author Martin Kleppmann knows the theory very well, but also seems to have a lot of practical experience of the types of systems he describes.

Continue reading

Nordic Testing Days Tallinn 2019

At the end of May I attended Nordic Testing Days in Tallinn, Estonia. It was the first time I spoke at a conference outside of Sweden, and I had a great time. There was one day with tutorials, and two days with workshops and regular half hour talks. Here are my impressions: Continue reading

Book review: Accelerate

The book Accelerate details the findings of four years of research on how DevOps affects various outcomes, such as software delivery tempo and stability, as well as the organizations’ profitability and market share. DevOps in this context means things like continuous delivery, automated tests, trunk-based development, and proactive monitoring of system health. It is quite clear that DevOps practices bring lots of benefits to organizations adopting them. The research findings are also in line with my own experience of DevOps.

Continue reading

More Good Programming Quotes, Part 3

I like good programming quotes. Here are some new ones I have found since my last posts.

Complexity

“Why do people find DNS so difficult? It’s just cache invalidation and naming things.” – @jdu Continue reading