最近越来越多人的在谈论 全栈工程师 (full stack),从某种意义上来说,一个优秀的工程师,必然是一个全栈工程师,或者至少一两种跨语言、平台工作的能力。 就我个人的理解,来探讨一下如何定义一个优秀的工程师。

简单版本

聪明、好沟通、自我驱动、有激情。

复杂版本

  • 有扎实的基础知识。理解计算机、操作系统、编译、链接、装载等各个环节的原理;理解网络原理;熟悉常见算法和数据结构。

  • 深刻的理解至少一门计算机语言。有完整的用一种语言实现一个产品的经历,有10万行以上的编码经验;完整掌握整套工具链。

  • 有良好的学习能力。可以阅读英文文档,经常上几个活跃的英文网站看文档、代码。可以在几个星期内上手一门语言。

  • 良好的沟通能力。可以有条理的描述事情、问题;能根据对方的背景,用对方更能理解的语言沟通;习惯编写友好的文档;有良好的心态接受挑战,并从中找到积极因素。

  • 良好的自我管理能力。可以在复杂繁多的问题里,找到最能推动项目前进的点;在有限的时间内,达到既定目的,并能控制风险。

  • 有追求更好最佳实践,更佳方法的激情。

除了上面列举的具体能力,还有一个非常重要,或者可能最重要的是,知道自己什么东西不懂。

虽说列举了很多,但个人感觉还不够。一个以技术为导向的公司,顶级工程师的能力直接决定了整个公司的能力。

最近观察美国的几个小而美的互联网创业公司,几乎都有很好的技术实践,有的创始人更是跨 产品设计、视觉设计、软件设计、文档编写的更大范围的 full stack。

关于作者:张虎
weibo: @Tiger_张虎云巴 (yunba.io) 创始人,yunba.io 云后端服务。 JPush 创始人,原CTO。 Oracle VM 创始团队成员。


云巴
849 声望77 粉丝

云巴(Yunba.io)基于 MQTT,支持 Socket.IO 协议,支持 RESTful API,是一个跨平台的双向实时通信系统,为物联网、App 和 Web 提供实时通信服务。支持 C、Embeded C、iOS、Android 等多种 SDK。适用于 IM 即时通...


引用和评论

0 条评论