APIDesign.
Patterns. Refactoring. The Pragmatic Programmer: From Journeyman to Master. You’re a Pragmatic Programmer.
You aren’t wedded to any particular technology, but you have a broad enough background in the science, and your experience with practical projects allows you to choose good solutions in particular situations. Theory and practice combine to make you strong. You adjust your approach to suit the current circumstances and environment. And you do this continuously as the work progresses.