新公司转正演讲稿

Posted by yangchw on May 22, 2021

这是我在新公司转正答辩上的演讲内容,及由这个机会,回顾了我十年技术之路,有一些思考值得记录下来。

大家好,感谢各位来听我的转正答辩。

我的试用期是6个月时间,说到这个,一开始我还觉得半年的时间好长啊,现在回头想来反而觉得可真快,我想这主要是因为这段时间里我的工作以及生活都非常充实,只要过的充实,时间就会过的很快。

个人简介

毕业已经十年,回想起这十年踪迹,我从一个Java开发,到全栈,再到技术总监,再到现在的DevOps开发,所走过的的道路,有些是偶然有些是必然。

刚毕业后,我参加了一个Java培训班,那时候是在济南,培训时间是半年多一点。由于对编程的热爱,我第一个结束培训并入职了山东绿邦数据公司,作为Java开发工程师,独立开发了网上订餐系统,并参与了公司网站的OpenCMS系统的开发。我现在还记得,当时公司上百人,在我自己开发的网上订餐系统上订餐,并使用飞秋协议将消息及时推送到每个人电脑上时的那种喜悦和骄傲。这也是我第一次感到作为程序员,可以程序改变世界的那份骄傲。

对于技术人员来说,兴趣和热情永远是第一位的,兴趣是最好的老师,对技术持续的热情则是最好的创新动力。中国的程序员时间还比较短,现在网上说程序员过了三十多就会被淘汰的论调,我想他们说的不是真正的程序员,他们说的是那些对技术没有太多热情和兴趣,编程、写代码只是一份维持生活的工作职业而已;而那些持续的专注于技术研究和创新,必然能够为公司和社会带来源源不断的价值,于何处何时都不会被淘汰的。

神州泰岳

带着这份骄傲和热情,在2011年我来到了北京,我想我应该算是第一批乘坐刚刚开通的京沪高铁来北京的人吧!刚毕业工资比较低,基本算月光了。我记得来北京的时候身上只剩下两千块钱,好在比较幸运的是,当时神州泰岳提供了住房,这帮我节省了很大一笔费用。

在神州泰岳,是属于信息安全部门,我负责的项目有中国移动 4A 系统、河南移动手机运维门户、广东移动 4A 系统 Portal、移动集团安全管控支撑平台 Portal 的前后端开发。

一开始作为Java开发,那时候还没有前后端分离的概念,Java开发既要写后端业务逻辑也要写jsp页面。后端是Struts Action框架,SpringMVC还没开始流行。4A项目中,印象比较深的是连接堡垒机的多维框功能,就是在一个弹出框中,实现连接SSH以及Window远程连接的功能。多维框使用jQuery写的,使用其API操作DOM一步步实现,这个过程渐渐的让我对前端感兴趣。最终在4A的下一个版本中,我根据在这个项目中的经验总结出了一套拿来即用的UI组件库,命名为IAMUI。

后来负责了移动集团的Portal项目,前端的交互的逻辑比较复杂,去金融街的移动集团总部跟他们领导进行了多次沟通以及代码的重构,用了大概两个月时间上线的。在当时从界面和交互还是比较先进的,集团领导和用户都比较满意,最后还获得了奖金。不过最重要的是,在这个项目过程中使用了一些,当时前端界已经开始流行AMD和CMD的概念,Node开始在国内萌芽,尤其是阿里巴巴,淘宝内部开始在实际生产环境中使用Node。我还记得当时老田写的《Node深入浅出》,以及Node的中文社区CNodeJS。

再后来就是河南移动运维门户的APP开发,这个项目中充分使用了JS的模块化机制,使用requireJS这个工具实现了AMD,在这个项目中还有较多的图表功能,研究了D3,还有HightChart,以及几个比较小众的图表库,最后基于需求选择了HightChart。同时由于这个项目是一个APP项目,我还做了一阵Android开发。这个应用应该是中国移动第一个实现在移动端进行运维工作的应用。

最后就是基于OpenStack的云安全项目了,我对云计算的了解也是从此开始的,当时根据OpenStack的官方文档,在刀片机上成功安装运行,感受了云计算的魅力。尤其是虚拟化技术,SDN技术,对象存储技术等。同时也对开源社区以及开源文化开始了解,最喜欢转的是开源中国,还有《大教堂与集市》、《黑客与画家》这几本书,尤其还记得格雷厄姆对学校、幼儿园等社会机制的讽刺。在这个项目的开发过程中,连接OpenStack的Java客户端正在开发中,当时在GitHub上还对这个客户端的代码提交了不少PR。

