What makes React so special?

No readers like this yet.
open here

Opensource.com

Brian Holt is a senior user interface engineer at Netflix and self-described "life long learner."

He is a graduate of Brigham Young University and previously worked at Reddit, Needle, and Deseret Digital Media. In addition to his work at Netflix, he serves as a curriculum advisor to the web design and online communications master's program at the University of Florida.

Brian will be speaking at OSCON on React and ES 6, and I recently had a chance to interview him.

What are the most exciting challenges you face as a senior developer for Netflix? How is your work enabling binge watching?

I'm always excited about taking an inherently frictionful process like signing up for a new service and making it as pleasant as possible. I hope some day it'll so intuitive that you'll be from the home page to watching a show without even realizing you arrived at the home page not signed up. That's the goal. We're obviously not there yet!

You recently tweeted that the difference between you and a junior developer is smaller than you think. Can you expand on that?

I was reflecting on what I had done that day at Netflix, and it was mostly just writing pretty basic React—something a newly minted developer wouldn't have much trouble with. Much of my job is that way: Writing the code to wire up new interfaces. Sure, I know the shortcuts and best practices because I've hit many of the problem cases before, but that's a detail.

My opinion of what makes a senior developer "senior" is neatly aligned with what the brilliant Sarah Mei said the other day in her tweet storm: Senior devs make those around them better in addition to the code itself. What I'd perhaps add to that is that senior devs know how to deal with the occasional really, really hard problem that junior and mid-level devs might not know how to solve, but I think that's more the exception than the norm.

Help us to understand React and what makes it so special.

React is special because it decided to eschew the common best practices of UI development and try to find a better way. Instead of shoehorning the server pattern of model-view-controller into the UI, they decided to approach it from a more component-based way of doing it: They decided to mash all the concerns for one problem/component into one file and have many composable components. This is what set React apart. What keeps it compelling to me is the "props down, actions up" model of dealing with interfaces and the inherent statefulness of them. By limiting how and where you can mutate state, you're reducing your bugs' potential surface area and thus make your future debugging and refactoring experiences easier. React forces patterns to make it easier to maintain and debug.

Can a person with no coding experience get started with React? What are the prerequisites?

Absolutely. Once you have a grasp on JavaScript, you can learn any of the major frameworks. However, make sure you learn JavaScript really well first! Each of these frameworks are ephemeral; they're here today and gone tomorrow. But learning JavaScript itself will serve you with any framework and eventually whatever languages you learn. It will serve you better in the long run.

What attracted you to open source? On your LinkedIn profile you say you're a jack of all trades and master of some. How has that approach to life and learning benefited you?

I've always loved to learn new things. In college I studied bioinformatics, genetics, and Italian composition. I enjoyed the act of being in class and simply absorbing everything the professor had to say. Unfortunately, this didn't make me a good student: I never did my homework! But this led to a lifelong learning process and me learning to teach myself and eventually others. Hence, I became a jack of all trades—someone who enjoys gaining a breadth of knowledge in many subjects—and eventually found my domain of passion: User interface development.

This has benefitted me because I haven't much caught the "JavaScript fatigue" yet. I can see why it's exhausting to many, but it's exhilarating to me because I love finding out how other people approach common UI problems. It's also benefitted me because I have to take hard problems and turn them into things my dumb self can understand. Turns out this is a very useful skill when teaching to others; hence why I love giving conference talks and workshops!

Tags
User profile image.
Educator, entrepreneur, open source advocate, life long learner, Python teacher. M.A. in Educational Psychology, M.S. Ed. in Educational Leadership, Linux system administrator.

Comments are closed.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.