The front-end ecosystem is growing at a rapid pace, and we spend our time trying out new technologies and discussing them online. I'm not saying it shouldn't be the case, but maybe we can slow down and pay more attention to the things that don't change that much. These things can greatly improve the quality of work, increase the value of work, and help us understand new tools.
This article contains my own past experience and New Year’s plans. I also hope to receive your feedback.
Learn how to write readable code
Most of our work is not to write new code, but to maintain existing code. This means that you spend far more time reading code than writing code, so you need to optimize the code for your next colleague who maintains the code, rather than optimizing for the interpreter.
I recommend everyone to read these great books, from thin to thick, in the following order:
"The Art of Writing Readable Code" by Dustin Boswell
"The Way to Clean Code" by Robert C. Martin
"Code Encyclopedia" written by Steve McConnell
Learn JavaScript deeply
Almost every week a new JavaScript framework appears that is better than the old framework, which makes it easy for us to Part of the time is spent learning the new framework rather than the language itself. If you are using a framework and don't know how it works, be sure to stop and start learning the language itself until you understand how the framework works.
You'd better start with Kyle Simpson's "JavaScript You Don't Know" series of books, which can also be read online for free
Eric Elliott has made a big list of JavaScript topics you need to learn in 2017.
Henrique Alves also provides a list of knowledge you need to have before using React (in fact, any framework)
"JavaScript Developers: Watch Your Language" author Mike Pennisi, you can understand the process of adding new ECMAScript features to TC-39.
Learn Functional Programming
We have always wanted JavaScript to have classes. Now we finally have it, but we don’t want to use it at all. Functions are what we want to use most! Even we use functions to write HTML (JSX).
"Functional-Light JavaScript", author Kyle Simpson.
Professor Frisby's e-book "Mostly adequate guide to functional programming" and free courses.
Learn the basics of design
as a front-end Developers, we are closer to the users than anyone else on the team, even closer than the designers. When a designer has to check every pixel on your page, you're making a mistake.
"Design for Hackers": Books and free courses.
"Design for Non-Designers", Tracy Osborn.
"Design of Web Applications", Nathan Barry.
"On Web Typography", Jason Santa Maria.
《The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity》,Alan Cooper.
《A few articles on animation in UI》: How to use animation to improve user experience, interface transition Effect.
Learn to work with others
Many of us choose programming because we want to interact with computers more than with people, but unfortunately that doesn’t work.
We rarely work alone: we spend most of our time communicating with other developers, designers, product managers, and sometimes even users. It's hard, but it's important if you really want to understand what you're doing and why you're doing it. After all, that's the value of what we do.
"Soft Skills: A Programmer's Survival Manual", John Sonmez.
"Professional Qualities of Programmers", Robert C. Martin.
"From Scratch", Jim Camp.
Learning to be a human being Writing
Most of our daily communications with colleagues and other people are textual: task descriptions and comments, code comments, Git commit messages, chat messages, emails, tweets, blog posts, etc.
Imagine how much time it would take people to read and understand this. If you can reduce these time drains by writing more clearly and concisely, the work environment will definitely become better.
"On Good Writing", William Zinsser.
"The Elements of Style", William Strunk and E. B. White.
"Orwell's Rules of Writing".
In Russia, there is a great Glavred course.
Learn traditional computer science knowledge
Front-end development is no longer about making simple drop-down menu animations. Its complexity has reached an unprecedented level. As the problems solved by the front-end become more and more complex, the hated "JavaScript fatigue" will inevitably appear
Therefore, we need to learn from what non-front-end developers have done in the past few decades. years of computer science knowledge. At the same time, I also hope to hear your suggestions.