后端、前端、移动端、数据库、网络、云计算、开源等等,在神州泰岳的四年中,我第一次对技术从全貌有了整体的了解。这是非常重要的,像许多行业一样,技术领域的知识也像一张网一样,对于当时的我一个刚毕业的人来说,只是知道了一些点或线,对于事物能够系统的了解,必须将这些点串联起来,既要储备下这些知识,又要有很强的动手能力,最好是在项目中用到、真正的实践。所以技术人员,在项目中除了能够完成本职工作以外,能够主动承担起额外的工作,使自己能够得到历练和积累,从而串联起不同的知识点是何其重要。

极致驾服

2015年,随着全民创业的浪潮愈演愈烈,我也毅然决定加入其中。离开神州泰岳后,先后去了一家做智能家居的(智能路由)、一家做校园活动(类似活动行),智能家居的是在望京,入职的职位是前端开发工程师,校园活动的是在创业街,职位是全栈工程师,都是创业公司。虽然感受了一把创业的热潮,但时间都不长就因为各种原因离开了。最后入职了在中关村E世界的极致驾服,从开始的全栈工程师,再到后来的技术总监,开启了一段与以往截然不同的旅程。

刚入职的时候,我们的研发总监已经组建完了团队,他是微软研究院的院长,也是做技术的,整个团队又30多人,前端、后端、iOS开发、Android开发、UI设计、交互设计、产品经理,人员组成都比较完善。

极致驾服算是一个从公司集团独立出来单独孵化的创业项目,集团是做考场的,是国内第一家实现电子监考的考场,当时是业内的标杆,央视的焦点访谈和经济与信息栏目做过专题采访。随着全民创业的潮流,以及互联网创业项目的火热,驾培行业也出现了很多相关的应用,例如58的驾校一点通,小米投资的驾考宝典,趣学车,好学车等等,这些应用大多从C端入手,整合B端驾校,俨然一副要颠覆传统驾培市场一般。极致驾服正是在这种情况下诞生,一开始也像大多数应用一样,从C端入手,开始还叫一步学车,1.0版本开发出来后,在全国进行推广使用。但随着市场的反馈,以及治标不治本,无法解决学车过程中的痛点等问题,一步学车1.0版本也宣告失败。集团做了战略调整,开始转向2B方向,从服务和运营入手;以及后来要做的平台模式,S2B2C等等。现在想来,无论从那个方向入手,都没有对错,重要的是真正的解决学车服务中的痛点问题,而解决这些问题既需要找到这些痛点的真正根源,又需要强大的执行力和运营整合能力,且战略的选择也跟企业自身的文化息息相关。

在2017年我担任技术总监后,由董事长直管。我从一个默默无闻,只关注技术领域问题的开发人员,开始关注业务、市场、运营等领域的问题。每天我不再只思考技术开发的问题,也开始搜索研究技术之外的所有问题。这个过程中我写了大量的文章记录了这些对于商业价值的思考。随着成为团队的负责人,对于研发流程,团队管理,价值观文化等领域也了解的越来越多。如第一次在团队中推行敏捷开发,参加腾讯工程师做的敏捷开发培训;第一次在集团中推广和直播培训讲解团队新开发的功能,也开始收集数据和反馈,基于此改进产品;第一次开始研究硬件,车载计时系统;第一次写BP,为投资人讲解系统和竞争优势,甚至为上市辅导组织提供资料等等。我不再是一个单纯的技术人员,我开始关注产品价值,开始参与公司战略的制定,开始站在一线了解用户使用产品时的逻辑。我开始看《创新者的窘境》、《精益创业》,甚至《原则》,看混沌大学的创新方法论等等。

在极致驾服的4年多时间里,我们开发了极致驾服的“三端+一平台”,即极致驾校管理平台和学员端、教练端、校长端,以及三端的小程序和微信公众号服务,从1.0版本一直迭代到目前的3.0版本,目前这些系统已在集团的所有驾校部署使用。

技术人员必然是要有用户思维、时刻关注业务,这一点我已经深信不疑的。没有用户思维的技术人员,他开发的产品和功能只能是空中楼阁,也无法判断技术演进的方向,最终导致自身无法产生太大价值。当我拿着我们开发的学员端、教练端和校长端直面用户时,当我直接在驾校的服务大厅服务岗位观察服务的全过程时,无不体现了用户思维对技术开发的重要性。说白了,技术是要给人使用的,人用了技术才能产生价值,之后得到反馈不断迭代改进,才能推动技术不断发展和创新。无论在创业公司,还是在成熟的大公司,业务处于中心,技术、市场和管理都是为了支撑企业业务的发展。

技术演进方向

工作总结及成长

