If you’re looking to change jobs or start a new career in the technology sector, mobile app development might be for you. Phones are a hugely important part of our lives and that's not going to change anytime soon. Mobile app developers are in high demand and with an average salary of around £54,000*, it’s an appealing career path for IT graduates and those interested in tech. We talked to Senior Lecturer in Computer Science, David Grey, to find out how to become a mobile app developer.
Hybrid or native app development?
"If you’re looking to make an app that goes directly to a phone, that’s called native app development and you’ve got two different platforms which are the big players: Apple and Android. Android is currently sitting at around 88% of the global market share because they are very big in China and that side of the world. They have a bigger market share than Apple and you’ve got to understand that Apple only has a small number of devices that the operating system and apps can work on. Android operates on smart TVs, cars, watches, tablets, phones, so many different things.
"Then you have something called hybrid app development which is where apps can work on any device. So it could work on Apple or Android, it could even work on Blackberry. And the hybrid apps are a collection of files, or what’s commonly known as a framework, where all of these files go together and they can be translated into or interpreted by native devices. Basically, it’s normally a collection of web-based files that are put together in such a way that they actually end up looking like an app.
"Now, they are not as powerful as native apps. A hybrid app might not be able to access particular features of the camera or particular accelerometer features, stuff really embedded in the phone, whereas native apps can access all of those features," David explains.
Android or Apple?
David says: "Android development is good and it’s getting better all of the time, but the amount of version changes that it goes through means that anyone picking Android really needs to be on top of all of these changes. It’s more demanding on the hardware. The software you would use to make an Android app is called Android Studio and you need a really powerful machine to be able to run it. Xcode, which is what you use for Apple, isn’t so demanding, but you need a Mac to run it. I wouldn’t recommend any particular one, it just depends on which platform you like."
Learn how to program first
"Before you start developing mobile apps, you need a basic understanding of programming and its core concepts like variables, if statements, loops and graphical user interfaces. You would need a good grounding in that, but once you have it, you could move to app development quite easily. When you are programming something it doesn’t really matter what it is because the concept is the same, but when you get a bit more familiar with app development you will start to do things which you can only do on a phone or for a phone. If you don't have a good grounding in computer science, I would learn the basics first in a simple programming language like Python. There are many free courses online to help with this," David says.
You’re not going to be an expert in app development overnight. You need to put the hours in. You need to build apps just to build apps. It doesn’t matter if your first app doesn’t do anything or never gets put on an app store, it’s a chance to create an app. You learn the next thing, you put that into your app, keep trying, trying and trying. Things are moving so fast, you need to have your head in the game all of the time, reading about future trends, knowing what might be on the next smartphone release.”
Senior Lecturer in Computer Science
Online courses or going to university?
"There are a lot of resources online which might help you and you can follow them through by yourself. As long as you understand them you will be okay. The problems occur when things go wrong and you need someone else to ask what to do. And I think that's when learning at university will help, whether you’re asking your lecturer or people in your class who might have also experienced that problem. I would certainly recommend people to go to university if they are serious about developing mobile apps as a career."
Who can do it?
"Anyone. It might take some people longer to pick it up than others. You need to be a logical person and to be able to break things down and look at them logically, step by step. You need to be a problem solver as well, sometimes taking a step back and looking at something to say ‘right, how does this app need to work, how do I get to this screen, where is this information going to be saved?’ You need to be able to think about all of those possibilities. I think you need a bit of perseverance so when you do hit that problem, because you will, you are able to ask the right questions, research the right topics and just persevere to try and break down where the problem is and where you will find the solution," David believes.
Practice is important
David says: "You’re not going to be an expert in app development overnight. You need to put the hours in. You need to build apps just to build apps. It doesn’t matter if your first app doesn’t do anything or never gets put on an app store, it’s a chance to create an app. You learn the next thing, you put that into your app, keep trying, trying and trying. Things are moving so fast, you need to have your head in the game all the time, reading about future trends, knowing what might be on the next smartphone release, because if it’s a hardware feature, you might be programming an app that uses that hardware feature"
"For instance, the Android operating system changes a lot more often than Apple’s so it’s a lot harder to keep up to date with what they are doing. Having a general understanding of our smartphones is needed. You need to be very, very passionate about that particular piece of hardware to be able to develop specialised software for it. For example, augmented reality is massive at the minute so that will be appearing on all the apps soon. Having an awareness of what is emerging in the marketplace and realising how you can work with it on a phone is what you will need to be a successful app developer. You can’t switch off.
"Our students are well prepared for this and we tell they need this mindset from the very early stages of teaching. Core fundamentals will not change, variables will still be variables, and if statements will still be if statements, but the way things are done and the workflows will change. You’ve got to push yourself and learn the next thing. Some of the things our students learned in their first year may not be used anymore because the computing industry moves so fast."
Having a degree is a big advantage
"I feel that a lot of employers looking to hire app developers will be looking for candidates with degrees. This shows that they have strong problem solving and time management skills, both of which are highly relevant in the software industry. I do think if you have a degree, you will have a distinct advantage over someone who doesn’t. For people teaching themselves, it would take years to be at the same sort of level," David concludes.
Learn more about studying a Computer Science course at the University of Sunderland.
Before joining the University of Sunderland, David Grey taught further and higher education computer science courses for a number of years and was a website developer, creating bespoke website solution for a range of clients across the UK.
* Correct at the time of publication
Published: 3 April 2019