听IBM Global Technical Star 张柯谈开发人员的转型

张柯谈开发人员的转型

主人公小传

张柯,2004 年加入IBM,是一位在IBM CDL工作近13年的老员工。他从最早在SOA设计中心,负责客户项目,之后去ETI,做Web2.0,Cloud,最近这几年又忙碌在 IFE(Insights Foundation for Energy)——能源电力产品团队——更贴近行业化的解决方案。去年,他被推选为Global Technical Star。这期,他来给我们分享他的一些成长体验。

前言

在他的分享里,他谈到了开发人员所面临的迫切转型、开发人员如何建立和提升自己的影响力和领导力、World Wide的沟通技巧,以及开发人员的未来发展

    快来听听他的分享吧,绝对有料!!!

技术人员也需要转型

       我觉得技术出身的人员做纯软件、纯技术的东西比较容易,到了做solution的时候,需要跟行业结合,这时候我们最缺少的是行业背景,这也是我们所面临很大的挑战。

       因为做行业解决方案,不光需要技术,还得需要行业的业务背景,而每个行业的业务又是不一样的,有些东西又是很深的。没有行业背景,一是我们不能理解客户想 要什么,对于客户的需求了解不清;二,没有思路怎么用我们的技术去解决客户的问题,比如最初我去跟客户去谈的时候,其实我心里是很没有底气的,我们不在一 个language上,相当于大家各谈各的,很难建立起互信。

转型一:增强对行业知识的掌握

    —- 建立行业知识很重要,也是很难的事情

       很多人都是有惰性的,因为我们做了这么多年的软件,这个行业就成了我们的一个舒适区。当有一天,突然要我们去接触一个新行业,实际上相当于重新学习,这其实是挺困难的。所以最重要的是一定要克服这种惰性,一定要克服原来的舒适区。

       这也是我这几年转型最大的一个方面。虽然我现在不能说赶得上IBM专门做电力能源行业的SME,但是最起码能和人家谈事情了,而且对于这个行业的特定的一些问题,我们还会理解和做的比他们还要好。比如我们现在做的解决方案,比如asset health,connectivity model等,这个行业里的一些特定的use case,对于这些use case,我们现在就是专家了。我们做了这个产品,做的又细,又扎实,慢慢我们就变成了专家。这个转型我觉得是很重要的。

转型二:对新兴技术的追求

      现在的技术发展的很快,十几年前的技术和现在的技术相比,是日新月异地发展。原来我们有个DB2,有个WebSphere,我们就可以做事情了,但是现在大家都在做大数据,机器学习等。这些技术,如果没有上进心的话,很难去赶上这股技术浪潮。 去 年的一个事情我想跟大家分享一下,原来我们都是在传统的架构上去做的,后来我们往大数据上移动,期间我们就发现很多问题,比如我们很多团队成员都没有大数 据上的经验,公司里有这种经验的人也并不多。这时候我们就必须要去自己“探索”。刚开始可能是搭建起一个环境,能在上面跑一个简单的例子,这样之后我们就 会了解大概有什么问题,然后我再基于这些问题做我的设计,然后再做起来。

      其实做起来之后,遇到的挑战更大。 系统做出来之后,一旦被客户使用起来,其实我们遇到的问题就更多,比如这个系统的performance怎么样,它的预测精度好不好,结果对不对,这些问 题的解决都需要我们对底层的问题有更深的了解。比如,我们前段时间做了一个performance 测试,发现性能不很理想,需要对新的技术的更细节的理解。

      我认为每个开发人员都需要既懂架构,又要懂开发。

      很多时候,我们每个人都在做自己的那一部分事情,太关注于自己的那一小部分,这是我们现在最大的问题。

      大家都不太想改变,或者不想改变,或者想去改变,但是没有准备好。比如,你想做后台的东西,但是你得有能力去做;你想去做机器学习,但是你有什么能力去做机器学习等。我们要保持当机会来临的时候我们能够准备好去抓住机会。

      这是要付出很大努力的。这需要我们不仅仅满足于现在手头的事情,还要有一个前瞻性。比如一年前我们还不知道要用到大数据,但是在很多年以前我就开始去关注大数据,抽时间去了解学习这些技术。我们得保持对技术的兴趣和对前瞻技术的把握,不能一成不变。尤其不能让别人推着去变化,而是自己主动去寻求变化。 比如经常去网上去看看,而且不能浅尝辄止,要动手去做coding,不能只是看看,要至少自己去写个hello world,才能体会到这可能适合什么场景。这是要花时间的,而且是持续的。我们要常去技术社区看看,看看别人在做什么,竞争对手在做什么,回过头来想自 己要做什么,要学什么。

       —–IBM CEO Ginni在今年第二期的Think Academy上提到了开发,也说明了现在开发人员、开发工作的重要性。

