<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Piotr Wilk</title>
    <description>The latest articles on DEV Community by Piotr Wilk (@wilkuintheair).</description>
    <link>https://dev.to/wilkuintheair</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F614618%2Fbe31ac3e-baa7-4e57-8101-8a881307e43d.jpeg</url>
      <title>DEV Community: Piotr Wilk</title>
      <link>https://dev.to/wilkuintheair</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wilkuintheair"/>
    <language>en</language>
    <item>
      <title>Top 7 Things for React Native Developer to Follow</title>
      <dc:creator>Piotr Wilk</dc:creator>
      <pubDate>Wed, 01 Mar 2023 06:42:26 +0000</pubDate>
      <link>https://dev.to/wilkuintheair/top-7-things-for-react-native-developer-to-follow-3a48</link>
      <guid>https://dev.to/wilkuintheair/top-7-things-for-react-native-developer-to-follow-3a48</guid>
      <description>&lt;p&gt;Once upon a time, there was a talented programmer who was happy, fulfilled, and admired. He was &lt;strong&gt;well-paid&lt;/strong&gt; and &lt;strong&gt;living the dream&lt;/strong&gt;. His team was growing, and the project they worked on was improving. His boss thought he was the luckiest man in the world to have him on board.&lt;/p&gt;

&lt;p&gt;However, there was one thing that ruined his career. Just one little thing and…&lt;br&gt;
It all fell apart.&lt;/p&gt;

&lt;p&gt;He couldn’t get a rise.&lt;br&gt;
&lt;strong&gt;No one wanted to hire him anymore.&lt;/strong&gt;&lt;br&gt;
All his teammates left the team, and he had to work alone.&lt;/p&gt;

&lt;p&gt;Can you guess what the problem was? Do you know what did he do wrong?&lt;/p&gt;

&lt;p&gt;That’s right! &lt;strong&gt;He failed to stay up to date with his knowledge!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The world he once excelled in moved forward so quickly. And &lt;strong&gt;he didn’t keep up&lt;/strong&gt;.&lt;br&gt;
His knowledge became outdated. He didn’t know about new features, new techniques, new ways of doing things. &lt;strong&gt;He was stuck in the past.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It’s like you’re still on version 0.52 and you don’t even know there’s an update! So horrible.&lt;/p&gt;

&lt;p&gt;Please don’t be like that guy. Do you know how bad did he end up?&lt;br&gt;
That’s a huge step towards &lt;a href="https://dev.to/wilkuintheair/i-was-sick-of-coding-luckily-i-got-fired-and-it-changed-my-life-5afd"&gt;Burnout&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;It’s essential to stay informed and up to date.&lt;/p&gt;

&lt;p&gt;Please make sure &lt;strong&gt;you’re up to date&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this blog post, we’ve compiled an alphabetical list of the &lt;strong&gt;top seven things that every React Native developer should follow&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;a href="https://appjs.co/" rel="noopener noreferrer"&gt;AppJS Conference&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;App.js Conf is a React Native &amp;amp; Expo-focused conference organized by Software Mansion. The last edition was a blast! We’ve brought together over 330 developers from all around the world, listened to over 20 talks by React Native professionals, discussed the present and the future of mobile development and danced till morning at the afterparty!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A great conference full of &lt;strong&gt;insightful&lt;/strong&gt; and &lt;strong&gt;inspiring&lt;/strong&gt; talks, takes place in Krakow, Poland. I think that’s my favourite. I’ve attended it twice and I must say – it’s really well organised.&lt;/p&gt;

&lt;p&gt;The main focus is on React Native but there’s also a lot about &lt;strong&gt;Expo&lt;/strong&gt;. I used to think (like many React Native Developers i talked to) that Expo is good for newbies, just to start moving around quickly.&lt;/p&gt;

&lt;p&gt;But AppJS made me try it once again (after 5 years of using React Native) and now I see why it becomes the &lt;strong&gt;default way of doing React Native apps&lt;/strong&gt;! No more Expo related problems for advanced apps and weird edge cases! It all works like a charm together.&lt;/p&gt;

