Signs That You are a Good Programmer
A good programmer understands that that they have to continue to learn and grow. They strive to do their best at every effort, admit to failures and learn from them.
The best programmers know and accept that there is more than one way to do things, that not every problem is a nail, and that because there is always a better way to do something than how they were planning on they constantly seek to learn new techniques, technologies, and understanding.
A good programmer loves to program and would do so in their spare time even if they already spend 80+ hours a week programming.
Instinct to Experiment First!
The compiler and runtime can often answer a question faster than a human. Rather than seek out a senior programmer and ask them “will it work if i do this?”, a good programmer will just try it and see if it works before bringing their problem to someone else.
Eager to Fix What isn’t Broken!
Programs are infrastructure: they are built to serve a specific need, but needs always change. Good programmers realize that hard-coded values buried in the code are bad and that it is priority to eliminate “code smells”
Programming i all about failing and trying again. With all that errors and bugs in your code, if you are not going to be patient, you can not become a good programmer. This is an important factor for anyone interested in programming.
Great Grasp of the Platform!
Most Programmers realize the short lifespan of their tools and don’t waste much of their lives memorizing what is doomed to be obsolete, but everything in this industry is a derivative of some earlier thing, sharing syntax and constraints. Know your tools and platform.
Fascinated by the Incomprehensible!
As a programmer you will fave many things that you don’t know how they work at all but you still should learn how to use them. In fact, it’s an inseparable part of programming. Every day you are going to see new challenges.
Emotional Detachment from Code and Design!
Although caring about the code you write and paying attention to its state and behavior is important, you should beware that its’s not a part of you. You use it when it is useful and throw it away when it no longer serves. That is how software evolve.