阿里工程师的自我修养.pdf

1. 如何成为高效率的工程师?

节省时间,避免重复
① alias 长命令变短
② 使用好的工具 dash+alfred(mac下)
③ 阅读别人总结整理过的资料 官方文档>完整教程>英文stackoverflow、medium>掘金>segmentfault>开发者头条>简书、知乎…
④ 时间管理 日程表 TODO list
倒三角时间安排
周一 安排满工作
周二 一个小时空闲
周三 两个小时空闲
周四 三个小时空闲
周五 四个小时或更过空闲

2. 在工作中正确的沟通方式是怎样的?

直接面对面沟通有缺点:① 打断别人思路; ② 缺乏沟通深度。
可以通过发邮件、微信等来间接沟通,但是要“一次发送”就把要沟通的事情描述清楚,这样比较高效,而且沟通内容可以留痕。

3. 如何正确的提问?

正确看待自己提出的问题没有人及时给反馈:每个人都很忙,精力都有限。
正确的提问一般:
“一次发送”把问题描述清楚;
② 不要问没有答案的空泛问题,比如学习前端是否有前程,学什么框架比较好等等;
③ 在适当的地方提问;
④ 降低别人理解问题的成本,抽取问题 demo 放在 jsbin,jsfidder 这样的在线网站上;
⑤ 付费咨询。

4. 如何看待技术争论?

看待某项技术一定要结合技术背景,所要解决的问题,以及可能带来的新问题;
聊技术就只聊技术,不要涉及技术之外的问题。

5. 计算机基础(基础、操作系统、计算机网络等)对前端工程师来说重要性如何?它是如何影响我的工作的?

大致可以分为计算机基础(算法、操作系统、计算机网络等)以及计算机方法论(设计模式、编程范式等)。
这些都决定了可以达到的高度。

6. 如何看待前端界日新月异的新技术?当我们学习新技术的时候,我们在学什么?

教育在教什么?把教的东西全忘掉后所剩下的东西。
学思想,学解决问题的思路,不要学 框架、API。

7. 为什么要编写优雅的代码?

代码是给人看的,而不是给计算机看的。

8. 为什么公司里的代码总是不那么完美?如何看待这一切?

Everything Is A Trade-Off.(所有事情都是权衡之后的结果。)
哪里有问题有抱怨,哪里就有机会。
边开车边换轮胎。

9. 如何减少团队的低质量代码?

① 自动化工具 ESLint、pre-commit
② 数据类型检测 TypeScript、Flow
③ code review 定期组织“code review day”,集思广益,头脑风暴。

10. 影响力对于前端工程师来说是否重要?为什么以及如何提升影响力?

关注量是个人影响力的体现。
徐飞:影响力的大小代表了话语权的大小。
提升影响力的方法:
① 知乎、stackoverflow、segmentfault、掘金回答问题,写文章;
② 技术沙龙、大会分享嘉宾、线下活动等。

11. 前端工程师是否应该了解其他技术?

“先是工程师,才是前端工程师。”
要跨界了解其他领域技术,站在更高的维度看问题。
其实是一个深度与广度的问题,要做“π型”人才。