&lt;p&gt;There are 2 different ticket types – one for the conference only and one for the conference + workshops.&lt;/p&gt;

&lt;p&gt;And the &lt;strong&gt;workshops&lt;/strong&gt; are run by top class contributors from the React Native world, like &lt;strong&gt;Krzysztof Magiera&lt;/strong&gt; or &lt;strong&gt;William Candillon&lt;/strong&gt;!&lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;a href="https://github.com/reactwg/" rel="noopener noreferrer"&gt;React Working Group&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;I think Github is undervalued source of knowledge, opinions or news. There are not only Code, Issues and Pull requests tabs there!&lt;/p&gt;

&lt;p&gt;I personally like to visit &lt;a href="https://github.com/reactwg" rel="noopener noreferrer"&gt;React Working Groups&lt;/a&gt; repo. There are tons of &lt;strong&gt;valuable Discussions&lt;/strong&gt; (yes, remember to visit the Discussions tab). Those 2 repositories are absolutely minimum to follow.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://github.com/reactwg/react-native-releases/discussions" rel="noopener noreferrer"&gt;React Native Releases&lt;/a&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This repository is dedicated to coordinating React Native releases; if you want to learn more about how a release is worked on, please refer to the releases documentation.****&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you’re waiting for a &lt;strong&gt;new release&lt;/strong&gt; to come, you can check the progress in the react-native-releases repo.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/reactwg/react-native-new-architecture" rel="noopener noreferrer"&gt;React Native New Architecture&lt;/a&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a discussion-only repository to coordinate and support the rollout of the React Native New Architecture. You can access to the working group via the Discussions Tab on Github.&lt;/p&gt;

&lt;p&gt;The intention of this group is to offer a space where the community can meet and discuss about the New Architecture of React Native (being the Fabric Rendered and the TurboModule system). Moreover, we’re going to use this working group to share information and updates with the wider community for the sake of transparency.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The long-awaited &lt;strong&gt;New Architecture&lt;/strong&gt; has recently became reality. There are many mysteries about how it work, so for in-depth knowledge about the New Architecture there’s no better place then react-native-new-architecture repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;a href="https://www.react-native.eu/" rel="noopener noreferrer"&gt;React Native EU Conference&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;React Native EU is the biggest community conference in Europe focused exclusively on React Native. This is a unique place where React Native developers can expand their knowledge by learning from Core Contributors and the best industry leaders. Every September since 2017 we bring the React Native community together and create ample opportunities for inspiration and growth.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Previous editions were full of React Native world’s celebrities and influencers among speakers, from companies like &lt;strong&gt;Meta, Microsoft, Stripe, Shopify, Skype, Wix&lt;/strong&gt; – just to name few.&lt;/p&gt;

&lt;p&gt;I’ve attended its online version twice. I must say – it’s the best organized online conference I’ve seen! I hope next time I’ll make it to attend in person.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. &lt;a href="https://reactnativeradio.com/" rel="noopener noreferrer"&gt;React Native Radio Podcast&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A weekly podcast exploring React Native workflows, industry news.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s a funny one! I love the jokes and funny stories that open each episode 😂&lt;/p&gt;

&lt;p&gt;There’s a wide variety of topics (but all around React Native) – from discussing the latest changes, through &lt;strong&gt;popular libraries&lt;/strong&gt;, concepts, challenges, to &lt;strong&gt;comparing React Native&lt;/strong&gt; to other crossplatform tools like Flutter.&lt;/p&gt;

&lt;p&gt;If you’re a podcast guy like me – this is a must listen!&lt;/p&gt;

