DEV Community

Discussion on: 🌱 When did you really start learning to become a "software engineer"?

Collapse
 
sargalias profile image
Spyros Argalias

I started feeling like a proper software engineer after I learned the reasoning behind common programming principles and what makes good / clean code.

At one point in my job, I was wondering which approach would be best between two approaches proposed by me and another developer. I realised that I couldn't really make a strong argument for why one of them would be preferable. To me, that meant that I had gaps in my knowledge.

So I spent some time thinking about clean code and the reasoning behind it. I tried to reason about it from "first principles", as Elon Musk has also mentioned. Things like "what makes code easy to work with", "why is certain code easier to work with" (hint: it's because we, humans, have certain disadvantages that make certain things very difficult to work with), what are our limitations, what would result in optimal software development both in the short term and long term, etc.

So, from that, I learned the first principles of what makes good code. That was when, in my mind, I levelled up significantly as a programmer.

Now it's like, it doesn't matter what I don't know yet. I can learn it. New framework? No problem. Learning new things is basic programming teritory. New code pattern? No problem. It makes perfect sense if you understand clean code principles. Entirely new architecture pattern like top-down unidirectional architecture, MVC, hexagonal architecture? No problem, it follows from the basic programming principles.