谈谈 T 型人才

 

昨天的图片发模糊了,正好我把这个话题展开聊一聊吧。这个话题是关于复合型人才的,我把它称作 T 型人才。

「全栈」工程师

前一段时间,「全栈」工程师的概念很火,不过大多数时候,「全栈」工程师指的是一个人同时写 Web 前端和后端,顶多加上一些运维工作。通常情况下,我很少见到一个人能够同时写 Web 前端 + 后端 +iOS 端 +Android 端。

在猿题库(我们现在改名叫猿辅导了)创业初期,我曾经试图同时写 iOS 和服务器端,但是我很快就放弃了。因为当时服务器端的代码量还是很大,同时有好几个人在编写。有些时候我需要加逻辑时,会涉及到他们的代码修改,这个时候我就会需要花费额外的精力来看懂他们原来的逻辑。

当时正值创业初期,我们的 Code Review 并不严格,代码的相关设计文档也不多,我只能通过阅读源码来跟上另外几个服务器端开发同学的逻辑。很快我就放弃了,因为在创业阶段,效率是第一位的,同时做 iOS 和 服务器端,使得我在服务器端不够专注,效率变得低下。

从那之后,我就意识到,「全栈」工程师可能最适合的场景就是 Web 前端 + 后端的偏前端的逻辑。因为那个场景下,前端工程师可以省掉沟通接口的时间,也可以自己统一前后端的模版,甚至他可以尝试统一语言,同时用 JavaScript 写前后端(在后端使用 nodejs)。

而在别的职位上,是很不适合全栈的,因为这样工作产出会下降。

T 型人才

那我为什么又想聊 T 型人才呢?是因为我觉得 T 型人才和全栈不一样。在我看来,T 型人才有一门自己擅长和精通的语言,同时又有足够宽的视野,使得他在合作的时候,能够更多地站在对方的立场上考虑问题。

打个比方,做过服务器端开发的同学,再转而做客户端开发,就会更加注意 Restful 接口的设计合理性。相互之间协商接口时,知道什么样的方式服务器端好实现,什么样的方式不好实现,然后定出来的接口就会让对方非常舒适。

与此同时,T 型人才对于自己理解和学习新东西,也是有很大帮助的。我之前做过 Java 语言的服务器端开发和 JavaScript 语言的前端开发,之后才转做 iOS 开发。各种语言和开发环境接触多了就发现:其实很多概念都是相通的。我想我之所以当时学 iOS 开发上手那么快,也是由于在别的语言上有积累。

其实对于移动开发来说,iOS 和 Android 也有很多相同的概念,比如 iOS 的 UIViewController 和 Android 的 Activity。当然,它们也有很多不同的技术细节,比如对界面排版设计,iOS 因为设备屏幕单一,所以刚开始选择了简单的绝对定位,后面选择了 size class 的方式。而 Android 因为屏幕分裂严重,所以选择了更加流式的排版设计。

iOS 因为追求界面的流畅和性能,选择了引用计数这种相对麻烦的内存管理方式,而 Android 因为需要借力 Java 语言本身的生态和苹果竞争,所以采用了垃圾回收这种会带来潜在卡顿风险的内存管理方式。
每年的 Google IO 大会出现的新技术,并不比 WWDC 逊色。今年 iOS 10 的一些改进,也看到了不少 Android 的影子。

如何成为 T 型人才

那么如何成为 T 型人才呢?我们老大郭常圳想了一个办法:轮岗。轮岗的意思是,当你成为某一方面的专家后,跳出自己的舒适区,转而到一个新的技术领域从头学起。

在我们公司,很多早期员工都经历过轮岗。比如我曾经从服务器端转到前端和 iOS 端,也是轮岗这个激励带动的。yangyz 从服务器端转到 Android,xuhf 从 Android 转到服务器端,zhangyc 从 Web 前端转到后端。每一个轮岗工作,都是对我们极大的挑战,但是让我们都成长为 T 型人才。

但是,轮岗的意思绝不是做一个技术方向「三心二意」,每一次转换技术方向,都应该是对前一个技术方向至少做到熟练掌握的程度才行,而我自己觉得,不经过一到两年的实践,很难称作熟练掌握。所以,轮岗的行为应该是低频的,而且是面向那些最优秀的开发者的。

这一点有点像大学的换专业,在我们学校,大一的学生可以在一学期后申请换专业,但是前提是这个同学在愿专业成绩达到前 10%。

换专业和换技术方向一样,机会只会给做得最好的人,公司不会因为一个人在 iOS 开发上做得不好,就把他轮换到别的开发岗位。