&lt;h2&gt;
  
  
  5. &lt;a href="https://reactnativenewsletter.com/" rel="noopener noreferrer"&gt;The React Native Newsletter&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A curated, fun to read newsletter all about React Native Free bi-weekly summary of React Native news, articles, libraries, apps, and more! 12,000+ subscribers and counting&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;One of the very few newsletters I read on a regular basis. Each issue published every other week is full of the most important, &lt;strong&gt;hand-picked news&lt;/strong&gt; from the React Native world. If you want to stay up to date and don’t have too much time – The React Native Newsletter is &lt;strong&gt;the only thing&lt;/strong&gt; you have to read.&lt;/p&gt;

&lt;p&gt;I really encourage you to subscribe and try it for yourself!&lt;/p&gt;

&lt;h2&gt;
  
  
  6. &lt;a href="https://www.callstack.com/podcast-react-native-show" rel="noopener noreferrer"&gt;The React Native Show Podcast&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;In this series we talk about the most intriguing and relevant aspects of React Native and its ecosystem.&lt;br&gt;
– What’s coming up with the latest updates of open source libraries?&lt;br&gt;
– What are the plans for the future development of React Native?&lt;br&gt;
– How can React Native and its open source libraries help in business development and make developers’ work more efficient?&lt;/p&gt;

&lt;p&gt;And many more!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I like this one because of wonderful guests being invited to episodes. Library creators, &lt;strong&gt;core maintainers&lt;/strong&gt;, great people from Meta, Microsoft and other big companies. The hosts of this podcast (Mike Grabowski and Lukasz Chludziński) are going deeply into &lt;strong&gt;advanced details&lt;/strong&gt; of the topic which makes you understand what’s the backstage view from the guest’s perspective.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. &lt;a href="https://www.youtube.com/@wcandillon" rel="noopener noreferrer"&gt;William Candillon – YouTube&lt;/a&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Maker of the “Can it be done in React Native?” YouTube series ⚛️🎥&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;William Candillon provides &lt;strong&gt;detailed tutorials&lt;/strong&gt; on complex React Native topics and showcases some of the most complex and &lt;strong&gt;creative projects&lt;/strong&gt; using React Native.&lt;/p&gt;

&lt;p&gt;He mostly focuses on outstanding look and feel using &lt;strong&gt;advanced animation techniques&lt;/strong&gt;. William not only shows you how to build a nice user experience but also explains in detail how and why it works like that.&lt;/p&gt;

&lt;p&gt;He also covers the latest React Native news, updates and features.&lt;/p&gt;

&lt;p&gt;His videos are a great &lt;strong&gt;source of inspiration&lt;/strong&gt; for developers looking to learn more about React Native.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;It is so important to follow what’s going on in the industry you’re in. You can be the most successful person in the team or company. But if you don’t follow, you’ll be left behind sooner than you think.&lt;/p&gt;

&lt;p&gt;Top 7 Things for React Native Developer to Follow is made of resources I’m personally following. &lt;strong&gt;I really love each one of them&lt;/strong&gt; because they bring &lt;strong&gt;so much value&lt;/strong&gt; to my professional life.&lt;/p&gt;

&lt;p&gt;What is your Thing that you’re passionately following related to React Native? I’d love to keep this list growing!&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>I was sick of coding. Luckily I got fired and it changed my life.</title>
      <dc:creator>Piotr Wilk</dc:creator>
      <pubDate>Tue, 29 Nov 2022 08:21:35 +0000</pubDate>
      <link>https://dev.to/wilkuintheair/i-was-sick-of-coding-luckily-i-got-fired-and-it-changed-my-life-5afd</link>
      <guid>https://dev.to/wilkuintheair/i-was-sick-of-coding-luckily-i-got-fired-and-it-changed-my-life-5afd</guid>
      <description>&lt;h2&gt;
  
  
  The day it all started
&lt;/h2&gt;

&lt;p&gt;It was a late night, raining outside. Streetlights were shining through the window. I was alone in the office, everyone else left hours ago. But I was still sitting in front of my computer, trying to fix a bug in my code. Sure, it was a standard 9-5 job, but I promised the project I was working on will be done by the end of the day (you must know I have Responsibility on the first place at my Cliffton Strengths test which means I just had to do it).&lt;/p&gt;

