读评《web全栈工程师的自我修养》

这本书年初的时候在班车上面翻了一遍。刚开始的时候对其中很多观点不以为然,认为太浅。不过后来再翻一次的时候,不少东西还是很有启发意义,因此加以推介,涉及到作者观点、大纲,有兴趣的同学可以自行阅读,加以判断。非常适合对全栈感兴趣,但对某一细分技术还不甚了解的同学。

什么是全栈工程师

现在,技术其实变得越来越简单。云服务就在提供水和电。 所以你需要充分的去了解PAAS服务的平台,amazon的服务,github的服务,让技术不再成为门槛,让事情聚焦在提供专业的价值上面。这也就是世界级的IT支持了,你再也不用担心“只差一个程序员”了。

LAMP的技术栈 MEAN的技术栈

作者提出全栈工程师或者说工程师的前景:

其实全栈工程师,跟我在taobao十年里面看到的工程师可能是不相符合的。很多淘宝的大型系统,需要非常专业的工程师进行很多的优化才可以实现。

如何成为全栈工程师

我们都是普通人,“一万小时定律”是绕不过去的。所以要成为有竞争力的专业人员,必须要投入大量的时间。

对于招聘来说,要的不仅仅是满足要求,很多时候非常希望候选人能够超出预期。你必须要有一些额外的亮点,也就是竞争力才行。

对于成为全栈工程师这件事情,作者提供了一些建议:

从学生到工程师

本章主要论述了从学生进行校园招聘到入职实习后作者的一些感悟,对于未毕业的学生还是可以一看的。已经工作的同学,就略过吧~~

野生程序员的故事

这一章是这本书争议比较大的地方,甚至在csdn上面也引起了广泛的讨论。主要的争议点在于作者的“野生程序员”观点,引起了小公司技术者的反弹。

除了对野生程序员的讨论,本章中另一有益的讨论是针对大公司和创业公司。 大公司可以给你的:

由此而见,作者本人是比较喜欢大公司的。不过根据《黑客与画家》中的观点,大公司会让你的公司没有可放大性与可衡量性。究竟如何选择,就是仁者见仁,智者见智了。

工程师事业指南

对技术人员而言,职业生涯的发展非常重要。《您就是极客》中提出了对软件工程师而言最重要的三点:技术、成长和声望。

为啥架构师那么火?就是因为他看起来对所有的问题都知道答案。如果你是团队中这样的角色,那么可以说你非常重要。所以首先对你来说就是成为那个什么都懂得家伙。

其次对你来说重要的是积累你的作品集。作品集其实是想别人(老板、潜在老板、志同道合者)的展示窗口。github显然是程序员最重要的作品集之一。而对于高逼格的设计师来说,dribble则是更好的选择。同时github提供的静态页面托管服务对于不想费力租赁机器搭建网站的人来说,也是一个很好的选择。

全栈工程师眼中的HTTP

http协议是web开发绕不开的关键点,但是前后台对其理解都有不同。 Http版本,现存最多的还是http1.1,而大部分的浏览器和服务器server都已经支持http/2了。 从前端的角度来看,有很多http的优化方式:

而从后台来看则是另外的一种场景:

高性能网站的关键:缓存

本章主要是从基本概念的维度介绍了一下缓存,从服务器缓存到浏览器缓存两大门类。 服务器缓存则分为:

浏览器缓存:

作者推荐的浏览器缓存最佳实践:

大前端

作者在本章提出了大前端的概念,这也是最近在前端业界被提的比较多的一点。 比较有参考价值的是作者提出的前端知识体系: 初级工程师:

中级工程师:

高级工程师:

一家之言,不过大家需要的可以自行对照参考。

向移动端转型

移动端转型是大势所趋,因为大家在手机上花费的浏览时间越来越长了。 移动端可以参与的主要有:

本章在讨论移动端的同时也强调了一个观点:

让市场认可你的能力,而不是让老板认可,因为老板会变,老板的标准不一致,而市场是一致的。

持续集成

对于服务端和前端开发而言,由于没有客户端和移动app端的集成开发环境,比较难打通包括版本控制、包管理、依赖关系、持续集成在内的流程。

版本控制软件中,SVN与GIT难解难分。本质上是集中管理åŒ分布式代码管理之争。这里不展开,但是提供一些版本控制的最佳实践:

包管理中,node的npm做的非常出色。经历过java的maven那一套的都能理解npm做的有多好,多简单。同时作者还推介了bower作为新的包管理工具,这适用于有很多前端版本js库的情况。

最后本章讨论了构建工具:

本章更多是以一种白话的方式老生常谈了程序界经常讨论的问题:是语言重要还是对算法和系统的理解更重要。 当然最终作者没有也无法给出答案,这个只能读者自己来思考了。

全栈游乐场

全栈工程师的游乐场是VPS,随着阿里云、腾讯云、AWS的大力推广,现在获取VPS的成本也越来越低了。 获取自己的VPS并搭建自己网站最大的好处就在于它可以给你一览网站的全貌,而不再是局限在自己的技术栈中。 作者在本章也给出了使用VPS的一般入门,有兴趣的同学可以关注下。

软件设计方法

本章作者主要介绍了常见的设计模式,比较有料的是介绍了Web开发中的MVC这种架构模式。同时也列举了一些不同语言中常见的MVC框架:

效率在现在快节奏的职场中越来越重要。对于工程师来说,必须做到:

对工程师来说,了解设计,对设计有感觉非常的重要。 作者这里推荐了一本《写给大家看的设计书》,着重强调了设计的四大基本理论:

对这些理论的理解能够让我们在coding的同时,也能停下来看看自己的产品究竟做的如何。

全栈思维

一个人的价值,体现在他能够承担的责任。

市场越成熟,这句话应该就越对。 同时作者强调了沟通能力在全栈能力中的重要作用:

最后书中推荐的书单汇总

《专业主义》 《重来》 《精益创业》 《写给大家看的设计书》 《打造facebook》 《您就是极客》 《代码整洁之道》 《精益创业》 《黑客与画家》 《卓有成效的管理者》 《编程的本质》 《图解HTTP》 《高性能网站建设进阶指南》 《从0到1:开启商业与未来的秘密》 《代码的未来》 《禅与摩托车维修艺术》 《只是为了好玩:Linux之父林纳斯自传》 《卓有成效的程序员》 《软件随想录》 《金字塔原理》 《卓有成效的管理者》 《安静:内向性格的竞争力》