Hockey legend Wayne Gretzky is most often quoted as saying the secret to his success was to “Skate to where the puck is going, not where it has been.” That essentially means to prepare for the future, not for the present.
In the business world, you can see a long list of companies that failed to predict the future. Montgomery Wards, the Yellow Pages, Radio Shack, Blockbuster Video, Blackberry, and Kodak all focused solely on the present and ignored the future. When the future eventually arrived, it was too late.
As a programmer, the big key to success is predicting the future. It won’t do you any good to learn assembly language programming for CP/M-80 because the market for CP/M-80 programmers has long since gone. There’s also less growth for MS-DOS programmers.
At one time, programmers debated the merits of Pascal and C when writing MS-DOS programs. The programmers who championed Pascal would up largely obsolete while the programmers who embraced C easily went on to learn C++, Java, and C#.
There’s still a market for Pascal programmers in the world of Windows, but the greatest opportunities lie with C programmers.
So if you want to avoid becoming obsolete in the near future, what should you focus your time and energy on today? In other words, where will the puck be tomorrow?
First, look for what people are using. At one time, most people used Windows PCs to do everything from browsing the Internet to sending and receiving email. Nowadays, Windows PCs are far less relevant since people are using smartphones. So given the choice between programming PCs or programming smartphones, it’s obvious that the future lies with smartphones.
Smartphones represent the new trend towards mobile computing. While people use smartphones more often than PCs, they’re also using tablets as well. So if you want to stay with the future, you need to focus on the entire mobile market that includes smartphones and tablets.
At one time when the iPhone’s App Store was relatively new, a programmer created an iFart app and made $10,000 a day. Then when Microsoft introduced Windows Phone, legions of programmers thought history would repeat itself exactly and they rushed to learn how to write Windows Phone apps. Think those Windows Phone programmers are happy they invested the time to learn Windows Phone development today?
So if the future belongs to mobile computing, that leaves Android and iOS as the two best options. However, Android tablets are far less popular than iOS tablets (iPads) so it seems clear that the best future opportunities for programmers will be to learn iOS.
In the iOS world, there are two programming languages: Objective-C and Swift. Apple is focusing mostly on improving Swift to make Swift faster and easier to use than Objective-C. The end result is obvious. If you want to embrace the world of mobile computing (smartphones and tablets), you should embrace Swift.
Now Swift can be used to write programs for all of Apple’s operating systems, but the one operating with the most sales and growth is iOS. That means the future belongs to programmers who know how to use Swift to create iOS apps.
That doesn’t mean you should ignore macOS, watchOS, or tvOS. It just means that the future is iOS. Once you learn iOS programming in Swift, you can easily use your Swift skills to create apps for Apple’s other operating systems, but you might as well focus on the most profitable market first and the less profitable markets later.
That’s why the future is iOS and Swift. Learn that and you’ll be going to where the future is. Learn anything else and you won’t be going to where the future is. Just ask Windows Phone or Windows RT developers how much they regret their decisions to go where the future isn’t.