&lt;p&gt;Everything seemed to be correct, but it didn’t work. It worked on the clean project, but not on mine. I tried all the solutions, tried different approaches, tried to debug my code, 3rd party libraries code, native code, and every code I could debug. I became a master of debugging. I was trying to fix it for hours, but nothing worked. I was getting more and more frustrated. I was getting angry. I was getting desperate. I was getting tired. I was getting exhausted. I was getting burned out.&lt;/p&gt;

&lt;p&gt;I gave up. I went to a bus stop. It was still raining. This was definitely one of the worst days of my life. The bus was getting late and late, so I had some time to think – is that what I want to do for the next 10, 20 or 30 years of my life? I was a senior software developer and knew everything about my job, but still had to fight with those machines. It’s not going to change, is it?&lt;/p&gt;

&lt;p&gt;Three days later I finally found and fixed the issue. It took me a few more days to finish the project. Was I happy? No. Each month I liked my job less and less.&lt;/p&gt;

&lt;h2&gt;
  
  
  My job was slowly becoming awful
&lt;/h2&gt;

&lt;p&gt;I was feeling sick thinking about getting in front of my computer. I couldn’t write a single line of code for days, just staring at my IDE and crying inside.&lt;/p&gt;

&lt;p&gt;I knew it was burnout. I knew no one will make this job done for me. No matter how long I was procrastinating – this stupid bug had to be fixed by me. And tens of others waiting in the backlog.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I got fired
&lt;/h2&gt;

&lt;p&gt;I finally got past the dark moments, I fixed those unfixable bugs. It was a bit better a few months later. I was gradually decreasing my employment, so I had 4 and then 3 working days a week. This gave me some air, and I could get back my mental health. I was making enough money for living out of it, and I had some time for my side hustle which was writing React Native apps for my own clients.&lt;/p&gt;

&lt;p&gt;But I still hated this job. I was not learning anything new. Literally, anything. Nothing was exciting. Nothing was giving me hope it will ever change.&lt;/p&gt;

&lt;p&gt;My boss then asked me: Piotr, maybe you want to decrease the employment to just one day a week? There’s currently not much to be done anyway. I agreed, and it turned out I was already done for that month. Yay, time for some good rest.&lt;/p&gt;

&lt;p&gt;Next month he told me that they are still waiting for some new feedback, and he’ll call me once there’s something for me to work on.&lt;/p&gt;

&lt;p&gt;He never did.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52asbxhk5ta8kl6agrgm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52asbxhk5ta8kl6agrgm.png" alt="Old man waiting for his phone to ring" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  It was the best that could happen
&lt;/h2&gt;

&lt;p&gt;I woke up. Suddenly I realised I’m free. I could spread my wings and fly away as Freddie was singing. I get to know React Native quite well until then, and it was giving me a lot of joy and satisfaction. So now I could work 100% on my terms, for my own clients.&lt;/p&gt;

&lt;p&gt;Except that I sucked at sales and marketing, so no clients were waiting in line at that moment, and it turned out I was pretty much broke. And that’s not the best situation when you have a family to feed.&lt;/p&gt;

&lt;p&gt;So my side hustle plan didn’t really work out. I had to accept that and get back to the “real job” to make money.&lt;/p&gt;

&lt;h2&gt;
  
  
  I came back stronger than ever
&lt;/h2&gt;

&lt;p&gt;I decided to change my career a bit. I was applying for jobs as a React Native Developer. I didn’t know it well enough to earn the same as in my previous job, but I loved this technology. It was worth it for me to give up a good salary for the joy of coding and my new passion.&lt;/p&gt;

&lt;p&gt;That feeling was just incredible. After a few years of life being sucked out of me day by day, I was very hungry of learning, of getting better at what I’m doing, and of being successful.&lt;/p&gt;

&lt;p&gt;Years later I still read newsletters about React Native. I read articles, listen to podcasts, watch videos, and attend conferences about it – also in my free time. And I love it!&lt;/p&gt;

&lt;h2&gt;
  
  
  Lesson learned
