In college, I would add bells and whistles to my coding assignments. As any computer science degree-holder knows, most college projects are not incredibly applicable to the Real World (tm). But I like to think I was adding features to make the software work as a user expected it to work. I was learning unassigned lessons about user interface. I think the word for this is “passion” - I really loved programming during college.
Shortly after entering the corporate world, I quit my experimentation. There was no encouragement from within; no extra time offered for experimentation and growth. There was little tolerance for false starts and giving things a try. Strict up front planning was rampant. Annual education allotments were 24 hours, but I learned that gaming the system was preferred. Education options provided were a mix of Microsoft Word for Business, pursuing insurance and financial services designations, and a little morsel of technical stuff thrown in. All technical options were job-applicable to a fault. Again, experimentation was discouraged and deemed of very low value.
This is not to say I was forced into my ambivalence. New to the world of employment, I was easily swayed from the path I was on. Somehow I forgot what I loved about programming in order to “learn the ropes.” It was my responsibility to remain engaged in my career, and I failed for a long time to own up to that responsibility.
Over time I no longer even knew what technologies I could explore if I wanted to explore. Programming became a job in the sense that collecting money at a parking ramp or pounding nails is a job. I would leave work at work, which is something I encourage. But eventually I found leaving the tools for work at work was leading to a hole in my career. Something I was formerly so passionate about was becoming a negative, job-is-a-job part of my life.
Programming is a field where passion translates to practice and practice translates into success. One passionate at building eventually needs to stop pounding nails in order to progress in his career. In programming, you can have a very rewarding, and growing, career while writing code the whole time. In that sense, programming is more analogous to artistic and sports fields. It has been theorized that it takes 10 years just to get started in programming. The easy choice is to save tech learning for work hours. It’s an unfortunate decision because if one’s job does not provide enough time for practice, one misses the opportunity for success and fulfillment.
I entered this field precisely because of the changes inherent in the industry, an industry that grows and evolves somehow faster than I ever could. The rewarding choice was to embrace constant learning and position myself to benefit from it.