十年间,我的经历还算丰富多彩。随着极致驾服的系统部署使用,而运营和服务的提升是一个漫长而艰辛的过程,集团缩减了技术部门的预算并交由运营相关部门管理,不再直属董事长直管,相当于这个内部孵化的创业项目完成了它的使命,无论成败都要告一段落了。我也决定离开极致驾服,开始我的下一个五年计划。

在2020年8月份我正式提交离职,十月一前离开。这段期间,我一直在思考未来的方向。之后我参加了极客时间的架构师训练营。时间短暂,只因人事纷繁,我需要专注在一个领域。工作的前十年时间,对于一个技术人员来说,广度已经够了。正如训练营开篇中有人问做技术是选择广度还是深度?李智慧老师直接的回答就是深度,深度够了自然而然就能做广,因为无论那种技术,底层的规律都是相同的,而做广了却不一定。我想任何事也是如此,精益求精才能融会贯通。

我面试了几家公司后,机缘巧合之下,王凤总推荐我来华胜聊一下,在这里一块干点事也不错,都是想做事的人。最终,李总和曾总对我进行了面谈。尤其是跟曾总聊的时候,我对云计算领域的DevOps相关的技术特别感兴趣。

近几年,云计算领域是一个发展迅速的行业。我的理解是云计算由三部分组成,一个是微服务,一个是DevOps技术及文化,一个是容器技术。对于DevOps来说,在极致驾服开发的时候,使用Jenkins和GitLab实现的CI/CD,让我非常惊诧。当跟曾总聊的时候,他说我对DevOps的CI/CD了解不够,CI还包括了从需求、业务,不仅仅是这些工具。而我对DevOps方向的兴趣也正好契合华胜天成云计算产品线的DevOps开发计划。企业和员工之间的选择是相互的,在这个契合之下,我毅然决定入职华胜天成公司。

入职华胜后,在芬姐的指导下,我顺利的熟悉了公司的流程;接下来很快我们部门进行了重组,组成了一个完整的团队,前端、后端、部署,形成了DevOps运营与开发部。

第一个项目是DevOps平台中基于Activiti的工作流以及自定义表单; 第二个项目是天梭平台,一站式能力交易交付平台; 第三个项目是工作流中实现并行和串行网关,以及流程变量功能; 第四个项目是天梭平台湖北联通项目。

这差不多半年的时间里,我经历了团队的磨合期,对各个项目产品的了解期,还参加了一次敏捷开发的培训。在这几个项目中,我担任了后端架构设计相关的角色,以及部分代码的编写。对于我这个老手来说还算游刃有余,即使最开始天梭项目时间特别少的时候。也了解了公司的Kubernetes部署配置过程,对Kubernetes的使用我一开始了解不是太多,开始的时候在极客时间上进行恶补,看完《深入剖析Kubernetes》后,在脑海中才算有了一个雏形。

团队刚组成的时候出现几个问题。一个是沟通问题。以前在极致驾服,由于是技术总监,可以对技术说一不二的,养成的习惯就是比较强势。一开始我说话都是确定句式,但这样并不能带来什么优势,甚至适得其反。后来我及时调整心态,通过多个微服务的创建以及约定和配置规则的制定,大家合作也越来越顺利。正如我想的那样,只要是真正的技术人员,心态都是纯粹的,通过不断的输出最佳实践,团队的氛围自然而然会朝向期望的方向发展。所以技术人员更应该“能动手的就别叨叨”,用技术的力量解决技术团队的问题是最好的方式。

另一个问题是分工合作与全栈式开发的问题。在开发天梭项目时,由于是前后端分离的方式,项目时间又紧,以我全栈式开发的思维,前端需要展示但能够处理的一些数据前端就自己处理了。但这却被前端强烈反对,我很快意识到这是一个前后端分工合作的团队,分工明确更有利于项目的快速推进,我很快规划了接口的设计,将输入和输入参数独立出来,既有DTO也有Param对象,能够灵活传递和处理各种数据给前端。不仅如此,到项目后期,前端工作量比较大的情况下,我也加入到了前端的开发中,毕竟后端接口业务逻辑前期比较简单,开发工作量小一些,后续可以再慢慢改进,而前端如果页面和交互都没有写完,产品也交付不了。基于以上,在团队的不懈努力下,最终实现了天梭项目的如期交付。现在回头想来,这不正是DevOps倡导的“职责共担,持续改进”的文化吗?

不足与规划

