In the US today we celebrate Thanksgiving, and I really feel thankful that I can be a programmer.
For over 33 years now I've been writing code professionally, never going more than 3 weeks without writing something. It's hard to imagine how many lines I've written.
There is nothing like the creativity, the discipline, the desire to learn, the ability to make something that started with nothing but a blank screen. I was accepted into a PhD program in Chemistry before I decided more school was not for me and got my first job in October of 1981.
Is there any job like this one? Where everything you know changes at an ever-increasing pace, where the challenges of programming never end, and the need to produce quality is a constant reminder. I can't remember a time when I didn't love what I got to do, even when circumstances were terrible, or companies failed out from under me. The jobs weren't always all that great or even stunk but I could always get satisfaction from seeing the code flow. Even living in an area where the work wasn't always easy to find and times were difficult, I always knew that there had to be a place for someone who could write good code even if it took a while to find the right one.
I love playing music and cooking and even writing blog posts but writing code is something special. You get to tell a freaking computer what to do and it does it! Sometimes too literally but still there is a feeling of power, of mastering knowledge, of making something from nothing that only programming can bring.
When I started computers were big and slow and ugly and today they fit in your pocket. Every change, every new technology or language or framework or OS or process or idea was fun to learn and sometimes master. If I didn't like this change I would have left a long time ago, but I still love the challenge of new. Keeping ahead of the technology steamroller (learn or be flattened) keeps getting tougher but I always can't wait to see what happens next. This business is so full of amazing people who keep coming up with stuff you could never imagine just last year. Nothing else is like it.
I had no clue what my career would be like 3 decades later, if I even thought about that then, when I started. Even though virtually everything is new today, the need to produce, to figure it out, to keep the quality high, to maybe even invent something no one else thought about, it's still the same job.
I've been able to work with awesome programmers and average, write award winning programs and stuff no one ever saw. I've seen jobs come and go, sometimes even fail from one minute to the next. Occasionally my work has been featured up on screens in a keynote and sometimes no one even knew what I did. I've written good stuff under enormous pressure when everyone around me was panicky and but also had the leisure to ensure every last thing was perfect. Every kind of program, business, environment, big companies and small, my own two little startups in the 80's and even Apple when it was almost out of business.
Programming is a hard job but it's much easier when you love what you are doing. I can't see it as just a job but a vocation. The moment I stop loving to code is the moment I leave.
For now though I'm just glad I have the chance to do this for a living. To paraphrase Ice Cube, Today Is A Good Day to be a programmer.