I write a newsletter about these topics every week-day. Below you'll find recent issues.

Learn software development's non obvious lessons

You'll receive an email every week day

My newsletter contains information about my products, offers, events, activities
and my company. Information about data privacy, revocation, logging as well as
the consent and the tracking of actions and behaviours regarding the
newsletter can be found in my
data privacy statement (in German).
By checking this box, you'll agree to these terms.

If you want to measure the complexity of your software, there is a lot of software, tools and software-as-a-service offerings available. These options can seem daunting and have a lot of onboarding time (the time it takes you to understand how to use them and get meaningful results).

If none of these things work for you, don’t despair. There is a simple way to get a high-level view on the complexity of your software. And it’s language-agnostic. It doesn’t care whether you write CSS, Ruby, Java or something else.

In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information.
(Source: Wikipedia.org)

You develop a web application that has a frontend for the users and a backend for the business logic and the data persistence. (This is a simplification, bear with me for a second.)
Your frontend accesses the data from the backend through an API that the backend provides. This is the first interface. It’s right there in its name Application Programming Interface. But let’s ignore that one for another second.
How does your frontend consume the API? Did you wrap the calls to the API in its own class in the frontend?

I bet that most people reading this won’t have UAT or QA. So what could you do to still achieve quality in the eyes of your users?

Yours users will spend more time with your software, like it and recommend it more, when they are happy using it. If we’re honest it might even be enough to make them not dislike the software. There is so much crap software out there, that people use to get their job done, that the bar is pretty low.

During the last months I wrote a lot about quality and how to develop high-quality software. These letters dealt with topics like linting your code, testing and documenting it.
I also wrote about the different perspectives and motives that might exist in your team.

But there is one view that I omitted more or less: The external view of your customers. They expect to receive and use your software. They expect it to be without bugs and to fulfill the role they “hired it for”.

I am an expert in writing and working with Ruby and Ruby on Rails. But today I was in a fortunate position to realise something: By now, I am language-agnostic. With one of my current clients, I am working with Node.js and Angular. There’s even some PHP in there. My client knew that I haven’t worked with any of these technologies before. Yet they wanted to have me anyway. Even for a price that was above their initial budget.

Holger Frohloff

Creating software and doing successful projects with my clients is what I do. I try to make the world better with every project and I only work on projects that have a shot at doing so --- even if it's just something small.