How do you know if you are a good programmer? There is no single criterion. This test provides some benchmark for your abilities. What other tools do you have to judge your own abilities?
There is a huge number of design patterns and numerical recipes of all sorts. Probably nobody knows and uses all of them, but the more you know the better is your programming literacy.
What did you learn lately?
We are living in very dynamic environment. Things change all the time. If you read tech blogs, there will be new things you will occasionally want to learn. Being always on top of the new developments, always learning new tricks is required to stay young and well-paid professional. This somewhat contradicts the typical job experience, and requires you to learn outside of the day job environment.
More often than not, our new job will be very much like our old job. How many years of experience do you have? How complex were the projects you coded? What kind of tools did you use?
How well do you know the platform you are using? Are you using intrinsic codes where needed? Do you optimize speed and memory? Can you port your code to other devices and operating systems?
Problem solving capabilities
When you will eventually look for a new job, they will give you riddles and watch how you solve them. Creativity and problem solving skills are kind of independent of your actual programming experience but they will help you solve your on-job problems and find a new job.
While knowing the right people is not a programming skill, being able to work in a team and having good people to work with increase your value for any employer or investor.
It is quite easy to benchmark yourself as a programmer, and it is also easy to improve this benchmark. We all have a day job, but increasingly we need to spend 20% of our time on things not related to the daily tasks.