Comparing how you think about programming now with how you thought when you were starting out, what is the biggest change in your thinking?
My career has progressed through phases that I only recognized when I set out to remember every program I ever wrote. See Coding Portfolio
Acquiring Mastery Phase: As a student, my programs were mostly about abstractions and representing those abstractions. Hoever, they were not complete until I had shown them to my friends.
Sharing the Knowledge Phase: I left research to work for hire. This established bounds and a different sort of expectation. But I always felt entitled to create outside the bounds when it served the greater goals of a project.
Distinguished Positions Phase: I continue to code in many languages. Programming has never been easier but we still find ways to make it hard. My reputation opens doors but my chosen medium, programming, confuses those who invite me in.
Some of the most important changes in the field are of my own doing. I noticed many small mistakes in how we thought of programming. These compounded and made it hard to correct any one. I set out to change them all with the help of many. See Becoming an Activist
I meet people who feel that programming has already left them behind even at half my age. I remind them that the latest technology may seem like the same old thing with the names changed just to confuse but that there are new things and their job is to find them and show how old problems are transformed and new problems now have solutions within reach.