&lt;/h2&gt;

&lt;p&gt;What could be done better in this case? Well, obviously, the decision about my employment shouldn’t be left to my boss. It is me who should decide to leave the toxic job years before it took all the joy out of my life.&lt;/p&gt;

&lt;p&gt;The power that comes from being mad is endless. I was mad at myself for losing so much time. I took advantage of it and started to learn. And I’ve been learning like crazy ever since.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sounds familiar?
&lt;/h2&gt;

&lt;p&gt;If you are also feeling like this, just remember that it is you who is in charge of your life. You can change it. You can make it better. It’s up to you.&lt;/p&gt;

&lt;p&gt;Go ahead and share your story with me. I’d love to hear it. You can do it in the comments below, or you can send me an email. Let’s talk about it.&lt;/p&gt;

&lt;p&gt;What else you can do? Try applying for a job. Even if you don’t want to change it right now, it’s a good exercise to see what’s out there. Don’t worry, you can always say no. I know it can be uncomfortable, but it’s worth it.&lt;/p&gt;

</description>
      <category>animation</category>
    </item>
    <item>
      <title>Is it the end of var? Here’s a better solution known for years.</title>
      <dc:creator>Piotr Wilk</dc:creator>
      <pubDate>Thu, 08 Jul 2021 09:19:37 +0000</pubDate>
      <link>https://dev.to/wilkuintheair/is-it-the-end-of-var-here-s-a-better-solution-known-for-years-2lkf</link>
      <guid>https://dev.to/wilkuintheair/is-it-the-end-of-var-here-s-a-better-solution-known-for-years-2lkf</guid>
      <description>&lt;p&gt;Var is a great thing. It served people well all across the world for years. But its time has passed. No one likes it anymore and now we all know it can even cause serious problems. Luckily there’s a better solution and it’s been a while since it was released (June 2015!). Why then do people still use var?&lt;/p&gt;

&lt;p&gt;Ok, this is not about football, as some of you probably may think. Of course it’s about JavaScript. I’m a React Native developer, right? It has to be about JS.&lt;/p&gt;

&lt;p&gt;Let me take you to the point.&lt;/p&gt;

&lt;p&gt;Yep, a replacement for var is obviously let and const. How is it different from this var everyone hates now? &lt;/p&gt;

&lt;h3&gt;
  
  
  The scope
&lt;/h3&gt;

&lt;p&gt;Scope of var is the whole body of the function it’s declared in. Not a tragedy. But when it’s declared outside of a function, the scope is global. Now this is bad news. It can lead you to some unexpected or even unpredictable stuff in your code.&lt;/p&gt;

&lt;p&gt;Scope of let and const on the other hand is only a block. A block, means i.e. a function, but also if/else statement, for/while loops, switch/case statements and whatnot. Basically, it’s between the brackets {}. So this is much more reliable and much safer to use because it stays exactly where you declared it. It won’t go outside.&lt;/p&gt;

&lt;p&gt;What’s more, const will make you sure the value of what you declared will not be changed in the future. How great is that?&lt;/p&gt;

&lt;h3&gt;
  
  
  The end of var?
&lt;/h3&gt;

&lt;p&gt;To be honest, I don’t even remember the last time I have used var instead of let or const. I’m not sure of statistics, but it’s also less and less seen in existing legacy projects I work on. Of course var has its use cases, but there aren’t many of them and still, we can do better than that.&lt;/p&gt;

&lt;h3&gt;
  
  
  Joke’s over
&lt;/h3&gt;

