If working with multiple languages, frameworks, and platforms is what makes your heart tick, go for it! Otherwise, becoming a specialist may be a better (and more profitable) alternative. Simply because a do-it-all generalist dev often looks “less knowledgeable” to challenging-and rewarding-iOS projects. Because businesses deem expensive specialists to be a safer choice.Ĭertainly, there are generalist devs making a good living! However, in our experience, that’s not the norm. There are many outstanding iOS opportunities at the moment for iOS/Swift specialists. The same principle applies to your career.
But we believe that most people would pick the specialist as a safer choice. Of course, it doesn't mean the "do-it-all surgeon" can't do a great job. Would you choose a "do-it-all surgeon" or a "knee surgeon specialized in torn meniscus sports injury"? Specifically, he had torn his meniscus and needed emergency surgery. Caio had a serious knee injury practicing jiu-jitsu. But when advertising themselves for a high paying iOS position, they show up as iOS/Swift specialists! We know many highly-paid iOS developer specialists that use Objective-C, Kotlin, JS, Ruby, JAVA, etc., on their day-to-day. Absolutely, you should learn other languages. That doesn’t mean you shouldn’t learn other technologies. But mastering many technologies and making them part of your success and long-term fulfillment is a whole different proposition (it can take decades!). The cost of dabbling with new technology may be small. It’s counterintuitive but, usually, becoming a specialist (e.g., “I am an iOS/Swift dev specialist”) pays off more than trying to be a generalist (“I am an iOS/Android/Swift/Kotlin/Obj-C/JS/PHP/JAVA/C#/. Thus, Swift should be your specialist language. So, if you're an iOS dev, we believe you should strive to become an iOS dev specialist.
Some developers believe that “If I know both iOS and Android development, I should be paid double!” The problem is… Developers are typically paid by the hour (and how much they can produce!), and knowing two platforms don’t make you twice as productive (context-shifting, for example, can actually make you less productive)! Should I be a Generalist or a Specialist? building up essential technology-agnostic skills.building up valuable technology-specific skills.