What to learn in 2017 if you’re a frontend developer
With our fast-paced ecosystem we tend to spend our time trying the latest inventions and arguing about them on the internet. I’m not saying we shouldn’t do that, but probably we should slow down a bit and look at things that don’t change much: they could greatly improve quality and value of our work, and understanding of those new tools.
This post is a mix of my experience and my wishes for the New Year. I want to hear your suggestions as much as I want to share mine.
Learn how to write readable code
Most of our work isn’t in writing new code but modifying existing code. That means you read code much more often then write it, so you need to optimize you code for the next programmer, not for the interpreter.
I recommend reading these three amazing books — in this order, from shortest to longest:
- The Art of Readable Code by Dustin Boswell
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Code Complete: A Practical Handbook of Software Construction by Steve McConnell
Learn JavaScript deeper
When every week we have a new JavaScript framework that’s better than any older framework, it’s easy to spend most of your time learning frameworks rather than the language itself. If you’re using a framework but don’t understand how it works, stop and start learning the language until you understand how tools you use work.
- A great start is Kyle Simpson’s book series You Don’t Know JavaScript which you can read online for free.
- Eric Elliott has a huge list of JavaScript topics to learn in 2017.
- Henrique Alves has a list of things you should know before using React (actually any framework).
- JavaScript Developers: Watch Your Language by Mike Pennisi — understand TC-39 process for new ECMAScript features.
Learn functional programming
For years we wanted classes in JavaScript. Now we finally have them but don’t want to use them anymore: functions are all we want! We even write HTML using functions (JSX).
- Functional-Light JavaScript by Kyle Simpson.
- Professor Frisby’s Mostly adequate guide to functional programming ebook and his free course.
Learn design basics
As frontend developers we’re closer to users than anybody else in the team, maybe even closer than designers. And if designers have to verify every pixel you put on screen, you’re doing something wrong.
- Design for Hackers: a book and a free course.
- Hello Web Design book by Tracy Osborn.
- Refactoring UI book by Adam Wathan and Steve Schoger.
- Design of Web Applications book by Nathan Barry.
- On Web Typography book by Jason Santa Maria.
- The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity by Alan Cooper
- A few articles on animation in UI: How to Use Animation to Improve UX, Transitional Interfaces.
Learn how to work with humans
Some of us come to programming because we prefer to interact with computers more than with humans — unfortunately that’s not how it works.
We rarely work in isolation: we have to talk to other developers, designers, managers and sometimes even users. That’s hard but it’s very important to really understand what you’re doing and why, because that’s where the value in what we do lies.
- Soft Skills: The software developer’s life manual by John Sonmez.
- The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin.
- Start with No: The Negotiating Tools that the Pros Don’t Want You to Know by Jim Camp.
Learn how to write for humans
A big portion of communication with our colleagues and other people are textual: task descriptions and comments, code comments, Git commits, chat messages, emails, tweets, blog posts, and so on
Imagine how much time people spend reading and understanding all that. If you can reduce this time by writing more clearly and concisely, the world will be a better place to work.
- On Writing Well: The Classic Guide to Writing Nonfiction by William Zinsser
- The Elements of Style by William Strunk and E. B. White.
- Orwell’s rules on writing
- In Russian: awesome Glavred course.
Learn the old computer science wisdom
Frontend development isn’t animated dropdown menus any more. It’s more complicated than ever before, and part of that notorious “JavaScript fatigue” stems from the increased complexity of the tasks we have to solve.
This, however, means that it’s time to learn from all wisdom that non-frontend developers built up over many decades. And here I want your recommendations the most.
- Learn To Think Like A Computer Scientist course at Coursera.
- The five programming books that meant most to me by David Heinemeier Hansson.
What would you recommend? What are you going to learn in 2017?
Some of the links above are affiliate, so if you buy something using one of these links, I’ll receive a small commission.
Thanks to Henrique Alves, Nicolás Bevacqua, Alexander Burtsev, Nataliya Karatkova, Oliver Turner, Juho Vepsäläinen and Anton Zhiyanov for feedback and suggestions.