Can a developer really know iOS and Android?

I’m happy to see the new Android courses. My question:

I’ve spent a great deal of time learning how to program iOS. I still have a way to go, but I’m getting fairly comfortable with it.

Is it possible to be proficient in both platforms? If you “master” iOS is Android significantly easier to learn? Does this make sense at all. Having to keep up with two platforms? Anyone out there that is proficient at both, would love to hear your opinion/experience.

Cheer!

3 Likes

Great question, Martin!

It’s definitely possible to keep up with both platforms. Especially these days, if you program in Kotlin and Swift since they’re so similar, and if you use patterns like MVVM and Rx to help keep your development flow consistent when switching back and forth.

I did both platforms for about 6 years, working on an iOS app for 6 months and then switching to Android for six months. It was definitely a challenge, since the mobile world moves so fast. But the platforms and tooling are converging, so it’s not as hard as it used to be.

Having said all that, specializing on one platform has its benefits, but you lose some versatility and flexibility in the process.

Thanks again for the question! :]

4 Likes

Hey Martin,

In my experience being knowledgeable about one mobile platform definitely allows you to apply what you’ve learnt to another platform.

I’ve jumped between iOS and Android development for a number of years. I love having the ability to do it as it means I get to experience the best of what both platforms have to offer.

I wouldn’t say I have as much deep technical knowledge as someone who specialises in a single platform, but I have enough to do the majority of tasks needed for each platform. I can also learn new APIs and techniques as I need them.

It’s taken a number of years for me to be able to do this. I originally started out as an Android developer but branched out into iOS development when a former employer asked if I could have a go at making an iOS app. I never looked back!

I think being a generalist across platforms gives you more flexibility to decide what projects you want to work on and makes you attractive to potential employers. I’m thankful I invested the time to learn both platforms and would encourage anyone who is thinking of doing it to do it too!

I hope that gives you some insight.

1 Like

No is not possible.
Or, to be precise, is possible until a certain level.

For the most app out of there, the level of knowledge required is kind of low, so everyone can probably manage to do both.

But as soon you go deeper, is already impossible to cover the full list of iOS technologies in one person…do you know a developer who’s an expert in all CFNetworking, CoreAnimation, CoreAudio, AVFoundation, CoreData, Metal, SpriteKit, SceneKit, CoreML, ARKit and all the other iOS frameworks (and Watch and AppleTV)
?

7 Likes

I’ve been developing mobile apps for about 15 years from Windows Mobile up to iOS and Android recently. I learnt Java, C# and Swift. Recently i took the decision to develop in C# using Visual Studio for Mac. I have developed several enterprise iOS and Android apps. What helped is that (a) I have a good engineering approach to the job, I can look at a language as an abstract tool. With C# I get a mature language supporting the Microsoft World + Native iOS and Android Apps (2) I have a fairly good grasp of Java and Swift so I could translate my understanding to C#. So in a nutshell, yes I think you can know both if you adopt a more cross platform approach.

1 Like

I would say, it’s definitely possible!

I’ve been a multi platform developer for around 6 years now. It is very simple to get a working knowledge of both platforms as they’re actually much more similar that people say they are.

The hardest part is keeping up with the changes on both platforms but with time and effort you can get around this. Likewise, you could be an expert on both platforms for sure, but that depends on how easy you learn and how invested you are in your learning – you’ll be as good as the effort you put in.

Being a complete expert in both platforms is realistically going to be near impossible, but also being an complete expert is one platform is basically impossible like @ignazioc mentioned. I tend to focus on things that are the same between platforms to ensure that I can act as a bridge between projects on both platforms.

Personally, I think it’s incredibly rewarding to be proficient on both platforms, and it has opened up huge opportunities in my job to be so. I can have conversations with either platform about specifics and lend a hand to any project that goes on.

I say, you should definitely give it a go and report back how you find it :smile:

2 Likes

I have been a freelance iOS developer for 6 years now, and I already find it difficult to keep up with the novelties each year! I suppose that you could reach a good level with Android too, by making a big one-time effort especially for this platform, and then keep up to date … maybe.
As far as I am concerned, I make a living out of my iOS “expertise”, so I don’t think I’d be able to be an expert on both platforms.
The mobile developers I’ve met that claim to be experts on both platforms generally transpose their way of developing on one platform to the other, and don’t conform to the platform particularities (UI or coding good practices).
So I think it’s great to be interested in the other platforms, but if you want to make a living out of it, I think you should keep your expertise (and your resume) focused on only one.

5 Likes

Thanks for the all the responses! I’m inclined to give learning both platforms a shot. I recognize that I won’t master both platforms, but for me that is not my goal. If I could develop an intermediate understanding of both, I’d be very happy with that.

Cheers!
Martin

3 Likes

I’m not sure anyone needs to be an expert in all of these - I’d say the core skills are UIKit, Foundation, MapKit, CoreLocation, CoreData and Quartz. Maybe app extensions (shudder) too - the other stuff isn’t that applicable to generic app development (in my experience). Sure, if you’re a game dev then SpriteKit, SceneKit and Metal are probably top of the list. CoreML? ARKit? New tech still in its infancy - great if you want to be in at the start (but expect to have to unlearn/relearn as the APIs inevitably get refactored).

I’d say it’s definitely possible to get to “expert” level on both iOS and Android if you stay focused on the main core APIs. For the other stuff, go for cross-platform solutions like Unity, Vuforia, IBM Watson, Firebase etc.

1 Like

So there are disagreements regarding how proficient you can be on two platforms. But I’m curious on a related subject… If you are managing a team of developers developing an app surely you must have a good understanding of both Android and iPhone. Not necessarily be a master of both, but a good understanding of both?

Any project managers care to weigh in?

Thanks!

I’ve jumped between iOS and Android development for a number of years. I love having the ability to do it as it means I get to experience the best of what both platforms have to offer.
But as soon you go deeper, is already impossible to cover the full list of iOS technologies in one person…
Being a complete expert in both platforms is realistically going to be near impossible, but also being an complete expert is one platform is basically impossible

1 Like

Well, defiantly you can have knowledge about both platforms, handle the platform and understand how both works but at the same time having depth knowledge about both platforms is nearly impossible.

Hi,

Yes, It’s perfectly possible to be both an iOS and an Android app developer. The demand for cross-platform developers − especially for those who master these two platforms − is huge and continuously increasing.

In my opinion For most beginners, you should learn iOS development first. It’s easier to pick up, has less devices to test on and has a great IDE (Xcode). However, the choice will depends on your unique situation.

Some peoples are experts, no anyone expert.

Mate I am a newbie.However I have read the kotlin apprentice.Comparing it to the swift Apprentice i can say they are about 90+% similar.Besides with kotlin multiplatform which allows you to share code I think yeah it is very possible.