&lt;p&gt;Ok, I won’t say more here. There have been a ton of blog posts written since let and const were first introduced, this one is more like a social experiment. I hope you already forgave me the clickbaitish title!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>reactnative</category>
      <category>var</category>
    </item>
    <item>
      <title>3 steps to setup debugger for React Native app in WebStorm</title>
      <dc:creator>Piotr Wilk</dc:creator>
      <pubDate>Fri, 23 Apr 2021 22:21:40 +0000</pubDate>
      <link>https://dev.to/wilkuintheair/3-steps-to-setup-debugger-for-react-native-app-in-webstorm-1f39</link>
      <guid>https://dev.to/wilkuintheair/3-steps-to-setup-debugger-for-react-native-app-in-webstorm-1f39</guid>
      <description>&lt;p&gt;I always feel sorry for fellow developers who only use &lt;code&gt;console.log&lt;/code&gt; for debugging. To me having the debugger in place is a whole different level of productivity while solving problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here's how you can easily set it up in WebStorm:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;When having your project opened, go to &lt;code&gt;Run&amp;gt;Edit configurations...&lt;/code&gt; or just press &lt;code&gt;⌃ + ⌥ + D&lt;/code&gt; and then &lt;code&gt;0&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0dt4af3u9ab8uug2705.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0dt4af3u9ab8uug2705.png" alt="image"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the following window press the &lt;code&gt;+&lt;/code&gt; sign (or &lt;code&gt;⌘ + N&lt;/code&gt;) and then search for &lt;code&gt;React Native&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpzgula9dj1whyunyp3hn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpzgula9dj1whyunyp3hn.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give it a proper name and turn off the &lt;code&gt;Build and launch application&lt;/code&gt; checkbox&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8xq79h5hseun13z3q5dz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8xq79h5hseun13z3q5dz.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
Optionally you can remove &lt;code&gt;Start React Native Bundler&lt;/code&gt; step if you prefer doing it manually with &lt;code&gt;yarn start&lt;/code&gt;&lt;br&gt;
Then press &lt;code&gt;Ok&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  That's it!
&lt;/h3&gt;

&lt;p&gt;Now you can go to &lt;code&gt;Run&amp;gt;Debug&lt;/code&gt; or just hit &lt;code&gt;⌃ + D&lt;/code&gt; (a new Chrome window should appear), run your app on a simulator or device (i.e. &lt;code&gt;yarn ios&lt;/code&gt;), &lt;a href="https://reactnative.dev/docs/next/debugging#accessing-the-in-app-developer-menu" rel="noopener noreferrer"&gt;enter the In-App Developer Menu&lt;/a&gt; and hit &lt;code&gt;Debug with Chrome&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;To verify if the configuration works fine just see if the logs are visible in the Debug Tool Window:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fri6050xfwolvyvs3yz3o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fri6050xfwolvyvs3yz3o.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also add a breakpoint to check or manipulate the values at runtime:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejjxfo5qs56850lucr1f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fejjxfo5qs56850lucr1f.png" alt="image"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;You can learn more about debugging at the &lt;a href="https://reactnative.dev/docs/next/debugging" rel="noopener noreferrer"&gt;Official React Native Documentation&lt;/a&gt;&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>debugger</category>
      <category>productivity</category>
      <category>5days5blogposts</category>
    </item>
    <item>
      <title>How to get a job out of a failed job interview</title>
      <dc:creator>Piotr Wilk</dc:creator>
      <pubDate>Thu, 22 Apr 2021 20:44:11 +0000</pubDate>
      <link>https://dev.to/wilkuintheair/how-to-get-a-job-out-of-a-failed-job-interview-4icb</link>
      <guid>https://dev.to/wilkuintheair/how-to-get-a-job-out-of-a-failed-job-interview-4icb</guid>
      <description>&lt;h5&gt;
  
  
  To the point!
&lt;/h5&gt;

&lt;p&gt;On a job interview listen carefully what the team you are supposed to join struggles with. What kind of problem they're currently solving.&lt;br&gt;
Then if they say no to you, you can just say thanks and tell them &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Hey, I'm good at this one you're dealing with, let me do this for you as a side project, show me the code and I will estimate it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h5&gt;
  
  
  Now I will give you some context how it worked in my case.
&lt;/h5&gt;

&lt;p&gt;I suck. I totally suck at job interviews. Maybe I'm smart (oh the hell with it it's my blog, I can even say I'm very smart!). But I don't talk much, I'm kind of a typical introvert programmer. And as you may already know it's better to talk at job interviews.&lt;/p&gt;

