- Sep 21, 2025
So you think you wanna be a programmer: mobile dev edition
- Mulan Lau
If you haven’t already check out my article on what it takes to be a programmer without getting into the specific area (https://www.mulanlau.com/blog/so-you-think-you-wanna-be-a-programmer)
To recap:
Successful programmers have a few common traits. They are:
Patient
Persistent
Enjoy problem-solving
Logical thinkers
Resilient
Being good at math is not a requirement to be a good programmer. Being the kind of person who continues to try and figure something out even when it’s hard and you want to throw your code across the room is a requirement. And it will happen multiple times both as you learn to code and as you improve your coding skills. Immense frustration as a programmer is inevitable. If that sounds awful then this might not be the right career for you.
Alright now let’s get into the mobile dev specific part.
Mobile development, like game development, is still a pretty large category. There are 3 primary subcategories of mobile development, native Android development, native iOS development, and cross-platform development. Native Android development means that you are coding for Android devices only and are doing so using Java or Kotlin and probably Android Studio. Native iOS development requires an iOS computer. You need to use Apple’s Xcode IDE to code native iOS apps and your language will be either Swift or Objective-C. Lastly, cross-platform development refers to coding mobile apps using nonnatively. Some common frameworks are ionic, JS react, and cordova. When you code cross-platform apps, your code will be converted to native iOS or Android code when you build it depending on the platform you select.
There are pros and cons for each type. Personally, I prefer Android development. I’ve dabbled in all 3 categories and enjoy Java and Kotlin the most language wise and the Android Studio IDE preferable to Xcode or Visual Studio. You might be thinking that cross-platform sounds the best because then your app can be deployed to Android and iOS devices. While this is great, when you code cross-platform apps you need to keep in mind that the final product on the Android or iOS device may not look/behave exactly the same as your initial code or each other. This is due to platform differences and can cause issues if it’s not taken into consideration.
The best way to figure out if you will enjoy being a mobile developer is to try it. This helps you figure out if you like it, which program you prefer, which language you enjoy using, etc. So if you think you wanna be a mobile developer, start coding! And remember, you can always change your area of expertise. I started with web development then learned ios and android and chose to focus on android development.
Here are a few free resources to help you get started:
Cordova–official site, source code, and documentation. Cross-platform development using HTML, CSS, and JS - https://cordova.apache.org/
Ionic Framework–official site and documentation. Cross-platform development using Angular, Vue, or React - https://ionicframework.com/
Android–Android Studio–official site, documentation, downloads, and forums - https://developer.android.com/
iOS–Xcode–official site, documentation, downloads, and forums. Apple computer is needed - https://developer.apple.com/xcode/
If you want a longer list of free programming resources, you can get the full Ultimate Free Coding Resources List here: https://www.mulanlau.com/free-coding-resources-list