I never thought of myself as either a “mere programmer” or “great engineer.” I worked for years learning, practicing, pushing to master the craft. I don’t believe anyone “is” a great engineer. Some people do exceptional work in the right circumstances. A lot depends on the team and the project. Don’t expect some transformation. You won’t find a formula or deep insight. Focus on continuous improvement and maintaining curiosity.
My job title is [software] engineer, but I will proudly refer to myself as a programmer. I program computers. It is my perspective that engineering is formal training and application thereof, while programming is a more fluid and artful craft, wherein engineering principles are discovered and applied naturally.