Codementor Events

How I learned Swift

Published Apr 23, 2018
How I learned Swift

About me

I am a software engineer who started off in college, then branched off making my own mobile apps.

How I approached learning Swift

I flat out taught myself Swift. I used very minimal youtube videos and gained most of my experience through trial and error and digging deep into the documentation. However, I would not have been able to do this feat without the magic of StackOverflow.

Before knowing any thing about iPhone development, I had taken a C++ class and a couple Java classes in college so I was fairly familiar with the theory and common practices of computer science, however, mobile development seemed like a whole new world (though it was not at all). I began creating starter projects and became amazed at the work of Apple creating two new languages for their hardware. I was simply amazed.

This fascination grew deeper as I created my first app for the App store. It was a game app using only the Apple Sprite Kit , velocity, and nodes. Looking back, their were a lot of bad practices including memory leaks, over-laying tap gestures, and poor understanding of simple UIViewController classes.

However, seeing this app on the app store and having my friends download it was the spark to the software career I have now. I have dug deep into the nuances of Swift and Objective-c. I have built video based dating apps, built entire RESTful API's for two of my apps, and used countless other API's in my apps.

Challenges I faced

The learning curve for Swift may have been one of the hardest learning curves for me thus far. Simply because of the plethora of custom mobile classes Apple has implemented and the plethora of different ways to implement them.

Key takeaways

The one thing that I "learned" from this experience is "the ability to learn". I taught myself a skill. Similar to someone who would teach themselves how to play the piano, or ride a motorcycle, or build an engine. The art of learning maybe one of the most important things to master in our journey of self improvement. I spent hours, if not days, figuring problems out on my own; if I could not figure out the answer, I would not stop until I found the answer.

We as contributors to a society and not just software engineers, should always seek self improvement. The greatest leaders in history constantly strived for self improvement. I believe this is accomplished much easier when you master the art of learning.

Tips and advice

When learning anything, realize how little you know. Be vulnerable. Make mistakes. Do not stop until you find the answer. Do hard things! Enjoy that growing pain. Ask for help. Do not be afraid of failure, however, fail forward and fail with the purpose of succeeding.

Discover and read more posts from Adrian Humphrey
get started