"I can't believe how much more there is to learn as a web developer these days"
This was the the theme of a conversation I had with Marc Grabanski as we filmed the last course of the year on Front End Masters . We both reflected on our first experiences writing code for the browser (sprinkling a little JavaScript on a very server-oriented app), and reminisced at how easy we had it compared to people beginning to learn today.
Of course, this is a little misleading. The things we were building back then are no more difficult to make today, but now expectations are much higher, and the "list of standard skills" seems to be ever-growing. Customers demand more, teams expect more, and the modern browser doesn't let us make as many excuses.
In particular, to take advantage of some of the most exciting and modern aspects of building a web app, the developer may have to think about
- A rich JavaScript app in the browser
- A REST API, potentially making use of websockets for a real-time connection
- An asset-serving layer that has some server-side rendering capability
- The production environment that the app is running in (i.e., a CDN, server-side caching services, distributed state across a cluster, etc…)
- Service workers of various versions installed across their userbase
Those of us who learned to use JavaScript a decade ago or more had far less complexity to wrangle.
Not only are we building complex systems, but we have many options for tools to aid us in creating our solutions, and they are constantly changing and improving over time.
In a world where everything is continually changing, we must take continual learning seriously.
Last year, through traveling, training teams and speaking at conferences I had the opportunity to to talk to many developers of varied backgrounds, about their biggest career pain points. When you get down to it, the difficulty in learning and staying on top of all there is to know, is a huge barrier that affects both newcomers and experts alike.
Developers tend to develop pockets of expertise, stay there and protect it. This is a natural instinct, but is holding us back as a community. If you've ever experienced resistance to adopt something new, because there's concern over whether developers will "get it", the pain I'm talking about is at the root of the problem.
In terms of business value, this has a huge and very tangible cost (the opportunity cost of what we could be doing if everyone knew and was aware of more). Let's imagine a scenario:
- 20 developers
- Average Salary of 100K USD
- Increased expertise could improve their productivity by 5% to 20%
What we're seeing here is that lack of expertise, and the struggle of stumbling around with incomplete information (or information packaged in a way that doesn't make deploying it in a product as intuitive as possible) costs between 1 and 4 developer salaries!
Although this is a problem that exists at nearly all levels of expertise, the low hanging fruit, in terms of tangible benefit to products and teams, is helping people become get the most value out of the tools they already use. Shortly after that comes elevating teams to a level of proficiency where they can operate broadly over an application, and helping teams feel confident in taking advantage of new things for the benefit of their users.
In 2017, I'm changing course to do my part in addressing this pain:
I will be working with LinkedIn as a consultant
My mandates are as follows
- Actively & passively elevate the level of expertise of their front end developers
- Reduce the friction of plugging new hires into fast-moving teams
- Enrich the company's hiring pool, by reducing friction, evangelizing and increasing adoption of technologies they're invested in like Ember.js
LinkedIn has shown a long-term commitment to wholistic teaching and learning, including the purchase of lynda.com. My motivations and efforts dovetail with theirs almost perfectly, and I've been seriously impressed by their willingness to invest in their teams, both directly and indirectly. They've hired an [impressive array of talented developers (including this recent hire), and clearly believe that a rising tide lifts all boats.
I will be producing several new video courses
Working with Front End Masters has been a fantastic experience, and Marc's devotion to packaging and polishing fantastic curriculum from devoted teachers is truly inspiring. I'll be continuing to work with them, and with several other partners, covering topics like
- Modern JavaScript & Progressive Web Apps
- Elixir & Phoenix Framework
- Fast, secure and robust CI/CD pipelines, and production environments
- Harnessing the power of Tools, Text Editors & IDEs
I'll be doing many in-person workshops & trainings throughout the year
To start, I'm offering some JavaScript and Elixir/Phoenix Workshops in Europe, through a partnership with Simplabs. This is taking the same Elixir training that was a hit at Ericsson HQ in Stockholm, but going far more in-depth than would be possible in a single-day event.
In short, I believe that to offer the best training I possibly can requires that I have a singular focus on teaching and learning. This is a huge change from the scrappy startup experience of 2016, but I couldn't be more excited and eager to get started.