Only Just Because
Early on in my career, I valued learning Objective-C and iOS in general like a wild man. I consumed it all of the time, in and outside of school and later on, in my career. Being a freshly minted programming student and diving into one’s field is hardly an anomaly as it is paradigmatic.
But for me, the kicker is that it was exclusive learning: iOS or hit the road. If you think this is a post over regretting that, it’s not. But, I did learn something valuable about that approach later on.
And that was simply learning new things only just because.
What are you drawn to in the vast world of programming that doesn’t apply directly to your day job? Go learn things about it. I’ve never once regretted it. What I have done, though, is learn to appreciate new fields, discovered different approaches to old problems and most importantly, had a lot of fun.
Here’s some things I’ve learned lately that were not acutely in service of Cocoa Touch in any way.
Years and years ago, Swiftjective-C was born out of my desire to move on from Medium as a platform to write on. The only issue was that I had not written a lick of front end work in years. Even HTML 5 was brand new to me, and I got such a kick over learning new things like
<article> or the CSS Grid.
You’re here now, so you know I eventually figured it all out. But when I did my
second third redesign, I wanted to try the new shiny thing, Tailwind CSS.
Tailwind CSS opened my eyes to a utility first approach to writing CSS, and I adore it. Anytime I get to dream up something new for this site, I get excited now instead of loathing it.
Ruby is the most recent piece of tech that really grabbed me, you know? Like, you stay up way too late because you’re hacking on this new thing. And, it simply will not let you go.
I learned Ruby to come to grips with the popular web scraping project, Nokogiri. This was all in service of a project that not only shipped, but is alive and well today. This one was so rewarding because it took me back: I knew absolutely nothing about Ruby when I started on The Daily iOS.
What’s a rake file? How do you even execute a Ruby program? How do you make an array? Declare a variable?
It was all new, and I think that’s why I enjoyed it so much. Even though today, I’ve rewritten Scrapple in Swift and I’ve added a SwiftUI client, I have no regrets over spending nearly a month writing the initial version in Ruby. I remembered that I can learn new things fairly well, and as someone who spends most of his waking work and side project hours almost entirely in iOS, that was an encouraging “atta boy” for myself.
I flirt with Unity so dang much, you’d think we’d have a serious relationship by now. But hot dang, if the idea of making a game just isn’t so appealing, you know?
One thing I respect so much about indies, or really any game developer, is that it’s freaking hard. I thought calculating UIKit frames was tough, wait until you add the Z axis up in your code. My brain melts.
But goodness, whenever I boot up Unity, it’s like a dopamine hit. There just seems to be endless possibility, and browsing through the asset store and cooking up game ideas I’ll never execute on is a great time.
One of these days, maybe, one of these days I’ll actually ship something in it. But keeping my C# skills in tune is rewarding enough, and working in some code that is so far removed from anything I normally do is oddly refreshing and calming. It’s zen coding for me.
And we’ll end with another important lesson learned, and that is seeking to learn things that don’t directly relate to your career. The classic book, How To Win Friends & Influence People, is a gem. Working with people is a skill anyone can benefit from, and this classic text over the intricacies of human relationships remains one of the most influential books I’ve read.
One thing that I particularly liked thinking on1 was that people will probably enjoy and benefit much more from your help than your criticism. Right? And, you can do it with #ThisOneSimpleTrick™, which I use for parenting all the time.
Simply change your “but” to an “and”, and see the difference.
My oldest son has played basketball year round since he was only four (Go Dukes!). He was born for the hardwood and loves it. When he makes a mistake, I used to say things like “Yes, you made that shot, but you missed that lay up.” Now, given the same situation, I’d say “Yes you made that, and next time I bet you’ll get that lay up, too!”
One burns, one builds.
Learning is such a gift. It’s incredible the human mind was built in such a manner that it can continually expand itself. Some research has even shown synaptogenesis could be a direct result from simply trying new experiences or applying yourself to learning something new.
But remember, learning doesn’t have to be a means to an end. I’ve written often about my journey of trying to loosen up a bit in service of not trying to be accomplishing something all of the time. So, I’m getting better at learning stuff for no other reason except for the love of the game. Do that, and do it often.
Until next time ✌️
Especially as someone who was initially early on in their career when I read this, when I thought I knew a whole lot. ↩