How and when did you get into programming? And into iOS?
I first got into programming in late summer of 2019. At the time I was working for a software startup in Chicago doing business development/strategy. It was a good experience but I struggled seeing what the longer term career trajectory would be so I began to explore other areas in tech with the hopes of finding a better overall fit.
Software development was something that had interested me for years but I never did much to try it out. I had a (false)perception that developers had an innate intelligence level, far beyond an average person like me, that made them suitable for the profession. But I decided it was the right time to give it a solid try to find out once and for all if there was anything there.
Like many people in the field today, it all started with googling "learn software development". Of course it was overwhelming to know where to start but I thought it made sense to pick one area to focus on. Having been a long time Apple fan and having read that Swift was a beginner friendly language, I targeted iOS development and started with Ray Wenderlich's beginner iOS course.
"I had a (false)perception that developers had an innate intelligence level, far beyond an average person like me, that made them suitable for the profession." this is pretty relatable. Years ago I thought that programming must be this complicated stuff suitable just for the math geniuses and then I tried it and it was pretty doable.
How was the learning in the beginning? Was it easy to grasp concepts like loops, objects, class/struct and similar?
I really enjoyed learning the basics. A lot of the initial concepts came fairly easy but I do remember struggling with some concepts like the idea of a reference type and instance methods. I tried to learn as much syntax as I could and would reference the Swift Programming Language Guide a lot.
What is really fun about the early days is that in one hour a night, you can increase your knowledge and understanding of Swift by 5-10%. Of course that cannot be sustained forever because topics become more advanced and it requires much more time to grasp a single new concept after you have the basics down.
However, graduating from learning syntax in a playground to actually building an Xcode project that runs in a simulator or on your phone is what got me hooked. There's just something about seeing your own project run that is deeply satisfying.
When you moved more towards actual iOS apps when learning were there concepts that were difficult to grasp in the beginning?
Yes I remember my first exposure to UIKit was pretty rough when I was learning on my own. The concept of view controllers, outlets, and tableviews were all very challenging for me at first. But as with most things in programming, effort + time can break through a lot of barriers.
What really accelerated my learning and understanding was when I quit my job to go to an iOS bootcamp. Before that I was just trying to learn on my own with the time and energy that was leftover after my full time job, family, and other things. And while I recommend initially starting that way before going all in, I knew for my personal situation it would take me years to learn the skills on my own with only ~10 hours a week available.
Going from 10 hours a week to 10+ hours a day for 3 months straight rapidly accelerated how much I could grasp. Of course there were still concepts that were tough for me like networking, auto layout, and core data but quitting my job to have a singular focus on learning iOS was a crucial aspect for me to learn the fundamentals.
You mentioned in your video that you sent over 500 job applications which is really big number. These were in Chicago or also in other parts of the US? Do you have an idea how many of these companies replied to you in any way?
Yes! Just over 500, and I have the trello cards and email confirmations to prove it 😝 I averaged about 90/month from the time my bootcamp ended. They were for positions that were in Chicago, fully remote(even beyond Covid), or positions in places that I'd be open to moving what at the time was most places that had iOS jobs. The first role of course is that hardest to get so I didn't want to limit my options.
As far as stats, I only heard back from 25% of my applications. Of that, 13 companies started me in their initial process which was usually an initial phone screen but sometimes straight to a coding challenge. Then I advanced to the final round for 3 of those companies before getting that coveted first offer 🤗
Between the 2 jobs I had previously, I think I applied to under 10 positions, so I remember being shocked when I first heard a developer say they had applied to over a hundred roles. But when I started applying it made more sense to me, in that many dev job applications end up being just a few clicks on indeed. Almost every job I was applying to wanted more than 0 years of experience(what I had) but it's still worth applying in the hopes that other aspects can offset the lack of experience.
My approach was to seek out any warm lead I had through connections as much as possible(quality) whenever there was an opportunity to do so, but after that I dumped as many cold applications as I could on top of that(quantity).
That's just wow. I can't imagine myself hearing (explicitly or implicitly) that many NOs honestly... But in the end it worked out for you. I just wanted to say congratz on landing your iOS job at CVS Health!
What was the interview process? Did they gave you take-home project? Do you have sense if your own apps in the App Store particularly helped?
Many thanks! 🙏 Some people in my bootcamp gave up after only a month or two of NOs, but the top two things I attribute it to are, my background in sales and my wife's support. Sales people can make a living off from hearing no >90% of the time and I think that experience allowed me to not take things personally, and to grasp how important it is to deeply understand the motivations and wants of an employer.
In addition to that I feel like I was set up well because I had full support from my significant other. Quitting my job and giving up income for an indefinite amount of time, plus the cost and time spent on the bootcamp, was not a small ask. But the simple fact that I was doing it for "us" was a huge motivator for me.
As far as the interview process for CVS, it was fairly quick. It was two 1 hour long interview sessions each with a different team member. You start as a contractor, which is a fairly common trend for a lot of companies in the states, but since there is less risk that way, it allows companies to move quicker if they want to, when compared to a full time employee hire.
My apps came up in both interviews and one of them I was told ahead of time to have code ready to share and part of the interview was going through parts of the code and actually live coding some changes. This was the first time I was asked to do something like that but I think it's a great way to assess a candidate in a short amount of time. In 15 minutes it gives good insight into how well you know your code, how you communicate about code, you're thought process on how you'd approach an update/problem, how you handle pressure, and more.
Aside from that, no take home, one basic algorithm question, and then the rest was all technical iOS questions. Looking back it's crazy how different each interview process is. Of course there are standard things to know but each company will care about and ask such a variety of different things making it hard to prepare for any one specific interview. For me getting reps in at different places really boosted my confidence along the way.
When you started at CVS, were there iOS topics that you needed to learn and in hindsight it would be good idea to study those a bit before applying for job?
Nothing too significant. The majority of the codebase is still objective-c which they told me ahead of time. Thankfully one whole week of my bootcamp was all objective-c, which at the time I really hated it but am thankful for it now. By the time I started the job, I had been learning iOS for over a year so I felt confident in my fundamentals knowing that there would be a lot of new (company dependent)stuff that I'd have to learn once I actually started.
What is like working at CVS? How many iOS devs are there? Do you work on a single app / feature or is it more flexible?
The entire mobile team is BIG. There are around 100 people on the mobile side of things and maybe 35% or so are iOS developer and the rest are android, scrum masters, product owners, and designers. I'm on the account team which handles all things around sign in, account creation, and account preferences.
We follow fairly standard scrum methodologies with two week sprints, assigned user stories, etc. Up until recently I had only ever worked on bugs and app stability stuff but I was just tasked with starting to build out from scratch, a complete UI redesign of the main sign in page. It was pretty mind blowing to create that new swift file(something I've done hundreds of times), knowing that millions of people will one day use it. My brain can't really handle numbers over a thousand but it certainly makes things exciting...and scary 😅
That's great stuff! Let's talk about YouTube. What was the motivation to start your channel? Did you have some big plan ready or was it more like, let's try a few videos and see?
The primary motivation was that I had just gone through this long journey from starting out not knowing anything about programming, to finally landing a developer job. When I started, there are so many unknowns both about how to acquire the technicals, and about what it looks like to land a job offer. Coming out on the other side, I believed I had lots of information that would have been helpful for me a year and half prior and so my hope is that by sharing it, people who are just starting out, or who are really struggling with their job hunt can take something tangible to make them better off.
When I was going through my own journey there were so many amazing resources and videos on the technical skills and how to learn iOS development. But what I learned is that possessing the skills does not mean you will land a job in 2021. I felt like there were more gaps in the job hunting strategy side of becoming an iOS developer and I hope by sharing some personal experience and tangible tips, that a few people are better equipped to achieve their iOS goals.
I'm passionate about iOS and never get tired of talking about it, so I went into 2021 with the a single goal of posting 52 videos. Regardless of views, I know that if I do that, some people who listen to my experiences/advice will feel more informed and also that I will in turn gain other skills such as communicating more effectively, video editing/production, and more. Still a lot more room to grow there but I enjoy learning those things.
What does your video setup look like? Any particularly helpful accessory or an app?
I'm a believer that the content is more important than the production quality, and anyone can get started with just a smart phone.
But the three things I've invested in since starting are a microphone (makes a huge improvement over relying on the phone audio), an RBG light (for background mood lighting), and Filmic pro (has pro camera features and allows me to remotely control my phone from an iPad when filming). Altogether these three things cost about $140 USD and provide a really solid "starter" setup without breaking the bank.
Here's a look at my current setup.
The new RGB addition is cool. I think this look at your setup can be really helpful for folks looking into starting with YouTube who think that you need super profi gear..
You have a magic wand... and can change one thing about iOS development. What?
I think it would be great if there were 1st party event based analytics we could use similar to Firebase analytics, Mixpanel, etc. No doubt Apple is capable of creating something like that, but I chuck it up to really smart people have decided there isn't enough of a business case for it. Implementing analytics with certain 3rd party libraries is pretty simple but I always prefer using 1st party solutions party when possible.
I was even stretching with that one because I'm still early on in my understanding of iOS development but I'm sure as I go deeper in certain areas that I'll be aware of more gaps but overall I'm really pleased with Swift, Apple, and iOS development. I'd take it any day over creating PowerPoints, spread sheets, and cold calling that all came with my previous jobs!
Yeah! That would be nice. Seems kind like a no-brainer if Apple wants to limit app tracking - give developers a good reason not to install Google SDKs.
To step away from iOS and code. What do you do to relax?
Outside of coding, I spend time with my wife and dog. We’re big into a game called spikeball and play in tournaments whenever possible. That’s my main competitive outlet.
I also love activities like freediving, surfing, and scuba diving but rarely get the opportunity to do them. But that is all about to change since I’m moving to Florida soon!
Thanks so much for taking the time! Do you want to give someone or something a shoutout?
Thank you Filip! It's been a pleasure.
Three quick shout outs to Fernando Olivares (@fromjrtosr), Ryan Kopinsky (@ryankopinsky), and James Haville (@jameshaville), all of whom are incredibly generous to the iOS community, create a wide variety of top notch content, and are super down to earth 🤘