For the past year, I’ve been frantically learning Swift as soon as Apple introduced it as their new programming language of the future. In September of 20015 you’ll be able to buy my latest Swift programming book from APress.
The book focuses on Swift for OS X for two reasons. One, APress, like most book publishers, already has plenty of Swift programming books teaching people how to create iOS apps. Two, learning Swift for OS X is actually easier than learning Swift for iOS because iOS has to worry about lots more user interface screen sizes and changes (rotating the screen) so if you’re learning Swift or any type of programming for the first time, learning iOS will be more challenging than learning OS X programming.
For that reason, I suggest beginners learn Swift for OS X because OS X programming requires far less user interface design problems than iOS. Best of all, the Swift frameworks for using OS X and iOS are nearly identical (Cocoa for OS X and Cocoa Touch for iOS) that your skills in OS X programming can easily transfer to iOS with little trouble.
Swift is Apple’s newest programming language for all of their products so if you want to stay on the cutting edge of Apple’s latest operating system features and hardware features, Swift is the language to learn.
Of course, just learning Swift alone won’t necessarily make you more employable. You also need to specialize. There may be plenty of Swift programmers out there, but how many of them know both mobile computing (iOS) and working with technologies like iBeacon or HomeKit? How many Swift programmers can create both an iOS app and an accompanying OS X program? How many Swift programmers understand stock market prediction techniques and can translate those techniques into Swift code?
In short, Swift programmers are a dime a dozen. What isn’t a dime a dozen are Swift programmers who specialize in a particular field. Now once you specialize in any field, you immediately cut yourself off from opportunities elsewhere, but you also make yourself a highly desirable programmer in a much narrower niche.
Image if you were a company looking to hire a Swift programmer who knew real estate law. Would you rather hire a programmer who knows Swift and worked as a real estate lawyer? Or would you rather hire just another Swift programmer who may know nothing about real estate law?
When you specialize, you cut yourself off from every possible job opportunity, but you make yourself the best possible candidate for a niche programming job. If you try to appeal to every possible Swift programming opportunity, you’ll have no advantage over the thousands of other Swift programmers competing for that same job. That’s no better than buying a lottery ticket and hoping you’ll win. In comparison, if a Hollywood studio wants to hire George Clooney or Angelina Jolie for a movie, guess how much they’ll have to pay them because no one else is George Clooney or Angelina Jolie.
So if your’e interested in learning Swift, consider my book among others, and consider learning Swift’s basics in OS X first before jumping into iOS programming. Then specialize in some unique field that you love so you’ll be the best candidate for that field that you’re already passionate about. That means you’ll be far more likely to get the job and you’;ll get paid a lot more to boot.