乐趣区

相信坚持的力量我的程序员打怪升级之路

摘要: 在技术型公司团队中最重要的文化是学习能力,只有不断的学习整个团队的竞争力、创新能力才能得到提升,战斗力才能越来越强。

我是来自阿里云 - 云通信技术团队的玄照,2015 年底进入阿里,刚渡过三年醇,正迈向五年陈的路上。个人兴趣爱好广泛,静的、动的,音乐、游戏、电影、运动都比较喜欢。

程序生涯启航

第一次接触编程是在高中时期“非常不重要”的计算机课程 Basic 语言,现在回想起来仍然清晰的记得当时第一堂上机课时运行编写好的代码时的那种神秘、好奇、激动的心情,我想应该是从那个时候开始坚定了到今天的程序员生涯。因为偏科严重,大学并未能如愿进入计算机相关的专业,但因为兴趣还在,所以大学时代对软件编程课程格外关注,有时间也会偶尔到学校计算机学院去旁听自学一些课程。

可能就是因为内心始终有一份“执念”,所以运气还不错,毕业就找到了一家软件公司从事网页设计相关的工作,从此开始了转型之路,从网页设计、到测试、到割接脚本、到前端开发、再到后端开发,因为心之所向,所以不管哪里有空缺我都愿意补上去,通过三年的时间,自己也从团队的边缘做到了核心开发。

那个阶段个人的成长和进步还是非常迅速,我认为这主要得益于三个方面:首先是看书学习,当时很明确自己的不足,所以充分利用业余时间阅读了一系列 JavaScript、Struts、Hibernate、SQL、编程思想、JVM 虚拟机、编程思想、设计模式等技术基础相关的书来补齐自己的短板,让自己的技术体系逐步趋于全面;其次是阅读代码和实践,能主动去找机会承担需求,申请到对应的代码权限,阅读同事的代码知其然知其所以然,从中吸取经验,在实现需求更改代码的过程中也能合理的引入书中学到的一些技术点去落地;最后是虚心请教,遇到不懂的问题一有机会就会向人求教和讨论,工程师们都很热心,能耐心指导,纠结的问题能够快速的得到答案,从而提升自己的效率。

进入阿里云,跳出舒适区

到目前为止我经历了三家公司,选择来到阿里主要的原因有两点。一个是源自于自己的危机感,当时自己呆在一个职业生涯的舒适区,工作上的挑战度和个人的成长在当下的技术氛围环境下很难突破,希望能在更大的平台和有更多优秀技术人的环境中取得个人技术上的突破;其次是对阿里的好奇和向往,在所有的项目技术选型前,不管服务框架、服务治理、消息中间件、数据库、读写分离、缓存、事物处理、发布流程等涉及的技术点和流程都会不同维度的与阿里内部或者开源的中间件进行比较,总感觉得自己站在外面,了解的都是“点”,不能有体系化、深入的了解,确实进入内部了解下阿里整个的技术生态和体系。

接到 offer 后其实也有过纠结,从舒适区到一个这么有挑战的公司去也还是需要一些勇气,所以决定来之前给自己和家人做了很多心理建设,回想当初,心理上的准备也是我能顺利通过试用期和快速适应阿里氛围和节奏的关键因素之一。

在阿里第一年,我的感触非常多,印象最深的还是两个词:拥抱变化和绩效。阿里文化中提到比较多的词之一就是拥抱变化,也是新人参加百阿培训必定会提的,这个文化的含义我觉得也只有切身经历后才能真切的体会背后的含义,其中节奏的变化、人员的变化、工作内容的变化、团队的变化等等随时都有可能会发生,所以拥抱很重要,拥抱不仅代表对于变化的接受,还需要对于变化能快速的调整自己,学习补足自己来适应变化。

进入阿里也是第一次接触了解到云通信的业务,逐步的去学习 Freeswitch 开源工具、软交换、运营商的组网等知识。随之而来的也是一系列的变化,试用期内核心成员转岗,随后主管也变了,独自一人承接整个平台,平台也处于孵化阶段,问题不少,从需求设计开发、客户支持、资源接入、计费结算等等都需要人工介入,压力特别大,过程很痛苦。但是十分庆幸当时自己的坚持,那一年把所有事情都扛了下来,自认为很满意,绩效自评的时候给了自己 3.75,但最后主管评价是 3.5,一开始特别想不通,也开始回顾、反省和总结,后来想明白了,3.75 注重的是结果,并不是你过程中有多辛苦,能否把业务支撑下来,而是你能不能让平台能力、让业务变的更好,能不能发挥周边同学的力量和你一起协同作战,其实这一年自己在这些点上做的并不是很好。

伴随云通信一起成长

第二年,经历了我在阿里最重要的一个项目,作为项目 PM,完成了我所负责的平台从孵化阶段到产品化的转变,并为云通信业务上云商业化打下了一个坚实的基础。项目制定了明确的业务目标和技术目标,经过上一年的沉淀和问题梳理,从多个维度将平台能力做了全面的提升。
首先是产品化和标准化提升,解决客户接入渠道、协议多样问题;建立资源引入、测试、上线、下线的标准流程;解决人工计费、结算、对账的效率问题。

其次,构建沉淀统一的智能决策平台,基于静态、动态规则的二级路由调度平台,实现调度规则收敛以及基于成本、质量等多维度的资源调度自动化。

第三,平台架构以及稳定性的提升,全面梳理核心链路的单点问题。应用、机房级的容灾能力建设,网关全链路的心跳探测机制,实现分钟级自动隔离和恢复;供应商链路上多专线和容灾体系的构建,去除依赖,链路精简,降低系统复杂度。
第四,运维保障体系的构建,去除过于技术化的表达式配置,将配置结构化、线上化;线上问题定位、排查工具;以及监控、告警体系的构建。

项目结束后,整个平台的产品能力和稳定性得到了极大的提升,同时也能让其他团队的同学介入进来参与到整个平台能力的建设和运维中。在此基础上产品也快速的实现了商业化,成为阿里云云通信业务重要的组成部分。

也基于此,这一年也获得了主管晋升提名的机会并成功通过。关于晋升,之前其实也没有任何心理准备,讲的也都是基于两年内的平常的思考和总结。所以我非常认同,在职场中晋升是一件水到渠成的事情,最重要的是看你自己做的工作能否让业务或者平台发生改变并往好的方向发展,让业务产生更大的价值。

技术型公司需要这样的你

基于自身的经验,我认为在技术型公司团队中最重要的文化是学习能力,只有不断的学习整个团队的竞争力、创新能力才能得到提升,战斗力才能越来越强。关于学习,我的方法首先还是阅读经典书籍,对于要解决的问题、涉及到新的技术通过阅读能够全面、体系化的获取到需要的知识点。其次是像优秀的人学习,我会刻意的多观察高层级优秀同学解决问题、思考问题的方法和思路,同时遇到问题也会向他们请教、交流获取答案。

以上是我基于自己经验的一些看法,希望能给到即将来或者想要来阿里同学一些帮助。

最后,作为云通信业务的基础技术团队,技术同学的主要工作职责是各产品线技术平台的构建、能力优化以及技术创新。随着业务的发展,整体技术面临的挑战也还是比较大的,也非常希望在分布式环境下对系统架构优化、稳定性、高并发、性能优化经验丰富有想法的 Java 技术牛人加入我们,一起做世界上最好的云通信技术平台!

职位申请链接:https://job.alibaba.com/zhaopin/position_detail.htm?trace=qrcode_share&positionCode=GP525299


本文作者:山哥在这里

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

退出移动版