《web 全栈工程师的自我修养》读书笔记

月色真美截图

人的精力有限,有强的地方就必定有弱的地方,全栈工程师可遇不可求,但本书比较全面的介绍了前端工程师向全栈工程师转型的需要。

先声明,以下全部是读书笔记加上个人拙见,欢迎讨论交流。

全栈工程师的定义:一个人包揽整个网站的构建

今年来看,产品边界越来越模糊,伴随着技术也越发融合。技术岗位也逐渐在融合。交互设计和视觉设计由一位设计师来完成,app 客户端、web 端、小程序等,统一由前端开发来完成。后台开发 docker 部署、分布式微服务也越发常见,提供微服务的 Sass 平台国内也有了。

图:产品开发流程
产品开发流程

老板雇佣一个员工,不是因为他能写程序,而是因为他能帮助自己赚钱。
赚钱有两种方法:减少成本,或者增加收入。程序员如果能加快内部系统的运行效率,让产品制作流程更加顺畅,就是减少成本。如果能让用户更容易地购买产品,或者提高服务质量吸引更多用户,就能增加收入。在老板看来,程序员只是一个昂贵的劳动力,他会不会写程序都没那么重要,重要是能赚钱。

上面这段话,我认为就是全书的核心价值观了,技术为赚钱服务,如何赚钱?提高效率,优化用户体验。全栈工程师一专多长,可以胜任小型项目,在大型项目中也能全面思考,沟通效率高。

全栈工程师能力要求可以简化为产品、设计、编程。价值的优先级是 产品 > 设计 > 编程,但入门的顺序确实相反的,先学会编程,然后向设计过渡,最后是产品。当然这三个能力多少也是可以同时成长的。

我想具体的例子是 《时间块》app,作者安妮生活中有个痛点,做了一个 app,然后优化设计,最后这款应用常年稳居 App Store 排行榜,而作者的职业也从程序员转为设计师了。本书的作者,15 年著书,从他的博客来看,目前也是带领微云设计团队。

编程中书中列出了一些前端需要的技能,我这里归纳为不限语言的:
HTTP
性能优化(关键是缓存)
编程语言基础语法和原理的理解
对相关库、框架的使用
编辑器、插件、调试工具
版本工具、构建工具
安全
自动化测试
包管理

设计工具有:
Photoshop、Axure、Sketch、Quartz Composer

另外还提到了沟通、管理能力,这里不赘述