I was thinking on how many qualities you need to be a good software developer. I am talking of the best developer, or -at least- a very good one. I mean, you don’t need to be a star, do not need to be Messi; but you must be on that list of selected players that go to the championship.
Why am I thinking on that kind of developer?
Because I imagine a developer who loves his job and wants to be as good. So, he tries to go further and learns something new every day. It is a job, you will be paid, of course; however, you also had to train yourself and push harder and harder to get better all the time.
When you love something, you try to do more than your best. Please take note on this: You must try for you, only for you, who cares about the others could say.
If you are that kind of developer or want to be on the list of selected players like I mentioned before, you will understand what I mean.
But what do I need to be among the best?
Many of us, may think we need to go behind the last frameworks technology, or best practices, have an Apple computer or using Linux. These are just tools. The software developer best quality is problem solving.
Yes, it is as simple as that. And I tell you why.
Software development is part of Engineering. This is the practice of using natural science to solve technical problems, increase efficiency and productivity, and improve system (Definition copied and pasted from Wikipedia).
By definition, you will solve technical problems, or -more kind- will fix issues.
If you can develop this quality, you will always have job. It will not matter technologies changes or fashion frameworks. You won’t have to take care about AI, copilot or chat GPT. All of them are just tools. Humans have imagination, empathy, and emotions; tools don’t.
Does that mean that I don’t have to learn any language or framework?
Of course not. You need to be prepared.
If you want to be good at problem solving, you need many tools. The most you have the easier you will be successful.
Therefore, the only way to have tools in this job is you never stop learning. Any course you take is an important knowledge you will need.
However, we should never forget that our focus is to solving problems. We are not prophets of any framework. We are using them, not the other way around. Don’t forget they are just tools, not the law.
I love NextJS, but if I need to do it with a no-code tool because it is what my client needs, I will have to.
In any case, there are always more complex problems. Don’t worry. They will find you if you have the reputation of being so good.