I'm Rodrigo Vilina 👋!

A Software Gardener and Mentor, using Rust and Ruby to build high quality software.

A picture of myself

The Basics, Part 0: Introduction

The Basics is a series of blog posts in which I address the most important topics that I consider to be basic knowledge in software development.

Please note that this is just my opinion, my view on things; I’m not trying to pass judgement, but rather share my thoughts on what I consider to be fundamental, this is ultimately an opinion, not a statement of truth; you are free to disagree!

These are the things that anyone intending to write software professionally should eventually learn, and are requirements for anyone wanting to call themselves anything other than a Junior. If you don’t have a firm grasp over these concepts, you might still be a Junior developer.

The topics I’ll be discussing in this series are, not necessarily in order:

Of particular interest are the two last topics, which in the last years have suffered from severe semantic drift, meaning that when most people talk about these topics, they are not talking of the real, original meaning of Agile or CI, but rather a confused and co-opted version of them.

If you know the real meaning of Agile and CI, and also have a firm grasp over the other topics mentioned, you are either already a Senior software developer, or you are in a good path to becoming one.