关于开发这个行业

       我们日常的开发工作,因为不是经常能接触到客户,所以我们的开发人员,普遍上没有像那些互联网企业那么high,这也是由于我们开发的产品性质有关联的。 比如一些互联网企业做的分析,它是直接提供给用户的,是要自己运营的,能亲身体验的;而我们的东西,是要卖给客户,客户去用,我们没有直接的体验,没有用 户试用效果所带来的刺激,所以这对于我们的开发人员来说,行业知识就显得更加重要。我们的开发不是纯技术,而是包含有 客户的行业属性和业务需求在内的东西。所以我们也不能纯粹从技术的角度做开发,有时候你做的东西从技术上来讲很漂亮很好,但是它不一定是客户想要的。我们 的产品和解决方案由于没有直接的用户使用刺激给我们,所以更需要我们主动地对这个行业的理解。

影响力和领导力

开发很重要,但是developer也要学会去影响他人

       怎么去影响其他人,是我们developer比较欠缺的。我们习惯于封闭在自己的小圈子里,做的东西很好,但是不一定能讲的出来,或者能讲的很好。讲的好 不是为了秀成绩,而是你反过头来能反思这个东西到底做得好不好。当你去阐述去解读它的时候,你自己还能发现它有哪些欠缺,还可能有哪些改进,能再加强这个 东西。

       这方面我的经验是,一方面可能我们要锻炼自己去交流,另一方面我们要夯实我们的技术。如果技术够扎实,你会很自信去讲,当你技术没有那么扎实的时候,可能你自己都不会有信心去讲。有信心去讲,很希望别人去向你提问,都是基于我们对于技术的扎实功底。

怎么提升影响力?

       我们需要跟客户走的更近,创造更多机会去见客户。如果有机会,我们尽可能自己去运营一个产品,而不仅仅是开发产品。当然这其中也会碰到一些问题,比如没有客户数据,也很难去运营产品。这都需要我们去想办法解决的。

如何与global team相处?

       首先,我尽量做到有求必应,当人家有问题的时候,能想到来找我。通过这样能建立一个好的关系,人家也愿意和我们分享他们的想法。让他们觉得我们是很踏实的,能帮助他们解决问题的。之后,我们可以提出我们的想法,不管这些想法是否能convince他们,或者他们有想法convince我们,这样对于我们来讲也是一个很多的学习的途径。

新时代新机会

       技术上每年都有新东西,比如从SOA,到Web2.0,到Big Data,到Cognitive, 每过一段时间,都会涌现很多技术热点,这些非常exciting,也很challenge,这也是激发我坚持做开发工作的动力。

       而且我认为developer是越老越值钱的,应该和医生一样。一个好的developer不是一两年就能培养出来的,知识积累是需要10年20年达到 的。比如我们看到在美国就有很多很大年纪的开发人员。如果我们在技术上感兴趣,又有很深的积累,其实这是年轻的developer所达不到的事情。有经验 的developer在学习新东西上也是比年轻人更快,因为你理解的内容更多,更宽。所以,在新技术层次不穷的今天,咱们加油吧!

       如果你有所感触,欢迎在下面留言!