sudolabs logo

15. 4. 2022

8 min read

Tomáš Varga: Devs should not be afraid of using React Native for complex apps

In 2018, Sudolabs only had 6 team members; that's when Tomáš jumped on board. Being one of the first team members, he witnessed the entire company grow and more opportunities unfold for him. In the interview, among other things, we talked about his career path, learning opportunities but mainly his take on React Native.

Michaela Zubarova

Tomas Varga at the office

Programming is something that Tomáš did from a young age. He wanted to create worlds where he would be limited only by imagination. A way, where he could experience the thrill and joy of adventure. And what other way than with the creation of video games. Starting with small video games published on the Czech forum, he gradually improved the graphics until he was able to publish it as a whole product. After a long break, he took part in Students' Professional Activities (SOČ), it was then that he found his way back to programming again. For his project he created a custom content management system (CMS) written in PHP. You were able to install it on your own server, publish articles and it also included a forum.

His efforts at other competitions did not lead to success and that helped him see there is room for improvement. Particularly with regards to design. It was in that way that he got close to design. Using what he learned, he started a freelance business creating websites. Together with a video game friend, he worked on two projects.

Tomáš studied business informatics where programming was taught in C language. At the time, there weren’t any web technologies as part of the curriculum and his interest moved to mobile development. During the master's degree he worked with python on machine learning tasks. Working with python brought him back to other web technologies.

How did you get into Sudolabs?

The hiring process was quite similar for the junior position to what it is now. As of that time I was working with python or a native language like Swift. On the web frontend, I worked with plain Javascript with the occasional help of jQuery. I heard about React and other javascript technologies before but haven’t used them. That also reflected in the home assignment I was given, which didn't turn out quite well. Initially, I was not given the position right away but worked on myself for two additional months and then delivered more content to show I had improved within React.

How was your journey from junior to senior? What helped you the most?

Just as in any new job, beginnings are hard, especially in a young company. There weren’t many opportunities for me or for the company to progress at a faster rate.

Once more projects took off, I dived into coding as much as possible. What helped me the most was having guidance from our CTO, asking a lot of questions, sometimes too many. Certainly, working with the backend and frontend before although in different technical stacks helped me to progress smoothly. Still, there was a lot of learning despite my previous experience with programming.


I had to unlearn some bad practices like it’s not about something to function but understanding it and writing clean code.


I also tried to be involved with other aspects of the project like product design, planning, and helping other team members. All the things a senior developer should be doing. Once I got to the senior position it was natural to me. I just recently became a tech leader for the first time on our new project. This is a new challenge in my career and I am looking forward to it.

How are you utilizing your learning opportunities at Sudolabs?

To the best of my ability, I always make the most of my learning time. A few months ago, I took the Product Management course offered by Sudo Academy led by our Chief Product Officer, Ján Koscelanský. Other than that, I was part of the internal group to tested tools for infrastructure as a code like Pulumi and Terraform. There we decided to set a company standard and use Terraform to deploy and manage infrastructure. Anyone can join such activities or organize his own one.

Nowadays, I am learning about new technologies and trying to implement them. One of them was redwood.js, which is a full-stack app framework used to build and deploy applications. We wouldn't have to write basic functionality like working with form, routing, and fetching data on the screen. Because there are a lot of things automated. You run a script and it will automatically generate code for you. It’s kind of like magic.

Did you have space to do things that you enjoy?

The fact that we worked on different app projects definitely gave me space. I came to Sudolabs with the intention of programming applications in React Native. In the beginning, I set goals for myself on what type of applications I would like to work on. These goals came true sooner than I thought. I don’t even know how but I guess that has to do with the hard work and love the team put into each product. Starting from the e-commerce application up to the application for the electric vehicles. There are still a few missing checkboxes in my list.

I also got to enjoy and work on a design that I am passionate about. If someone would like to do not only programming but also try such a hybrid there is an option. These days we have a dedicated Product Lab for this but certainly every developer, later tech leaders also have to work with the design and advise the client on how to do it.

