How Many Programming Technologies Can You Really Master?
There is no such person. You can master one and be mediocre in the others; you can master one and then move on to another and forget a lot of the prior; you can simply fool enough people into thinking you can do it and hope you can figure it out just in time.
Programming today in any major area is highly complex, constantly changing, and generally done with a lot of time pressure. None of these allow you to devote a lot of non-programming time to learn even the most recent changes, much less master everything from scratch. You can really only learn a new environment by doing real projects, and how many people can simultaneously write large native Android, native iOS and responsive web clients all at the same time?
If for some reason someone can actually do both Android and iOS—much less web—at a real master level, they should be making way more money than most companies are willing to pay. What companies want is to hire few people who are then able to do everything and at the lowest pay level they can get. Yet I cannot fathom anyone being able to be an expert on so many things simultaneously and how they can write multiple apps in multiple technologies and keep up. I've known people who were incredibly brilliant but I can't remember anyone being so good they could actually juggle unrelated technologies at the same time and produce masterful applications.
Maybe there are exceptions. But I still think most people can't do it. People can of course master one thing then move on to master another but in the process you inevitably forget things from the first. Last year during my months of not having anything to do waiting for my layoff (I was one of the last layoffs for no apparent reason as all of our technology was already replaced prior to the final sale of the brand) I spent a month working on C++, then node.js and finally Swift. Going back to each this year (since all I had done in my new job was Objective-C) I found I had forgotten much of what I learned. If you don't use something regularly the memories seem to fall out the back of your head. In rewriting this blog engine in PHP I got all those languages mixed up in my head.
Now if you are writing in Objective-C and then Swift on iOS at least there is some overlap. But Android is not just a different language from iOS, everything is different from the tools to how you do layouts to supporting multiple major OS releases to the 24,000 or so different devices. Just keeping up with all the new changes in this years WWDC in June is taking a lot of effort; not helping is that sample code Apple released then is already uncompilable in the latest XCode beta. Even if you wrote no code and just watched videos and read documentation and sample code all day, how could you say you are an expert with a straight face?
When I started programming things were extremely primitive and I only had to know one language and one OS and no frameworks at all. Even during my two startups I only had to master C, Inside Macintosh and some occasional 68K assembly. Today is not then. Yet we still only have one brain and brains aren't subject to Moore's Law. They can't be upgraded.
So if you (honestly) can do Android, iOS and mobile web simultaneously and deliver masterful results, I salute you! But I sure hope you are making 3X money too.