池建强:当我们谈全栈工程师时,我们在谈什么?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看143 回复回复3 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 143|回复: 3
收起左侧

池建强:当我们谈全栈工程师时,我们在谈什么?

[复制链接]
苏格拉没有底 发表于 2016-6-30 12:12:48 | 显示全部楼层 |阅读模式
快来登录
获取最新的苹果动态资讯
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码

与其他互联网热词一样,全栈工程师也是英译过来的,英文全文是:Full-Stack Developer,你想啊,中国人民怎么会用客栈的栈、堆栈的栈来形容工程师呢?

池建强:当我们谈全栈工程师时,我们在谈什么?

池建强:当我们谈全栈工程师时,我们在谈什么? - 敏捷大拇指 - 池建强:当我们谈全栈工程师时,我们在谈什么?

A weekend with many books. (Tom Gauld)

谈论一个概念,首先得给伊个定义,一般来说,全栈工程师就是指技术多面手,掌握多种技能,能够独立完成 non-trivial application 的人。non-trivial 怎么解呢?就是有一定复杂度的,具备一定规模的意思。基于此,我和我的程序员朋友们,对全栈工程师的认识是:在技术栈的各个领域都能够做到出色的工程师。有了这个标准,我和程序员们面面相觑,发现没有一个是全栈工程师。技术领域浩如烟海,更新换代之迅猛如炸雷不及掩耳,别说盗铃了。互联网短短20年的发展,累积的技术信息已经不是我们终其一生能够消化的了,知道尚不可为,何以做到出色?

但是,这个标准稍稍降低一点,早期的程序员差不多就都能叫全栈了。2001年左右我们开发 B/S 产品,用来展现 UI 和 数据的程序代码中混杂了 Java、HTML、CSS 和 JavaScript,根本不可能把前端和后端拆开编写,而后端业务逻辑本身就是 Java 实现的,你不写谁写?懂了业务逻辑和算法还不行,你得把数据存数据库和文件系统吧,什么?你不懂 SQL?我靠那你还是程序员吗?你不能每次和数据库交互都让一个进程去敲门吧,数据库招你惹你了?这时候就得有个连接线程池。异常得统一处理吧,得支持集群吧,给用户部署了得能自动扩展吧,没测试怎么办?你自己写的代码写的业务逻辑写的界面,你不保证正确性谁保证?……

总之在那个年代,每个程序员差不多什么都得会点,但有的人在这个领域强一些,有的人在那个领域出色一些,不一而足。

现在看来,那时候我们应该叫全沾工程师,什么都会点,能解决问题,但是单个人,除了自己擅长的技术,在其他领域,都没能做到出色。

如果这个标准再降低一点,比如说把「non-trivial」去掉,随便做个 Application,那就容易多了,一个零基础智力正常的成年人去培训班培训几个月,差不多就能做出一个网站、一个移动 App 还包括后端,或者一个数据挖掘的展示页面。但这个范围仅仅局限在会上,和做好、出色,差距明显。可以看做是入门级的工程师,只不过和前端工程师、移动开发工程师、Java 工程师相比,什么技术都懂一点点而已。

这种工程师,我们可以把他们叫做全站工程师,基本上,进入企业之后,都得有老师傅带着,手把手教,练习和实战,才能做「non-trivial」的项目。为啥叫全站呢,意思就是老师傅讲东西的时候,都在旁边站着。

有没有真正的全栈工程师?有,比如菲尔普斯在游泳层面勉强算全栈,奥运会咔咔拿7枚金牌,你服不服?你说我也会四种泳姿……您那叫会,会和做好,差着几十个二把刀。当然了,二把刀也没什么不好,至少比拿根儿木头杵着强多了。鼓励大家在立足本职成为专家的基础上,成为一个认真的二把刀。

什么是程序领域的全栈工程师呢?我觉得云风算是游戏领域的全栈工程师,他自幼编程,在语言层面对汇编、C、C++、Lisp、Java、Python、Lua 都有深入的理解,使用起来如臂指使,对游戏领域的策划、引擎、协议和服务端架构也是驾经就熟,最新开源出来的 skynet —— 基于 Lua 实现的网络游戏服务器框架,极具参考和实用意义( http://github.com/cloudwu )……但是云风不做 Web 游戏啊,他对 JavaScript 的评价是:javascript 真是门恶心的语言!

领我编程入门的师兄 baby,也是一个编程奇才,他对操作系统、编程语言、数据库均有透彻的了解,学习新技术只能用迅猛来形容,每次技术选型之后,他就会趴在办公室里敲敲打打几天,然后丢给我们一个用新语言实现的框架,告诉我们,用!一用之下,几乎没有 bug。这样的人,可称全栈。他们并不是在编程领域样样精通,而是在需要的时候能够在极短的时间内达到常人需要长时间练习才能达到的水准。

正如我在书中写到,高手并不是懂得多,他们只是学得快而已。

现在 baby 早有了自己的公司,估计技术也做的少了,现在想起他那训疾如风的键盘指法和闪电般的学习速度,还是让人一声叹息。

整体来说,我觉得程序员们没必要去追逐什么「全栈工程师」,在工作和生活中,花 200% 的时间让自己在擅长的领域成为超越 80% 的人,然后,需要学什么就去学什么,一味追求大而全,反而会适得其反。

之前推荐的公众号「刘炯」曾经写过一篇「想当全才的自我反省」,其中一段大意如下:

就像有人给自己设定目标要学英语、学乐器、学编程、学设计、学会计、学书法、学厨艺最终一事无成一样,我骨子里也希望自己做个「样样精通」的「全才」,然而事实上自己把时间更多的花在收集信息和焦虑上,反而没有将时间用在真正的技能学习上,最终获得了「样样稀松」的结果。


这就如同很多游戏中的稀缺技能点一样,玩家永远加不满所有的技能树,如何有策略的使用有限的技能点来解决对应的问题,成了每个玩家必修的课程。

现实生活中,亦是如此!





作者:池建强

都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元

评分

参与人数 1金钱 +10 收起 理由
Anewczs + 10 观点不错哈,顶!

查看全部评分

本帖被以下淘专辑推荐:

迷途的羔羊 发表于 2016-6-30 16:00:12 | 显示全部楼层
公司什么时候会设立“全栈”这个职位?
i0n1c 发表于 2016-7-4 00:33:02 | 显示全部楼层
黑客基本上都是全栈!
firefighter 发表于 2016-7-5 17:15:13 | 显示全部楼层
等过个20年看现在,又说现在可以当全栈呢!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表