Global Variables and States: Why So Much Hate?

Global variables are common pitfalls many developers fall into. Indeed, difficult to scale and maintain an application crippled with globals. Why is that? Isn't it convenient to be able to access variables and their values everywhere? The global state problem is only part of a bigger one, namely leaking states and the lack of encapsulation.

A Detailed Explanation of The KISS Principle in Software

Simplicity is one of the most important concept to understand and apply as a developer. This article will first define what simplicity and complexity mean. Then, I will explain why simplicity is really important, to finally go over the main practices you can apply to make your codebase simpler.

How to Learn a Programming Language in Three Steps

Learning a programming language is not easy, especially if you try to learn it passively. However, it can stretch your skills and show you a different way to approach software development. In this article, I share my method to learn a new programming language, even if you are a total beginner. It has been effective for me to learn my first language, C, then PHP and Golang in 2018!

The Art of Debating: A Useful Skill for Software Developer

We have tendency to forget that being a software developer means dealing all day long with humans. Interacting with others, communicating, explaining ideas, adapting to your team members are very, very important skills. As a developer, you will have to defend your ideas to your colleague: let's see together how to do so, with respect.