January 09, 2017
January 09, 2017
After the course, I got an interesting question: „Why should they learn React Native if they’re already learning Xamarin? They both serve the same purpose and the amount of job offers clearly shows there’s more need for Xamarin developers.”
I started writing down the response and soon realised that it calls for much more than an email, being a perfectly valid question and touching on various different points. So, here’s my answer, touching various points mentioned.
Keep in mind that we’re talking about the job market and tech community in Barcelona, which is much more conservative than what we’d see in the Silicon Valley, or even Silicon Roundabout. Although there are big companies like Amazon, Baidu, Walmart, or Airbnb that are betting on React Native, none of them will offer you a 9–18 (that’s a typical work schedule in Barcelona) office job here.
I have to admit I haven’t checked how many Xamarin offers there are exactly, but I’m sure they exist. It’s also natural that students worry about where they will work after graduating, but what they’re missing is that they should prepare for the world of tomorrow, not today.
So, personal story time:
I made an early bet on technology myself, when I was still at the university. When I started learning Ruby there were no job offers for it at all in my country. But I liked using it, I liked the productivity it gave me, and the simplicity of the code that I got. When I graduated and started to look for work, there was literally one job offer in my city. And I got it.
(There was also one offer in Spain at the time. A long dead tourism startup was looking for a Ruby on Rails developer with a 500€/month salary. In Donostia.)
Terrible job market aside, this early start gave me a lot of interesting experience, I got to know and work with some very smart early adopters, and I settled easily into the growing local Ruby community. When I think of how my career would go if I got a Java job instead (like most of my classmates), I’m really happy with the bet I made.
To sum up: when you graduate and enter the job market in an established field, you’ll be competing for the same job offers against hundreds of other graduates, as well as many already experienced candidates. Entering a new field allows you to stand out more. And experience counts double if you’re an early adopter.
Also, I have already seen companies in Barcelona hiring React Native developers and I’m sure this trend will grow really fast. The React Native hype seems similar to the attention Ruby on Rails got years ago.
True, they may serve the same purpose, but they fit different needs. For some reason, Xamarin is used mainly in corporate environments, while React Native is adopted by the startup community.
The whole situation reminds me of the old (and outdated) Mac vs PC advertisements. You should try them both, see which community you feel more comfortable with and stick to it.
Also, React Native and Xamarin follow different programming paradigms.
Xamarin’s develpment model is based on the object-oriented programming model, while React Native tries a Functional Reactive Programming approach. Learning its Redux-based architecture will also help you understand how FRP programming is applied in different programming environments. I’m hearing more and more about popularity of RxJava for Android and various different reactive frameworks for iOS development. All of them are easier to understand after you spend some time developing in an environment heavily constrained to FRP, such as React.
All the candidates applying for that Java position you found.
Those were the selling points that convinced me to take up React Native. Whether it’s something that you care about, that’s your decision.
There’s also a simpler, shorter answer that I’d heard from one of my university professors back in the day:
We’re at a university — we came here to learn, not worry about the job market.
We shouldn’t forget that.
Clicking "I want to know more" you consent to processing your data by Brains & Beards sp. z o.o. for marketing purposes, including sending emails.