How to Be a Mobile App Developer

Photo by Stanley Dai on Unsplash

Being a mobile apps developer for over 10 years, I used to get a question from young people that what path should I follow to start my career as a mobile apps developer.

As there are so many choices it’s confusing from where to start to become a mobile application developer. No one solution fits all. Today I will discuss an overall guideline to become a mobile apps developer based on my experience.

I started my career as a web developer in 2008, but in 2010 I started my career as a mobile apps developer. Since then, I created my own mobile app business, completed some freelance projects, and worked for some companies to develop their mobile apps.

Currently, I am working full time for an American company where I am leading a team and developing a native iOS mobile application. In my career, I developed native iOS, native android, react-native, and flutter framework based apps.

You can listen to this post as a podcast.

So if you want to start your career as a mobile apps developer I suggest you follow these 10 steps:

1. Select a platform either iOS or Android

I still believe, to start a career as a mobile apps developer it is best to learn how to develop native apps. This experience helps a lot when we use hybrid frameworks like Flutter or React-Native. So in the first step, I recommend selecting a native platform.

2. Learn Swift or Kotlin languages based on your first choice

If you decide to go for iOS then start learning the Swift programming language. Nowadays, people use less Objective-C language to develop iOS apps. Even Apple’s new framework SwiftUI doesn’t support Objective-C language. If you later join a company where they have an existing iOS app, they may have some Objective-C code. So on the way in your career, you may also need to learn Objective-C.

If you decided to go for Android, then learning Kotlin programming is the best option. Still or in some cases you may need to know Java programming language, but if you are a beginner it’s better to learn Kotlin. Even Google recommends using Kotlin as much as you can.

3. Learn Apps Development

Learning a programming language will not make you an apps developer. After learning the fundamentals and some advanced concepts of a particular programming language, you have to learn how to develop apps.

You can follow official tutorials, youtube videos, Udemy courses, or buy books to learn apps development on your target platform. On the way, you will learn, most of the things necessary to develop apps.

4. Develop & Deploy Apps from beginning to app or play store

Unless you start an app from scratch and deploy it to the app or play store, you will not figure out many things. Some caveats and configurations need to solve during deployment. So I always recommend people, after learning a particular platform you must develop some apps and deploy them to the store.

5. Create Portfolios of apps

If you want to start jobs or want to do freelance works you need to showcase some portfolio apps to your potential employers. So create some apps with mixed features and publish them to the store. If for any reason you don’t or couldn’t publish the apps, you may publish your apps as open-source so that other people even potential employers can check your work.

6. Learn Other Platform based on your first choice

Once you start your career and able to make some free time, then you should start to learn the other platform based on your first choice. That means if you started iOS development first at this stage learn native Android apps development. It will help you to understand the fundamental difference between iOS and Android platforms. Also sometimes it adds more value in the portfolio.

If possible, after gaining some fundamental knowledge, you can explore a hybrid framework like React-Native or Flutter. On the internet, you will get lots of biased and unbiased opinions. It’s always best, to make hands dirty with technology before moving forward.

7. Make a Career Plan that what you want to be

You should evaluate what you want to be:

  • Native Apps Developer or
  • Hybrid Apps Developer

The decision shouldn’t be biased rather, it should be based on facts. Like how many jobs or freelance contracts are available. Which framework is most stable. Which has long term sustainability, etc?

8. Startup companies or Big companies

Startup companies mostly look for cross-platform apps whereas corporate companies look for native apps.

Though it is not always happening. But I mostly see startup companies or small projects owner prefer hybrid apps development. Though many startup companies prefer native apps development for long term sustainability or maintainability.

If you want to stick with one platform either iOS or Android, and you want to tag yourself:

  • Expert iOS Developer or
  • Expert Android Developer

Then you do not need to learn both platforms. If you want to work on big companies, in most cases they have dedicated iOS and android developers. So you can prepare yourself by sticking with one platform and work for them.

But If you want to work for small to medium companies, startup companies and want to do some freelance projects, then you should have knowledge in both iOS and Android platforms with some hybrid framework experience. As the market changes frequently so you should keep your eyes open to the market changes.

9. Learn React-Native or Flutter if you want to explore more opportunity

React-Native and Flutter are two popular frameworks to develop cross-platform mobile apps based on one codebase. React-Native is a bit more popular than Flutter as it came earlier. But personally, I found, it’s easier to develop apps using Flutter than React-Native.

Though there are pros and cons are in both frameworks, but if you want to target small, medium, startup companies or want to do freelance projects, you should learn either React-Native or Flutter.

10. Native Knowledge is helpful in cross-platform mobile apps development

A few weeks ago, I was developing a Flutter based mobile app. Where I had to use a 3rd party library. I found, the library works for Android but doesn’t work on iOS. There were some issues that need to fix. As it’s an open-source library, so until the developer fixes I can’t do anything but fixes my need.

So I downloaded the code and fixed the iOS version as I know how the Swift language works and how to use it to develop iOS apps. So this kind of situation you may face when you use a hybrid framework.

To tackle a problem like this, you need some understanding of native application development, otherwise, you can’t figure out how to solve this type of problem


I created these 10 steps based on my experience, jobs, and freelance works. I hope this path will guide you to start your career as a mobile apps developer.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Mahmud Ahsan

Mahmud Ahsan

A software engineer who loves reading, writing and mobile apps development. — iOS, Swift, Node.js, TypeScript