The first week of May 2014 marks many wonderful occasions for me — not only personally, but professionally as well. Firstly, that particular week signifies my 2 3/4 anniversary with my current team at Marqeta, an incredible achievement to say the least! Secondly, this time of the year stands as a universal benchmark to reminisce upon my past failures and successes (it's very good to know how far you've grown). And finally, this occasion is yet another stepping stone, for me, as an iOS developer.
A Walk Down Memory Lane
Walking to lunch with a dear friend and business partner that Tuesday, we found ourselves discussing the leaps and bounds we've crossed since we've changed roles within the company nearly two years prior. His learning of advanced data analysis and machine learning algorithms, and my understanding of the Cocoa frameworks and creating a world-class iOS application with our respective teams. It was at that time when he asked what my favorite part of coding apps had been thus far.
I honestly just love the language! Objective-C is awesome!! It's like reading a book of how programs work.
Objective-C gave me the ability to use the artistic side of my brain to visualize distinct design patterns and schemas. The Xcode IDE color codes foundation classes and methods, so for a noob developer with a background in design, it was very easy to store this knowledge into memory. Blue meant something I needed to understand thoroughly. Green, code I had written. Red & violet, strings and other simple data objects. Pink, logical operators. Orange, preprocessors; white, variables or method definitions.
I instantly fell in love with the interface. It's like staring at a painting of code!
Now don't get me wrong, all of this terrified me when I first started coding for the Marqeta app. It took a while to put the pieces together and truly understand why I should follow certain practices. But now, I can look back and smile. The late nights, the endless refactors, the podcasts, the WWDC keynotes—all being absorbed into tiny scraps of knowledge that I can now repeat, on command, at a moment's notice! Funny how things work out.
In a minuscule moment of perpetual idleness between development cycles, I wanted to challenge myself as much as I did when I first started programming with the Objective-C language. So I set my sails for Core Data at full speed to see what I could come up with. In less than a week, we now have a fully functioning SDK utilizing Core Data models and data stores; complete with versioning and data migration.
If I were asked to do this even a month earlier, I probably would've been overwhelmed with internal questions or other forms of natural hesitation you would produce while you're fighting off an anxiety attack. But not now—I think Objective-C and I are at a turning point in our relationship. I understand her quirks, her bugs as she forces me to stay focused and overcome setbacks (most of which are formed in my own head). This cycle of appreciation allows my to respect the code and the processes behind it. Which in turn, gives me the strength to attempt what I would previously think to be unimaginable.
This is why Objective-C is my favorite language and very well may always be my #1. She gives me courage to keep trying, allowing me to fail gracefully and give it another shot. So far, it has worked out pretty well. And I can't wait to see what she holds for me next!