Johan Li

Articles

The store that kept on giving

The store that kept on giving

How an e-commerce store sent out 150,000 USD-worth of Steam keys in error.
November, 2022 · 5 min read
How not to design an SDK

How not to design an SDK

The JavaScript SDK v10 for Azure Blob Storage is a mess and an example of “object-oriented“ programming.
March, 2022 · 5 min read
Becoming an independent consultant

Becoming an independent consultant

Why do people take this path in Sweden? What are the general pitfalls and caveats?
February, 2022 · 5 min read
The rise of JavaScript frameworks

The rise of JavaScript frameworks

When starting a web application, we tend to — without second thought — pick from one of three frameworks. But what fundamental problems are these popular frameworks solving?
August, 2020 · 8 min read
How SQL injection prevention works, and why it’s still relevant

How SQL injection prevention works, and why it’s still relevant

Methods to prevent SQL injections have existed for decades. Why are they not extinct by now?
March, 2020 · 6 min read
Being considerate

Being considerate

Empathy is an important quality that I find lacking in software development. Here’s what a kid taught me, in the unlikeliest of circumstances.
February, 2020 · 3 min read
Cargo culting in software

Cargo culting in software

The dangers of copying successful people and companies, in the hopes of achieving the same success.
December, 2019 · 6 min read
Johan Li

About

I’m Johan Li, a full stack developer. I’ve worked 8 years doing web development, 3 of which were at Paradox Interactive.

Software development is a complex field. Our nature to think in absolutes can lead to disastrous, yet sometimes humorous, consequences. I aim to write about the nuances of software while sprinkling in facetious remarks.

I’m an independent consultant — if you’d like to hire me, reach out!

Stockholm, Sweden
hi@johan.li
LinkedIn iconGitHub icon