Speaker Interview: Michele Bertoli — Front End Engineer at Facebook.com

Michele Bertoli — Front End Engineer at Facebook.com

Another great addition to our series of short interviews with this years speakers to offer personal thoughts and perspectives from some of the most interesting personas in the industry.

Today we are welcoming Michele Bertoli, a Frontend Engineer at Facebook. Michele has particular passion for beautiful UIs.

React Amsterdam: We know you have recently joined Facebook, how different is the experience of joining such a global company comparing to previous companies you worked at?

Michele: I joined Facebook last January, and I couldn’t be more excited.

I used to work in small/medium startups before and, even if Facebook is much larger in terms of number of employees and spaces, I found the same energy and attitude.

“Move fast” is not just a value printed on the wall, it is a concept that describes pretty accurately how things work at Facebook.

So, I guess it’s more about the culture than the size.

The biggest difference though is the impact I can potentially have on people’s lives as an engineer, which is one of the main reasons I decided to take this adventure.

React Amsterdam: You have quite a lot of open source projects. Does it help in achieving your professional goals and ambitions, or getting a “better” job?

Michele: I spent the last year and a half, doing everything I could to get noticed by Facebook (and it worked!). I wrote a book on React, I gave public talks about JavaScript, and I contributed to the open source.

In that sense, it helped me get a better job, but that’s not the only reason I dedicated my free time to open source.

Giving back to the community is vital. I think being a JavaScript developer in these years is amazing, and we are building an unbelievable amount of high-quality content.

I also strongly believe open source helps developers to improve their skills and write better code. When the code is visible to everyone, we tend to pay more attention to quality, and the possibility to receive feedback from various developers with different points of view is fantastic.

Last but not least, working on open source gave me the opportunity to get in touch with incredibly smart people and learn from them.

React Amsterdam: You did a few talks on CSS in JS topic, it’s been a while since the pattern became popular. How do you feel about the current state of tooling around it?

Michele: When I first heard about CSS in JavaScript (thanks @vjeux), my reaction was “meh”, as I guess similar to everyone else’s reaction. It always happens that when I don’t understand something but see smart people excited about it, I put all my energy and effort into learning more.

That’s the reason why, almost two years ago, I created a repository to try all the different solutions to writing CSS in JavaScript.

As of today, they are more than forty. Some are just proof of concepts, others are used in production, and I believe experimenting in this field has been necessary to find the right path.

In fact, the problem to overcome before getting the most out of it is to put our prejudices aside and forget what we learnt in the last fifteen years of web development.

In the components era, we are now ready to enjoy the benefits that local styles provide. There are a few smart solutions that have emerged recently which I believe show great potential.

React Amsterdam: Which CSS in JS solutions you would generally recommend and in which scenarios some are better than others?

Michele: I have been in love with CSS Modules since day one. I used it extensively in my previous job, and I believe it represents the perfect trade-off between regular and modern CSS approaches.

It’s real CSS, but it doesn’t pollute the global namespace. We used to implement some weak naming conventions to solve the same problem (I’m thinking of BEM), and CSS Modules is the natural solution to it.

However, if I had to recommend a single library, I would go for the Styled Components. It was created after other libraries failed. The authors, Glenn and Max, learned from it and pushed the concept of components forward.

It requires having a strong components-oriented mindset and using a functional composition approach to writing applications. This is an approach to development that feels natural with React, and the result is amazingly elegant.

React Amsterdam: What strategy you would recommend to teams who start implementing modern testing solutions into long-running projects?

Michele: Testing UIs has always been a hard job, and I still remember some pretty painful experiences trying to write end-to-end tests for a web application a few years ago. That’s the reason developers often avoid writing tests and believe tests slow them down, even if everyone recognises the value tests provide.

In general, people’s approach to testing is changing, especially in the front-end world, thanks to components and new, powerful tools.

One of the hottest solutions today is Jest, which has been recently rewritten with the DX in mind and aims to solve most of the problems that were preventing developers from having a painless testing experience.

For other advice and tools, please come to Amsterdam and attend my talk : )

We thank Michele for time taken to answer our questions and knowledge shared. At React Amsterdam 2017 Michele will be presenting his talk “Test like it’s 2017”.

Let us know whom we should interview next! https://react.amsterdam/#speakers

#ReactJS / #ReactNative community behind #ReactSummit Conference and #ReactAmsterdam Meetups. Gathering 20K React fans online, 1.5K at in-person events.