Frontend Is Eating the World
If you have a bias against frontend development, now’s the time to let that go.
A few weeks ago, I heard a developer say something that surprised me. He was scoffing at how much money a company was offering for a certain position, “just for doing JavaScript”, as if writing JavaScript was a lowly task for interns or junior programmers.
Guess what? Some of the smartest and highest-paid software engineers in the world are applying their formidable brainpower to frontend problems, leveraging JavaScript in particular – directly or as a platform – to solve those problems. Facebook, Netflix, Google – they’re all working very hard to push the state of the art forward in this area.
The problems they’re trying to solve are hard. They deal with heavy computer science-y topics: state, concurrency, asynchrony, caching. User interfaces aren’t easy!
A new era
The days of client-side scripting as a decorative after-thought are over. jQuery spaghetti is not how modern solutions are built.
Things are moving fast, and the hottest tools and best practices change daily, but patterns are starting to emerge.
Maybe it’s the naive optimist in me, but I think we are on the cusp of a new era of software development. I’ve been doing this for 15+ years, and I haven’t been this excited about new techniques in a long time.
Below are a handful of talks that I think demonstrate the spirit of this latest wave of innovation (mostly related to React). You’ll notice they’re all given by experienced devs. It’s not about finding the next trendy tech, it’s about finding methods to solve long-standing issues in new ways (sometimes by using “old” techniques!).
Some ideas that are exciting to me:
- Simple over easy (in the Rich Hickey sense of the terms)
- Immutability and functional style as a virtue
- The client decides what data it needs; requests for arbitrary data using query patterns, as opposed to REST-based requests for pre-determined data
- Plain but modern JavaScript - ES6/Babel over kitchen-sink libraries
- Skills and understanding that stay relevant across a variety of platforms
“Write the interface first”
Christopher Chedeau - Keynote, React Europe 2015. Overview of current trends and thoughts. Coins the pithy term “DX”, for developer experience.
“No abstraction is better than the wrong abstraction”
Sebastian Markbage - Minimal API Surface Area, JSConf EU 2014. Some great insights on how Facebook approaches writing strong code.
“Leapfrog best practices”
David Nolen - Om Next. Covers a lot of ground: doing away with REST and finding new ways to handle data propagation; why JavaScript as a platform is great; how immutability makes your life easier.
“Templates separate technologies, not concerns”
Pete Hunt - React: Rethinking best practices, JSConf EU 2013. A great overview of the rationale behind React.
“Equating simplicity with ease and familiarity is wrong”
Rich Hickey - Simple Made Easy. Timeless classic
“Learn once, write anywhere”
The React motto. Tom Occhino - Introducing React Native, React.js Conf 2015