程序员看到"全栈"这个概念,大概会有两种反应
1. 卧槽,这个好,碉堡了
2. 你懂毛,全栈就是样样稀松
以上两种反应其实都有失偏颇。因为即使只学一门技术,水平很菜的人也多的是,而全栈工程师当中样样都做,而样样都做得不错的也不少。更别说这个世界还存在另外一种爆栈型的程序员,做什么,什么都精。
从我的个人实践出发,全栈学徒至少要掌握以下几种技能:
Web 前端开发,至少掌握一种前端框架;
Server 后端开发,至少掌握一种后端框架;
Server 运维,掌握 Linux Server 的搭建与维护;
客户端开发,iOS 和 Android 至少掌握一种;
数据库,掌握 SQL 和 noSQL 数据库。
而获得全栈这个称谓则应该至少独当一面的一个人完成一款产品的构建,并且真的经历过商业化运作,以及,被自己的愚蠢坑过无数次。
由此可见,全栈的门槛还是挺高的,并不是说掌握以上五种技能,就能称为全栈,至少要加个学徒来修饰一下,也正是因为太多学徒自诩全栈,才令旁人觉得"全栈"就是"样样稀松"的同义词。
不过,这篇文章的题目是 —— 为什么你应该尝试全栈,所以我想讨论的并不在要不要做全栈,而是尝试。
外行与内行
过去几年里,我和不少团队聊过,发现绝大部分的团