In our fast-paced engineering world, we tend to spend our time trying out the latest inventions, then arguing about them on the internet.
I’m not saying we shouldn’t do that. But, we should probably slow down a bit and also take a look at the things that don’t change all that much—the things we probably know pretty well already. Not only will this improve the quality of our work and the value we deliver—it will actually help us learn these new tools faster.
So this year, here are the skills you should be focusing on (or, redirect your attention to if it’s been a while) if you’re a front-end developer.
Learn How to Write Readable Code
Most of our work lies not in writing new code, but maintaining existing code. That means you end up reading code much more often than writing it, so you need to optimize your code for the next programmer, not the interpreter.
I recommend reading these three amazing books to help do just that—in this order, from shortest to longest:
- The Art of Readable Code: Simple and Practical Techniques for Writing Better 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
- Henrique Alves has a list of things you should know before using React (which also applies to any framework)
Learn Functional Programming
- Professor Frisby’s Mostly adequate guide to functional programming ebook and his free course
Learn Design Basics
As front-end developers, we’re closer to users than anybody else on the team—maybe even closer than designers. And if designers have to verify every pixel you put on screen, you’re doing something wrong. Pick up all your design basics with these:
- The Design for Hackers book or free course by David Kadavy
- The Design for Non-Designers talk by Tracy Osborn
- Design of Web Applications by Nathan Barry
- On Web Typography 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
- “How to Use Animation to Improve UX, Transitional Interfaces” by Nick Babich
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 the role works.
We rarely work in isolation: We have to talk to other developers, designers, managers—and sometimes even users. That may be hard, but it’s important if you want to really understand what you’re doing and why, because that’s where the value in what we do lies. These resources might help you get more comfortable in these extroverted situations:
- 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 then some.
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. So, read these:
- 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 The Economist
Learn the Old Computer Science Wisdom
This, however, means that it’s time to learn from all wisdom that non-front-end developers have built up over the decades.
Here are a couple resources I personally would recommend on this:
- The Learn to Think Like a Computer Scientist course at Coursera
- “The five programming books that meant most to me” by DHH
This article was originally published on Medium. It has been republished here with permission.