How to Become an iOS Developer and Start Your Own Business

cover
15 Jun 2024

Kirill, 33 years old, iOS developer, never worked as a programmer, income from programming: 0.

So, why read this message?

I created my own VPN application for iOS – both backend and frontend. Currently, the app is available on the App Store, translated into 53 languages, and has 127 ratings worldwide. I want to tell you about a different way to earn money in IT:

  • without experience in IT (and working in a team)
  • without despised (by me) interviews

Let's start.

Background:

I worked and am still working in a company not related to programming. By the end of my 29th year, I changed jobs but suddenly realized that I didn't want to spend my life on jobs that irritated me, so I decided to try IT. I almost immediately realized that I wanted to study iOS -> Swift because the iPhone is always at hand, so developing applications for myself seemed like a cool idea.

In 3.5 years of studying to become an iOS developer (with an 11-month break), I encountered 4 mentors, the last of whom was Anton Nazarov. His sale of "successful success" with the response "for real" seemed convincing to me. For 8 months, he helped me study UIKit, and we wrote a test app together. In my opinion, this experience became a decisive factor in my further path, for which I am immensely grateful to him.

After finishing my lessons with the mentor, I started looking for my first interview. After composing a resume (together with Anton, in advance), I spent 3 days looking for a job, sending around 500 applications. Guess how many interview invitations I received? Correct, 0. After that, I decided, "screw it, I'll come up with a project and implement it myself." This is where the most interesting part began.

From idea to today.

  • In 5 days, I chose the theme of the application - a VPN app based on the modern WireGuard protocol.

  • In 1 month, I was able to launch a WireGuard VPN tunnel on my physical device, i.e., the app worked as a full-fledged VPN.

  • In 3 months, the backend on Swift with a database and the application itself (client part/front end) was ready.

  • In 5 months, I managed to open a developer account as an individual (in Russia), but it turned out that publishing VPNs is ONLY available to legal entities. I had to "find" a legal entity and open a developer account on it. After that, the first version of the app was published on the App Store.

  • In 7 months, I talked to one of my mentors (another mentor, not from Russia), and he suggested I change the design. The design was indeed terrible; it’s much better now, though still far from ideal.

And so, a year has passed.

The quality of the app has grown significantly. Servers have become much better and faster, the app is translated into 53 languages, and obfuscation (masking from blocks) has been implemented, which works excellently even with mobile operators. In recent months, I haven't received any negative reviews (they can be sent directly in the app under "Problem?").

Currently, a new company (foreign) has been registered to enable in-app purchases from Apple, but until this is done, the app is completely free.

My workday.

07:00 - woke up, took a bath, ate, and took the child to kindergarten

09:30 - meeting with a colleague at work, which means work has begun

15:00 - 18:00 - pick up the child from kindergarten, the main job ends, and I can finally start my favorite job

19:00 - by this time, I've usually eaten and rested for an hour, then I start thinking about what to do today, what I feel like doing at the moment. It can be anything:

  • finding new countries for VPN (including analyzing censorship in each country)
  • coming up with new features (new function, button, adding servers)
  • planning a new design
  • fixing bugs
  • analyzing countries with high censorship to translate the app into those languages
  • optimizing the iOS app (ASO) in the App Store (like SEO for the App Store)
  • creating a promotional video for the VPN
  • writing an article (like this one) to expand the app's audience
  • responding to user reviews/problems (rarely)
  • legal issues related to the company, bank account, developer account, server payments, etc.
  • setting up servers/writing Bash scripts together with "chat" for quick deployment

00:00 - finish the "main" work for/about the app and go to rest (e.g., read Habr, ask ChatGPT questions)

01:00 - go to bed

Why Did I Choose a VPN?

Surprisingly, creating a VPN application turned out to be much easier than I imagined, especially when you have an amazing assistant-mentor ChatGPT Plus.

How would I recommend starting your path in iOS development? Step 1: Vasily Usov's book (part 1, didn't like the second part) + all the free courses on the internet - study in parallel

Step 2: Mentor, mentor, and mentor again. Do a test project with them on UIKit or even just SwiftUI. Ideally, the mentor should be a senior (up to 20k/month, no more).

Step 3: Get a paid subscription to ChatGPT - this technology is like the internet and bitcoin - the future is behind them. The chat will become your best friend-mentor, cooler than Google.

In 1-2 years of smooth learning (combined with your main job), you can go for interviews or come up with your startup/product, as I did.

Main Conclusions of the Training:

  • I'm not stupid - studying is really EXTREMELY hard (daily psychological struggle with yourself).

  • Without a mentor, it's impossible to understand some things (everyone has their own).

  • While making the VPN, I was also looking for interviews/jobs - I haven't encountered a more nasty market (and I bought cars from unofficial dealers).

  • First, you need to understand the basics (the language itself + how to make a UI + OOP) - you will understand everything else from articles and ChatGPT Plus (without a mentor anymore)

  • Find an app in the App Store that you would like to make, find this app on Sensor Tower, and see how much it brings the authors monthly - be amazed - start making your version of this app.

  • While writing the app, I thought that in the process, I could get a job as a programmer, but that didn’t happen. Now that I've made my product from 0 to 1, I ask myself: "Why should I sell my time working on other people's products, given that I have a main job (as insurance), now I'm my own boss, and I have an app in the App Store?"

  • While I was striving to work for someone else, I didn't notice how I created my startup.

Advertising my app.

iVPN is a VPN application for iPhone, iPad, and Mac (with M-series processors). https://apps.apple.com/ru/app/ivpn/id6469724902

The app requires no registration, no ads, and is currently completely free. In the future, I plan to charge $2/month. Special thanks to everyone who read this article and to those who will rate it 5 stars in the App Store 🙂