I don't think there's any good reductionist way to measure how good you are at programming. There are a number of good programming principles that you can consciously choose to practice, and if you practice all of them, you are probably good at programming (not necessarily amazing, but at least good). SOLID architecture is a decent place to start.
If you need a quick self-check, though, one of my favorite questions is: "Do I understand why this code works?" or "Do I understand why this code doesn't work?" Anyone can write working code by accident (or by trial and error) but good programmers write working code intentionally. These questions are especially powerful when you're reading code written by someone who is much more experienced than you are. You may not know if you're a good programmer, but you probably know if someone is significantly better at it than you are. If you can understand how they got from A to B, you're one step closer to being as good as they are.
I don't think there's any good reductionist way to measure how good you are at programming. There are a number of good programming principles that you can consciously choose to practice, and if you practice all of them, you are probably good at programming (not necessarily amazing, but at least good). SOLID architecture is a decent place to start.
If you need a quick self-check, though, one of my favorite questions is: "Do I understand why this code works?" or "Do I understand why this code doesn't work?" Anyone can write working code by accident (or by trial and error) but good programmers write working code intentionally. These questions are especially powerful when you're reading code written by someone who is much more experienced than you are. You may not know if you're a good programmer, but you probably know if someone is significantly better at it than you are. If you can understand how they got from A to B, you're one step closer to being as good as they are.
Yeah, I definitely agree with this.
Totally agree.