Importance of the developer experience in the modern frontend
In the past frontend developer could spend years mastering the same set of tools. Now we don’t have this luxury. We have to adapt to constantly changing ecosystem. We’ve replaced Grunt with Gulp, JSHint with ESLint, Bower with npm and everything with React.
It requires us to develop new skills:
- monitor new tools and techniques;
- quickly decide what to learn and what to use;
- debug frameworks and libraries.
It makes developer experience much more important than ever. In the past few months I spent many hours debugging strange issues with webpack, Babel and other libraries. I believe that we can do better.
What we, as tools developers, can do
Improve documentation quality
- More examples.
- Get started guide for beginners.
- Starter kits and boilerplates.
Describe breaking changes and how to upgrade
Improve error handling
Good: React. Lots of checks and meaningful warnings in the development mode. Elm. They are trying to be really useful.
Bad: almost everything else.
Use semantic versioning to notify users about breaking changes. They shouldn’t be afraid that updating to a new patch or minor version breaks their code.