by Jordan LaGrone
How a lost kid went from failure to iOS developer against all the odds
Let me start by briefly stating my background. I graduated high school in 2012 knowing two things for certain: I wanted to play college basketball and I had no idea what I wanted to study in college.
Fortunately enough, I went on to college lucky enough to be given the chance to play college basketball with my mind made up that I was going to study psychology. I did and still do enjoy picking people’s brains and trying to understand what motivates one individual to behave the way they do.
But that’s not the whole story.
The Best of Times
Fast forward to May 2017 and suddenly I was preparing to receive my bachelor’s degree from a small school in the northern part of Illinois. As soon as I was handed that overrated piece of carbon copy I immediately realized that my days of getting by as a student-athlete had come to an abrupt halt. What was I to do now?
While I had a small feeling of accomplishment from obtaining a college diploma, it was already beginning to wane. I had NO idea what my next move was.
If I wanted to pursue a lucrative profession in my field of study I knew I would have to do at least two more years of school. That was not an option. I was completely burned out by my sophomore year of college, that the only thing that kept me enrolled and attending classes was basketball. I had to get decent grades if I wanted to continue to play. But I never really thought about the long game after basketball once school was over.
It wasn’t until I was driving back home after graduation that I discovered something I might actually be interested in pursuing: making mobile apps. I don’t remember the exact train of thought I was in that made me decide I wanted to make mobile apps. I believe I was just scrolling on my iPhone through some app and the idea just popped in my head, “This app sure is convenient! Wait… can I make my own app?”.
Sure enough, after hours of research, I determined indeed I could create my own apps (without needing any type of degree). After some deep thought I decided that I wanted to give it a shot and learn mobile development to see if I could make it my profession. But the first thing I needed to ask myself before I started coding was what tools did I need in order to start creating mobile apps.
The Beginning of the End
There were three things I quickly realized I needed: a computer, the ability to code, and the platform I wanted to build on.
I had a computer so I immediately checked that off the list. I figured since I was an Apple product owner and most of the people I know use an iPhone, it’d make sense I build apps for the iOS platform (iPhone’s Operating System).
But I had no freakin clue how to code. Believe it or not I had actually taken a computer programming class my junior year of college (I think it was a Java course) and failed the class with flying colors. Yes you read that correctly, the guy who turned out to be a iOS developer failed (by academic standards) at the subject that he now have a deep passion for.
Not only did I fail the class but I vividly remember dreading to go to that class so bad because I knew it was a waste of time. From day one I was lost listening to the professor’s lecture thinking to myself “What the hell is an array? And why does this man keep talking about loops and floats?”.
On top of that, what made the situation even worse was that I needed to pass the course to stay eligible to play ball. Consequently, since I failed the course, I eventually had to take a summer course to make up for it and regain my eligibility status (luckily the make-up summer course I took, History in Art, was a complete cakewalk and the easiest “A” I ever received).
Fast forward two and half years later, and most people would’ve thought I was crazy for trying to make a career out of something that I had no background in. But I was determined to prove my naysayers, my doubters, and even myself wrong.
So I did just that. For the next couple of months, I locked myself in my basement and spent HOURS upon HOURS upon even more HOURS reading recommended blogs and educational books, watching tutorial videos on YouTube (I highly recommend this guy if you are just starting off), and listening to all types of software development podcasts in order to soak up as much information as possible. I drowned myself in the mobile app development world with multiple mobile programming resources and gained a “sink or swim” mentality and a head-first approach.
It was pretty simple: either I was going to accomplish my goal of learning how to develop mobile apps or I was going to give up, waste all the time I invested in myself, and find a regular 9–5. But like I said before, failure was NOT an option.
Well I’ll Be Damned
Then one day something strange happened: things started to come together. After compiling a bundle of mobile development resources over time, it became easier to see which learning techniques worked for me.
Everybody learns differently. Some learn best by reading, others by doing, observing, or teaching, and some by listening. Figuring out the best way you learn is crucial in increasing the pace at which you begin to understand new topics. I figured out the best way I learned new things was by being explained something once, then actually trying to do that thing.
For example, I could read all day on how to program a timer in a iOS app, but that would do me no good unless I actually tried to implement a timer with code myself. I quickly figured out the best way I learned new things was by doing and observing. It was not until I stopped trying to soak up every piece of information and actually started coding myself that I fully started to understand how mobile development works.
YouTube videos like this one were vital in helping shape my new found perspective and keeping a positive outlook. This tutorial here was critical in the early stages of my learning, because it was visually implementing the teachings and concepts I had trouble understanding in this book.
Then suddenly I was coming up with potential ideas for my own beginner project (which turned out to be a quiz app, something I highly recommend as a first project).
Then before I knew it I was finally starting to comprehend other programmatic concepts (such as types, extensions, arrays, delegation, auto-layout, and the MVC pattern) and techniques. I even got to a point where I was implementing third-party API’s, BaaS, and databases inside my apps!
Then the next thing I knew I was starting to understand source control and the usefulness of the command line. This all wasn’t on accident either. I had previously ABSOLUTELY NO coding experience. Zip, zero, zilch, nada. I had never written a line of code before July of 2017. So how was I picking up these subjects so swiftly (pun intended)?
All this newly acquired knowledge about mobile development was a direct result of capitalizing on how I learned best. I could not tell you what the difference was between a constant and a variable in programming before I forced myself in front of a computer screen and started to write some code.
Skip to the last quarter of 2018, I have an app on the Apple App Store and I am currently in the process of getting my second one approved. How? By gathering all the relevant resources I could and engaging them all until I figured out which ones worked for me. I’ll be the first to admit that being a fluent reader is a must-have skill for learning any topic, but I do not think being a good reader is always the most important skill to have when it comes to learning. Everyone learns differently.
The most important advice I can give to someone trying to pick up mobile development (or any type of software development skill) is to find out what makes you understand things not just in the quickest sense, but the most efficient way.
Are you someone who needs to have something be demonstrated to you a couple of times in order for you to comprehend it? Or are you a person who listens well and is capable of breaking down concepts word for word? Find out what which learning methods suit you best, then apply them.
“Success consists of going from failure to failure without loss of enthusiasm.” — Winston Churchill
Failure: The Main Ingredient To Success
The most accomplished individuals in life are often the ones who have failed. One of my favorite sayings is, “You can’t be a boss, until you take a loss” and it isn’t hard to understand why. In order to learn how to win you must learn how to lose.
Many people resist the idea of entering the world of mobile development because they are afraid to fail. The sole point of sharing my experience of making the transition into mobile development with you is to show others who are also making the transition that you are NOT ALONE.
Every successful person at one point or another has felt incompetent and has failed, but that feeling of despair and setback is only temporary and minute in the grand scheme of things. You too can learn how to get your own app on the App Store, regardless if you think you’re capable of doing so or not, by understanding how you learn best and by being dedicated.
It ultimately comes down to how badly do you really want it. Take it from someone who failed a computer programming class and once thought that coding was something only done by “hackers” (boy was I close-minded during college).
I now accept the fact that that is the furthest thing from the truth. Coding is for anyone who has a innate desire to create tools and products that help society function more smoothly.
Don’t think it’s all sweet though, because it was not easy by any means. That’s ok though, because nothing in life worth having comes easily.
Again, the reason I am sharing my story with you is to inspire you. My story isn’t an uncommon one. In fact, many people come from non-tech related backgrounds and make the transition into software development.
However, my story is unusual simply because I legit FAILED and once resented the thing I now enjoy to do every day. I am living proof that an early lack of interest and initial failure is OK! If you want to be successful in any area of life you are required to fail — there is no way around it. Because failing is a prerequisite to success.
If you still do not think failure is a precursor to success then read this article and tell me afterwards if you feel the same way about failure. What gets me through tough times and keeps me staying persistent during moments of failure is to just stop and breathe. Take a step back and look at where you started versus where you are now. Perspective is key.
It’s estimated only 3.4% of high school basketball players continue to play in the NCAA. I tell myself often if I could overcome the obstacles needed to become a college basketball player then I could eventually achieve success as a mobile developer. If I could overcome those odds just by working hard in the gym and giving the constant maximum effort on the basketball court, then I believed I could do the same with mobile development if I implemented the same work ethic.
And you can do it too. All you need to do is recognize and determine the most effective learning methods that suit you individually, apply those learning methods constantly to the discipline you desire to understand, and remind yourself daily that, “You can’t be a boss, until you take a loss”.
I appreciate you taking some time out your busy day to read this.
If you found this post enlightening, feel free to share.
Follow my iOS developer journey here on Twitter.