• Learning is a tricky balance.

    To get even moderately able at any new technique involves practice doing it, not simply reading. For this reason, I try to find a balance of trying out new techniques I learn, if not to solve a work problem, on my own time for my own skill development. But I also end up taking in a lot of information at a high level, but not learning the specifics because I simply do not have time to learn it, and will not have an opportunity to practice it.

    In those cases I work to learn enough to understand the concept and know the application, so that when an opportunity arises I can try it out.

    But even for the new techniques I could apply, there is still a battle to find the time to work with them. The developer/DBA is often a more scarce resource than CPU or memory or disk. So even if you know a new technique will be better, it is tricky to adopt if it will take you longer to develop and you have a lot on your plate. And it can be near impossible to apply this learning retroactively to things that have been implemented before.

    This is actually one of the more frustrating parts of incremental learning. You are constantly finding out how sub-optimal your old solution was, and rarely getting an opportunity to go back and fix it.