Kim vs React Native: Round 1
Project: No Questions Asked
Get one new experience, per week, for 6 weeks.
I’ll admit, after learning a bit about React when it came time to learn React Native, I was terrified; and rightfully so. I was nervous because I’d only known the basics of React, never glanced at React Native and planned to use it on a time sensitive project. While I love a challenge, I’m also not an idiot. Choosing to use something I had no experience in while trying to meet a deadline can either go really right or really wrong and for the first time, I was scared to find out.
Nevertheless, a little voice in my head (and other voices around me), pushed me to at least try before crossing it off the list. And I’m glad I did. Turns out, I was overreacting just a tad bit and now I get to add React Native to my skills…if I make to the AppStore that is.
For anyone who’s had or is having feelings similar to mine, here’s what worked for me:
I had real reasons for learning it.
Learning new things is fun but not when you’re stressed out about an upcoming deadline or an important client. However, if you have real reasons for wanting to use this new library or language or framework and you’re not just trying to be cool, then it’s definitely worth giving it a shot. My reason for wanting to use React Native is because it compiles to more native iOS and Android code which in turn has a positive impact on the performance of the app. This reason was compelling enough for me to at least test the waters.
Since this was for a real project, I tried to tackle the features that scared me the most.
The one thing I didn’t have time to do was sit down and take a course on React Native. It didn’t feel like the most effective use of my time, at least the way I learn. Since I already knew the basics of React, that knowledge helped be grasp the basics of React Native after following the short tutorial the Facebook team provides. Once I successfully spun up an app and played around a bit, I decided to try and tackle features I’d actually need on my project. Taking that one step further, I tackled the features that I couldn’t figure out how to implement in React Native.
Then I Timeboxed it.
If I couldn’t figure out how to implement the features that scared me in 2 days, then I would have to revert to using something I’m more comfortable with to build the app. I think knowing that I would only eat away 2 days out of my timeline gave me the courage to at least try learning React Native before giving up. Since I also had good reasons for using it, I didn’t want to regret not even trying but I also didn’t want to waste days or weeks banging my head against the wall and then regret taking it on. So I gave myself 2 days to decide and luckily, I decided in one.
Keeping these 3 points in mind gave me the courage the learn something new without having to commit too soon. Now that the learning curve of React Native is no longer a concern, I can focus on prioritizing and working my a** off to get the app for No Questions Asked done.
I think it’s safe to say, I won this round.
Work hard. Play hard.
– Kim Goulbourne aka “Bourn”
(Originally posted on Chronic Creator)