The vast majority of programmers write code after code, in fact they only remain seated in their work hours without having the notion of practicing a sport or some other discipline that allows them to acquire new skills.
It's easy to say that all it takes to be a good programmer is to know 100% some programming language, however you need to have some other skill to be great. I can not list everything a programmer needs, this part will tell you the most important skills (besides writing code) that you should work on if you want to be a good developer.
While certain media portray programming as an anti-social work, the reality is that it requires a lot of communication and teamwork. If you work for a company, you will be part of a development team and will expect you to communicate and work well with other people.
All this helps us to acquire new knowledge and learn new things that will not work in the work environment when we need that idea that could be provided by any of your colleagues on the work team.
Programmers certify that understanding a part of the code and following up on the solution is a great skill that novice programmers need. This is acquired largely in practice and more practice.
Having that ability to know the code by just observing it first, is like putting together a puzzle and knowing where the pieces go without anyone helping you.
Applied science is always progressing, and with it, the knowledge base of a programmer should evolve. If you want to remain notable in your work environment in this case as a developer, it is important to keep up with the new programming languages, software and hardware.
There are many things you can do to learn new skills quickly. If you understand that you will not be able to memorize everything, so having a good note system and creating indexes for books are good ways to stay organized and find the information you need.