The true learning is found in simplicity


prs

For a while now, I’ve been wondering about what I know of software development. Whether it’s knowledge that can and will be relevant in a few years, or whether it will become obsolete or replaced by the likes of LLMs. The truth is, I know very little, and it bothers me quite a bit. But talking to some people and reading what engineers with decades of experience have to say, they too wonder about this.

It’s a little hard to talk about keeping things simple when you’re starting from scratch, trying to build something or get a job. The fact is, if you follow the herd, they will always push you towards a magical solution with very little reflection on what you’re actually doing. True knowledge is hard to build and requires a lot of reflection, debate, and of course, practice. But is so much pragmatism necessary to learn the basics?

I did a test with some topics that I consider simple and fundamental for building any software nowadays. These include API development, simple CRUD with a database, database migration, structured logging, development environment using containers, unit testing, metrics, and CI/CD.

To do that, I need frameworks, fancy designs and all this cool stuff spread on the web? When you start to develop something, your first reference will be the internet, and all posts will tell you to use the latest and greatest tools, because it’s easier, faster, and more productive. But is it really? I don’t think so.

In the other hand, to find someone that creates the simple service that I describe above, it’s really fucking hard. Seems that everyone are trying to propose a better way to create things without even trying to use things as they are.

In the end, the final message that I would like to pass to me in the future is. Try to find a golden path between the hype and the fundamentals. Abstraction is very helpful, but the true learning is found in simplicity.