&lt;p&gt;So these guys were looking for someone who talks. They said&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sorry Piotr, you are very smart but you didn't say much at the interview, you had no energy and stuff. We're looking for a guy who can talk and has the energy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And then I said&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Thanks for the interview! Listen guys, you said you're struggling with upgrading your app. I did this many times and I can help you just with this one if you want. Just let me know if that sounds interesting.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h5&gt;
  
  
  Success
&lt;/h5&gt;

&lt;p&gt;It turned out this did sound interesting to them, we've discussed the details and I've got a nice side project instead.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>career</category>
      <category>5days5blogposts</category>
    </item>
    <item>
      <title>You better commit often!</title>
      <dc:creator>Piotr Wilk</dc:creator>
      <pubDate>Wed, 21 Apr 2021 20:17:50 +0000</pubDate>
      <link>https://dev.to/wilkuintheair/you-better-commit-often-24dl</link>
      <guid>https://dev.to/wilkuintheair/you-better-commit-often-24dl</guid>
      <description>&lt;p&gt;Yay! You just finished upgrading this app! Man, that was huge, a lot of code to clean, a lot of outdated dependencies, a lot of shit to go through. Now let's spread the good news and tell the client what was done. The easiest way would be to go through a git log and maybe describe each commit a bit more, right?&lt;/p&gt;

&lt;p&gt;Let's suppose you just don't like to commit often.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git log --since 2021/02/02&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;commit 2c15a50fab5db11b9f4dd98ab68aea3c81137680 (HEAD -&amp;gt; my-huge-upgrade-i-worked-on-for-2-weeks)
Author: Piotr Wilk &amp;lt;wilkuintheair@fake.com&amp;gt;
Date:   Wed Apr 21 21:29:11 2021 +0200

    upgrade rn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2czqmru2qv7d59gvbstu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2czqmru2qv7d59gvbstu.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ok, no worries, let's go through the changed files and we'll know. Let's just quickly see what's changed in these 87 files. Let's read each of these 87 files and for sure we'll come up with some solid, reliable summary.&lt;/p&gt;

&lt;p&gt;This won't get any better, especially if you were working on it for 2 months in the evenings because it was your side hustle.&lt;/p&gt;

&lt;p&gt;Now you see why it's better to commit often while upgrading?&lt;/p&gt;

&lt;p&gt;Here's a better version of git log which can be more useful for this job.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git log --oneline --since 2021/02/02&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;837deb7e (HEAD -&amp;gt; rn-upgrade, origin/rn-upgrade) fix opening drawer menu
b495fdad fix back button on several screens
462cb878 fix propTypes warnings
60b9213e fix running the android app
61843322 migrate navigation's getParam to route.params?
17844756 update bugsnag
618a8f29 add missing bugsnag config
1835ca01 add missing android project include for codepush
bc7caa59 fix routes issues in the navigation
641d578b update bugsnag
04cdae03 update react navigation
c6ad1fe8 update i18next
d58d0c68 update react native billing
6c086db5 update codepush
b871cb46 fix NetInfo fetch
29c2f20d update lock files
50af2820 update more packages
9d5adfe1 update jetifier and lodash
1ec0b312 update fuse.js
f9e60fda change AsyncStorage imports
2dcf3f4c bring back App.js
3b05ac7e update react native community packages
78759ae9 remove TextInputMask from BlikPayment
0e254884 add flipper support
ed3f6529 bring back navigation
7e3dfa1a fix react import
364284dd bring back expo dependencies
d70a8818 fix building the app with unimodules
023033f5 add search paths
8148b765 ios recommended settings update
f4aeac54 update expo, add swift support
90171786 update ios to 11.0, update unimodules
031cc87c update AppCenter to v4.x, regenerate lock files
3aa3aec9 force using flipper v0.78.0 for iOS
93086945 fix react-native-text-input-mask issue when running pod install
d17612e3 yarn install
36d3a400 upgrade rn to 0.63.4 manually with upgrade helper
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A bit better, right? It requires far less work in order to describe it to a client.&lt;/p&gt;

