entrepreneurship the hidden side

This post is not to discourage you from being an entrepreneur, it is just to tell you about the other hidden part of entrepreneurship. People always discuss and highligh the outcome part (be it a success or a failure). Rare actually discuss the day to day routine.

How to design libraries

I wanted to write something about api design, how to design things that you and others can use. It went on debugging and refactoring with a slight mention at the end to a good design. I learned that all things break; every assumption you make will break. It is the natural process of system evolution. The idea is design for this. In microservices i often hear that term design for failure meaning that you have to consider failures as a factor in your system. Here the term could be quite the same, design for breaking the assumption.

A premiere on system design

We run noebs and it is by far the most feature complete payment middleware in Sudan. Noebs is used by different banks and other payment providers, in addition to us. This post is not about that, I want to discuss more on what is it like to build such a system.

On the joy of coding

I love coding and I’d argue it is one of the most joyful things to do–it has its rough edges, but still though. If you take joy out of programming it becomes a task, and people often times don’t love tasks, or the obligation there of.