I would go with the sort of answer that dodges anything concrete: It's not about which specific things you do, it's about doing things that seem scary and unfamiliar.
For some people, that means learning to write really tight low-level code for tiny hardware. For others, incorporating more advanced mathematical constructs. And for a third group, learning how to design a certain category of applications really well.
To round yourself out means not to stay within your comfort zone, but to attack the missing parts as well so that even if you aren't a master at those, you have working knowledge. This is also familiar to those who have studied drawing or playing musical instruments - there are many cases where you can get by with what you already know, but would do better if you took the time to study a technique in detail.
When Hickey says "you reset from zero" by only doing new things, he's specifically referring to repetitively relearning basic tasks in software development. That's the stuff that you're guided into looking at constantly because there are slick presentations and hypemen trying to get you to pick up their tool, and their tool has to look easier(i.e. more basic) than the other tool because that's the only way you'll pay attention to it.
If your approach involves something that is kind of challenging that you build from scratch, with new domain problems, that is a Good Thing and you'll surely get something out of it.
I would extend this further and suggest you challenge yourself by following your interests. If you happen upon a C++ graphics library that your favorite game is built upon, your curiosity will be enough to propel you forward and learn new things based purely on intrigue.
If ultimately you go the route of wanting to learn a particular programming paradigm, I would still encourage you to try to solve a problem that resonants with you personally. The problem itself becomes the method by which you learn programming and not the other way around.
For some people, that means learning to write really tight low-level code for tiny hardware. For others, incorporating more advanced mathematical constructs. And for a third group, learning how to design a certain category of applications really well.
To round yourself out means not to stay within your comfort zone, but to attack the missing parts as well so that even if you aren't a master at those, you have working knowledge. This is also familiar to those who have studied drawing or playing musical instruments - there are many cases where you can get by with what you already know, but would do better if you took the time to study a technique in detail.
When Hickey says "you reset from zero" by only doing new things, he's specifically referring to repetitively relearning basic tasks in software development. That's the stuff that you're guided into looking at constantly because there are slick presentations and hypemen trying to get you to pick up their tool, and their tool has to look easier(i.e. more basic) than the other tool because that's the only way you'll pay attention to it.
If your approach involves something that is kind of challenging that you build from scratch, with new domain problems, that is a Good Thing and you'll surely get something out of it.