谈谈 T 型人才的更多相关文章

  1. 人才-T型人才:百科

    ylbtech-人才-T型人才:百科 T型人才是指按知识结构区分出来的一种新型人才类型.用字母“T”来表示他们的知识结构特点.“—”表示有广博的知识面,“|”表示知识的深度.两者的结合,既有较深的专业 ...

  2. C加加学习之路 2——两招让你成为牛X的T型人才

    有个小伙伴在微信上问我: 我刚工作半年,有时候对于Java的发展方向有点迷茫,Java的范围是在是太广了,我有时候会不知道从哪开始入手,我想问一下,您有什么好的建议吗? 我理解这位朋友的问题是:工作中 ...

  3. 第一周——不同java 的发展史你,注定成为不了领袖型人才

     James Gosling  1991年,James 高斯林在Sun公司的工程师小组想要设计这样一种小型计算机语言,该语言主要用于电视盒的消费类电子产品上.另外,由于不同的厂商选择不同的CPU和操作 ...

  4. 谈谈Web前端工程师的定位

    原文地址:http://www.360doc.com/content/10/0708/17/1277406_37692580.shtml 2010-07-08  锋子chans   阅 1116  转 ...

  5. T型架构观点学习

    一.成为T型人才 眼界格局思维要尽可能的开阔,并不断横向开阔,专业能力要尽可能专注,并且纵向上不断加深: 互联网的快速迭代开发和扁平化管理,使单纯管理人才的作用越来越小,除了分配任务和项目管理,在其他 ...

  6. T型知识实践结构的力量(转载)

    最近在做的一些新的事情,这其中获得的一些新的思考. T型的知识积累,深度的挖掘可以通过"举一反三"的应用在广度上,广度可以通过"交叉验证"加强我们的认识,可以说 ...

  7. 推荐一本写给IT项目经理的好书

    原文地址:http://www.cnblogs.com/cbook/archive/2011/01/19/1939060.html (防止原文作者删除.只能拷贝一份了) 推荐一本写给IT项目经理的好书 ...

  8. 如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证

    这次公开课请来的嘉宾对自己的简介是: 连续创业失败的创业导师:伪天使投资人:某非知名私立大学创办人兼校长:业余时间在本校通信安全实验室打杂. 自从他在黑客大会上演讲<伪基站高级利用技术——彻底攻 ...

  9. 干货|什么是特性团队/功能团队(FeatureTeam)

    最近一直在思考如何做团队组织能力建设和如何进行决策.执行产品研发策略.因为自己一直在研发效能领域,所以来谈谈什么是特性团队(FeatureTeam), 怎么创建特性团队以及在日常工作中如何结合 Scr ...

随机推荐

  1. BZOJ2938 [Poi2000]病毒 【AC自动机】

    题目 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码段,试问,是否存在 ...

  2. Eclipse项目类型转换

    例如,将一个普通java项目改为动态Web项目: 在eclipse的项目上点右键,刷新项目. 在项目上点右键,进入属性(properties) 在左侧列表项目中点击选择“Project Facets” ...

  3. es6总结(十一)--class & decorator

  4. yii model层操作总结

    yii model层操作属性和方法总结. tableName – 设置Model所对应的表名,例如: public function tableName(){return 'gshop_order_e ...

  5. 【APIO2016】Gap

    题目描述 有 $N$ 个严格递增的非负整数 $a_1, a_2, \dots, a_N$($0 \leq a_1 < a_2 < \cdots < a_N \leq 10^{18}$ ...

  6. CF997D

    分析: 假设在第一个树上我们有一个长度为x的环,在第二树上我们有一个长度为y的环,那么可以在叉积树上构造出$\binom{x+y}{x}$个长度为x+y的环 问题的关键就变成了如何统计出在一个树上的长 ...

  7. Codeforces 235 C

    题目大意 给定一个模板串, 再给出\(n\)个询问, 询问每一个串的循环串总共在原串中出现了多少次. 循环串: 比如说有\(str[] = \{ABCD\}\), 则其循环串有\(\{ABCD\}, ...

  8. python解析xml文件时使用ElementTree和cElementTree的不同点;iter

    在python中,解析xml文件时,会选用ElementTree或者cElementTree,那么两者有什么不同呢? 1.cElementTree速度上要比ElementTree快,比较cElemen ...

  9. 【转载】Websocket学习

    首先是在Tomcat里面看到Websocket的演示.很有意思. http://localhost:8080/examples/websocket/index.xhtml 里面有: Echo exam ...

  10. 第十讲_图像检索 Image Retrieval

    第十讲_图像检索 Image Retrieval 刚要 主要是图像预处理和特征提取+相似度计算 相似颜色检索 算法结构 颜色特征提取:统计图片的颜色成分 颜色特征相似度计算 色差距离 发展:欧式距离- ...