This Friday is the 35th anniversary of my start at Apple. I landed there in a summer intern job as an 18-year old, with a few years of Apple II hacking and a little community college under my belt; I didn’t even know it was an intern job until HR asked why I was still there in November, but my bosses Bob Martin & Taylor Pohlman smoothed things over, and I got to stay (Thanks, Bob & Taylor!).
I recently found a paper source code listing from my first project, a floppy-disk formatting library for Pascal written in 6502 assembly language. I haven’t done assembly language in a long time, but I was happy to see that I could still understand what all the tricky timing-sensitive code did, because my mentors John Arkley and Rick Auricchio taught me how important good comments are. (Nowadays, we write small methods and use variables with intention-revealing names - not so much with 8-character labels and the A, X, & Y registers on the 6502!)
My second year of that first Apple stint was on the Macintosh team, before Mac shipped in 1984. I learned so much from Andy, Bill, Larry, Donn, Bruce, Capps, Patti, Jerome, Susan, Randy, Steve, and the whole rest of the team, and you can imagine what an exciting time that was. I used something Capps taught me to help a teammate just a week ago!
Fast forward a bit (because you don’t want to hear about Advanced Logic Systems, Forethought, more Apple, Classifieds2000, Excite, @Home, Microsoft, or the Open Source Application Foundation) … it’s also been just about ten years since I started learning Ruby and working with the Rails framework. I’m a much better programmer because of the time I’ve spent using Ruby and Rails: largely because of test-driven development, and though I was aware of model-view-controller in the 80’s with Smalltalk, Rails was the first real environment I used that made it the easy path. I feel like I’ve matured a lot as a developer at the same time Ruby and Rails have matured.
I’ve been at CrowdCompass for about 15 months now. I joined CrowdCompass because I wanted to experience a more agile environment and focus more on mentoring. It’s been good in a lot of ways — I’m working with some very smart people, especially a number of wonderful more-junior developers — but there have also been frustrations, and my stress level has been higher than I want it.
So I’ve decided to take a breather. This Friday, July 1, will be my last day at CrowdCompass.
I’m not going to seek out a new job right away. I’ve taken a few breaks over the course of my career, and I’m taking another one now. I’ve been learning Elixir and Phoenix over the last several months, and I’m really enjoying it — I’m going to continue my learning (with side projects and open-source contributions), and I’ll be at ElixirConf in Orlando in September. I also want to pair with friends on side projects of all kinds, so if you’re into that, please get in touch.
This isn’t early retirement; I definitely want to work again, and have always said that I don’t really plan to retire, but I’ve also done the math and realize that normal retirement age is about a decade away. I’m going to take my time to find the right next role — who knows, it might not be day-to-day coding! — and I’ll let you know where I land.