由于快节奏的生态系统,我们趋向于将时间花在最新的发明并且在互联网上讨论他们。我不是说不应该这样做,但也许我们该放慢一下脚步,看一下那些并没有什么变化的东西:这样可以极大地提高我们工作的质量和价值,以及理解那些新的工具。
这篇文章混合了我的经验和对新一年的期望。我想听到你们的建议,也想分享我的一些建议。
学习如何编写可阅读的代码
我们的大部分工作不是在于编写新的代码,而是修改现有的代码。这意味着你更经常阅读代码然后再开始编写,所以你需要为下一个开发者优化你的代码,而不是为了编译器。
我建议阅读这三本有趣的书 -- 按照这个顺序,从最短到最长:
- 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
深入学习JavaScript
当每周我们有一个比任何旧框架更好的新框架的时候,这时会非常容易花费你的大部分时间去学习框架而不是语言本身。假如当你正在使用一个框架,但是并不理解它的工作原理,那就停下来并开始学习语言直到理解如何使用工具去工作。
- 一个好的开始是 Kyle Simpson的系列书 You Don’t Know JavaScript 可以免费在线阅读
- Eric Elliott 列出的清单 JavaScript topics to learn in 2017.
- JavaScript Developers: Watch Your Language by Mike Pennisi — 理解ECMAScript的新特征
学习函数式编程
多年以来,我们想要在JavaScript中使用类,现在我们终于有了类但是再也不想使用它了:函数就是我们想要的一切!我们甚至用函数编写HTML(JSX)
- Functional-Light JavaScript by Kyle Simpson.
- Professor Frisby的 Mostly adequate guide to functional programming ebook 和 他的课程.
学习设计基础
作为一个前端开发者,我们比team里任何人都要更接近用户,可能比设计师还更加接近。如果设计师必须确认你还原在屏幕上的每个像素,那说明你做错了。
- Design for Hackers: 书 和 免费课程.
- 非设计师设计 talk by Tracy Osborn.
- web应用设计 by Nathan Barry.
- web排版 by Jason Santa Maria.
- 为什么高科技产品使我们疯狂和如何恢复理智 by Alan Cooper.
- 一些关于UI动画的文章: How to Use Animation to Improve UX, Transitional Interfaces.
学习如何与人合作
出于某些原因,我们选择编程是因为我们比起和人来说更倾向于和电脑打交道。
我们很少孤立地工作:我们必须和其他开发者沟通,设计设、管理者,有时甚至用户。假如你想真正理解你在做什么和为什么要这样做,这很困难同时也非常重要,因为这是我们工作的价值所在。
- Soft Skills: The software developer's life manual by John Sonmez.
- The Clean Coder -- 专业程序行为准则 by Robert C. Martin.
- Start with No: The Negotiating Tools that the Pros Don’t Want You to Know by Jim Camp.
学习如何为人写作
我们和同事或者其他人沟通大部分都是通过书面形式:任务描述、代码评论、git commits、聊天信息、email、微博、博客文章等等。
试想一下,人们花费了多少时间在阅读和理解上?假如你通过更清楚、更简洁的表达去减少这些时间,世界将会变得更好。
- On Writing Well: The Classic Guide to Writing Nonfiction by William Zinsser.
- The Elements of Style by William Strunk and E. B. White.
- Orwell 写作规则.
- In Russian: awesome Glavred course.
学习以前的计算机科学知识
前端开发不再只是写一个动画下拉菜单,而是比以往更加复杂,而臭名昭著的“JavaScript疲劳”的一部分就来源于我们要解决的问题复杂度增加。
所以,这意味着是时候去学习非前端开发者在数十年以来建立的知识了。在这里,我最希望得到你的建议。
- 学会像计算机科学家一样思考 course at Coursera.
- 对我影响最大的五本编程书 by David Heinemeier Hansson
你的建议是什么?你打算在2017年学习什么?
注:
- 由于译者水平有限,如有翻译不当的地方,恳请大家指出,我会尽快修改
- 本文版权归原作者所有。如需转载译文,烦请注明出处:)
原文地址:What to learn in 2017 if you’re a frontend developer
作者: Artem Sapegin
译者:weapon-x