若要看一个人的不足,不需要听他自己说,而是要看这个人的经历。人往往不喜欢直面自己的缺点,而自己的经历却喜欢向别人诉说。于我同样如此,正如上面的个人介绍和履历一样,从参加工作到现在,做的项目更多的是应用层的,尤其在互联网创业型的公司,更多的是快速的实现业务,快速交付MVP,以及通过技术来拓展业务。这导致了我是一个偏应用层的技术人员,而对于底层的沉淀和积累是较少的。

就像我前面说的一样,在未来的规划中,我更想在技术领域往深度去发展。我定的一个目标就是成为一个优秀的架构师,做出技术敏捷型的架构,即通过敏捷的架构来践行敏捷开发。

另一个不足是我自己的沟通能力,在《程序员的思维修炼》这本书中说,程序员的最重要的两项技能就是:沟通能力、学习和思考能力。尤其是敏捷开发中,强调了团队成员之间,最终客户和开发团队之间的沟通交流,有效的沟通变得越来越重要。

因此,在接下来的时间里,一方面我将在项目开发中进行积极的沟通,另一方面我也会刻意练习掌握一些沟通技巧。

后续规划

架构师

印象中我专门系统的学习架构设计,在极客时间上有三个专栏,从不同的角度给予我营养,我总结了几点如下:

第一个是架构设计与开发的不同之处是:架构不是用户来调用你,而是你只要这么写,架构就会自动来调用你;架构本身是遵循敏捷软件开发的原则和模式来的,使用该架构的开发团队自然就是敏捷的;

第二个是架构设计是来解决系统复杂度问题的,复杂度的来源就是高性能、高可用和可扩展,以及其他的诸如成本、安全、规模等问题;

第三个是要想做好架构设计,必须要系统了解系统的底层原理,掌握不同技术的优缺点,在不同的场景中实践不同的设计模式。

产品

在后续的规划中:一个是DevOps平台产品的开发和发布;另一个是天梭平台的迭代,未来能够实现真正的一站式能力交易交付平台。

DevOps的火热得益于敏捷开发和精益创业思想的推动,在云计算时代,DevOps的技术也开始变得云原生化。像国内开源的猪翅鱼,国外开源的Spinnaker,在CI层面更多的是现有工具的集成,在CD方面是基于Kubernetes的容器化技术。随着将需求、业务的概念也纳入DevOps进来,BizDevOps也是一个方向。

在DevOps上的创新需要以为客户提供价值为基础,不仅是工具,还有文化。在文化方面就是“职责共担,持续改进”,以及信息的“透明度”;在工具上就是整个研发流程中能够自动化的都要实现自动化,例如自动编译和部署,开发流程自动流转等等。

目前在CD方面,大部分通过流水线方式实现,而在CI方面的自动化目前还未看到能够眼前一亮的创新,例如通过需求看板的流转自动重构代码,通过低代码方式让业务人员参与到开发中以加速交付速度,通过架构的方式如在代码中增加注解实现需求状态的自动变更(配置即代码),以提供准确的交付数据(如前置时间数据)来改进交付流程等。这些点在目前国内的产品中还是空缺的,不过这也是我们DevOps产品的机会。

天梭平台是一个能力交易交付平台,也是公司战略方向。正如李总所说,如果推进的好,她也许会变成公司的第二曲线。当然一个公司要实现从第一曲线到第二曲线的切换,不仅仅是开发一个产品,转型一种模式;而且要打破客户价值网和破除组织的内在心智模型。这个难度,曾经在创业公司待过的我是深有体会的。需要有独立自主的有能力担负其这样责任的团队,需要有长期稳定的路线和目标,需要以价值为核心以业务为方向,更需要执行力……

回到目前的现状中来,要实现这样的一个目标,上面说的DevOps平台是它的一个组成部分;当然天梭平台1.0基本实现了既定的目标,接下来除了项目上的需求开发(只要知道我们的中长期目标,在项目开发中就可以有的放矢,在满足需求的同时,提取公共的模块加入到目标产品中,天梭湖北联通项目也正是这样做的),我觉得就是先完成DevOps平台的开发和发布。

公司

目前我对公司的整体了解还不太多,除了本部门的人员已经熟悉的差不多了以外,对其他各个部门人员大部分也不认识,不过后续一定会有合作和沟通。希望未来能够更快的熟悉起来,就像技术角度的架构师一样,需要了解全局才能更好的工作。

心得体会

入职华胜天成,特别是到咱们云计算团队中来,我感触颇深的是,这是我对自身技术路线的一次回归。过去的十年我从技术中来,未来的我也终将回归到技术中去,这更像我自身的一种使命。

说了这么多,更像是对自己说的一样,我是一个比较耿直的人,更是一个理想主义者,坚信每一份努力都会化为埋在心里的金子,迟早会发光的。