&lt;p&gt;And if you don't like this amount of commits to be in your repo you can always squash it using &lt;code&gt;git merge your-branch --squash&lt;/code&gt; or &lt;code&gt;git rebase -i&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Also it's easier to track down potential issues using &lt;code&gt;git bisect&lt;/code&gt;. What a great benefit!&lt;/p&gt;

&lt;p&gt;What's your top benefit of commit often strategy?&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>upgrade</category>
      <category>5days5blogposts</category>
    </item>
    <item>
      <title>How my React Native app died</title>
      <dc:creator>Piotr Wilk</dc:creator>
      <pubDate>Tue, 20 Apr 2021 06:39:35 +0000</pubDate>
      <link>https://dev.to/wilkuintheair/how-my-react-native-app-died-277i</link>
      <guid>https://dev.to/wilkuintheair/how-my-react-native-app-died-277i</guid>
      <description>&lt;p&gt;“Nah, gimme just this one feature, do not upgrade anything.” - Said a man who suddenly lost $5000 for a feature worth $50. This is a sad and, well, a bit of a fake story, because I was the sucker who promised to deliver a really small feature to a rotten app without proper research.&lt;/p&gt;

&lt;p&gt;Now, WTF happened here? The story begins a long time ago but I remember it like it was today. Let’s go back in time to 1994.. I mean to 2018. Well, the technology world moves fast. It was early December when I started this project so it was a good old version &lt;code&gt;0.57&lt;/code&gt; of React Native. Believe me. This. Is. Old. Really old.&lt;/p&gt;

&lt;p&gt;So a man has an app which once in a year needs to be updated with some fresh info. You can guess if there was a budget for making it loading dynamically from the server. We were happily updating this very important info for 2 years. Each update required going through a publishing process in both of the stores. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But this time something happened.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This time it was different. So I cloned this old app from the repo. Did I already say it was old? Nevermind. Okay let’s do it. &lt;code&gt;yarn install&lt;/code&gt;, update the info, &lt;code&gt;git commit&lt;/code&gt;, &lt;code&gt;git push&lt;/code&gt;, send an invoice. This should be enough because I had a nice CI/CD in place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nope.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I couldn’t even do &lt;code&gt;yarn install&lt;/code&gt; because I had too new version of node. But nvm. Or actually &lt;code&gt;nvm use v9.something.0&lt;/code&gt;&lt;br&gt;
This did the trick. I still had some issues running it but resolved it quickly with some help from my good buddy called Stack Overflow.&lt;br&gt;
Damn! It was supposed to be a quick job and I’ve already spent over 2 hours on it.&lt;br&gt;
Quick test on android and iOS, &lt;code&gt;git commit&lt;/code&gt;, &lt;code&gt;git push&lt;/code&gt; aaaand it’s done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nope.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The AppCenter build was successful. It still had the correct node version. What a nice surprise. But when it tried to deploy to stores.. A small, not looking very bad error occurred. I had to target higher versions of SDKs. These small, not looking very bad errors started being annoying. Let’s deal with it and forget about this nightmare.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2 days later.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I gave up. After fighting with all these still-not-compatible-with-something-elses. This is how it died. I went to the man, said I’m very sorry. We both cried. He said go and bury it in the woods.&lt;/p&gt;

&lt;p&gt;Okay, this actually didn’t happen, but as you can guess there was no budget to properly fix it and make it great again.&lt;/p&gt;

&lt;h3&gt;
  
  
  What’s the lesson here?
&lt;/h3&gt;

&lt;p&gt;Remember to always remind your client how upgrading the app constantly is important. It’s not a big deal if you do this regularly. But if you do it once in a few years it may be very difficult and expensive to bring it back to life. &lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>upgrade</category>
      <category>maintenance</category>
      <category>5days5blogposts</category>
    </item>
  </channel>
</rss>