You've been part of Sudolabs for quite some time now, can you tell us what keeps you here?

Interesting projects, that's surely the main reason. Furthermore, being able to witness the company's growth. From the very beginning, I was interested in working in a smaller-scale company and continuously growing. Comparatively, to larger companies, I knew I could learn here faster and also experience a variety of tasks.

Would you be able to name any benefits you truly appreciate?

1 one 1s with Richard (VP of engineering). These sessions really push me forward, and I'm finding them increasingly interesting. This is because I've recently gotten involved in some activities from within the company such as the Minified podcast and publishing of technical blog posts dedicated to knowledge sharing.

Your specialty was phone games - you used to make native apps, as well as machine learning. Now you are working with React Native projects - what are your experiences and how does it develop over time?

My first experience with React Native was rather cumbersome to say at least. There was a problem with the import and usage of libraries which resulted in an unpleasant developer experience. I constantly reminded myself why I am not working with native applications. But I saw the biggest advantages - having an app on two platforms with one code. Since version 60, CocoaPods got default support in React Native so the Cocoapods libraries could be linked automatically. From this version, you could have started the project easily, and it worked. Plus there was no need for manual import every time we wanted to add a new library, like before. This dropped out and speeded up the whole developer experience.

The performance of the applications improved with the release of javascript engine dedicated just for the react native called Hermes. Apps powered on this engine are launching faster and have smaller memory usage. The individual basic libraries for navigation and animation have undergone a new version, where it's all simplified. The APIs are so simple that you immediately understand them, whereas previous versions were quite complex, requiring various abstractions in order to put them into applications.

In the beginning, clients didn’t require applications with complex animation. And so we were able to work with API available with react native. Now that we are in 2022, every app is trying to differentiate with unique animations. I am glad that the open-source community was able to deliver libraries that anyone can use.

This year in React Native is all about new architecture - Fabric and TurboModules. Fabric will be a replacement for an old render system. While Turbo Modules will handle communication between javascript and native part. Since these are breaking changes, it will take a while for open-source libraries to catch up. The future looks exciting.

Tomas Varga and his colleagues taking a break after a meeting with the client

What is your opinion about react native being ready for complex production applications?

I am fairly positive about it. We also had complex apps, such as Volteras (one of our projects). It was a mapping application, and the performance was similar to Google Maps. Despite the use of native stuff in the background, it did not lag or take a long time to load. In the Artst app (another project), there were animations and transitions where one element was animated between two screens, similar to Spotify. It's not a problem to make a similar app with React.


React Native is still feared by some, but for me, it's a no-brainer, plus it saves costs.


The only part that may be problematic is the integration with watches, it is constantly questionable. Perhaps, in that case, it would be worthwhile to consider and use a native app.

On projects Artst and Volteras you modified an existing design. How did you get acquainted with design?

Prior to starting at Sudolabs, I was an independent programmer by nature, so I did everything myself. While programming, I was also designing everything. My previous mindset was just to have control over everything and learn it all. When I designed my own game, I even made the soundtrack for it.

What are your lessons learned since working at Sudolabs?

As soon as I started at Sudolabs, I understood the importance of teamwork for my personal and professional growth. Faster progress can be accomplished through it. The importance of having an engineering manager, a specific person who moves you forward, also became apparent to me. And I can assure you, there are such people at Sudolabs.

 What are your guilty pleasures?

I really enjoy listening to pop songs. Toxic by Britney Spears and Good 4 U by Olivia Rodrigo are my favorites.

Share

Let's start a partnership together.

Let's talk

Our basecamp

700 N San Vicente Blvd, Los Angeles, CA 90069

Follow us


© 2023 Sudolabs

Privacy policy
Footer Logo

We use cookies to optimize your website experience. Do you consent to these cookies and processing of personal data ?