来到现在的公司(竞技世界)已经有4个年头了,要说是转眼间,似乎不合时宜,在互联网行业绝对算是老员工了,我想说一下我对于工作中事情的认识和自己的想法。
首先来做一个普及,公司的名称是竞技世界,拳头产品是JJ斗地主,需要重申的是这里的JJ念做(勾勾),和棋牌中的勾圈凯是一个同一个发音,这样说是我在每次技术大会中的讲师环节都需要认真解释一番,同时纠正读音,另外就是很多对于公司是不是游离在法律边缘充满好奇,我们对内对外都是把绿色健康作为底线,这一点不存在时间偏差和侥幸,以后有人问,我还是会这么解释。
在我的职业生涯中,让我印象很深的前公司是Amdocs,这是一家国际化的企业,原来在朝阳门附近,我在那里度过了很难忘的4年,这4年里,对我职业生涯最大的变化是我从原来的Java开发工程师转型成为了数据库工程师,我的第一任导师是一位热心的印度女DBA,我依然记得以色列老板Ilan当时叫我进办公室的时候是这样说的:“在做好现有的开发工作的前提下,我们可以做一些尝试,需要知道的是,这是一次尝试,如果在过程中有任何问题我们就会停下来。。。。”,就这样我开始自己的DBA生涯,而直到在零零散散的一些碎片化支持中,直到3个月后的一次任务交付,各方都难以推进的时候,我主动站出来承担了很多本不属于我的任务,整个事情一下子推进顺利多了,而从这个时候我开始被各方团队逐步接纳。而泰国的Jinna当时算是我的技术主管,我在最后一次出差时,和他聊了很多,他很认真的告诉我说:这不是奉承,而是事实,你是我见过最专业的DBA。
时隔多年,大家都已经有了很大的变化,而我每次回想起来,很多良好的软件设计思想和架构思路,在原来的工作模式中都有体现,有些是我当时无法理解的,在随后的工作中也逐步得到了验证。 至今为止,我看到的很多行业中优秀的数据库侧的设计,毫不夸张的说,我们在10年前都有一些全球化的普遍应用。
我之所以花一定的篇幅去说前公司,主要是想表达的是,我现在所在的一个阶段是需要发光发热的一个重要阶段,而不是单单的学习, 如果这个公司靠谱,在你的职业生涯里,需要花时间去打磨很多的事情,而在这几年的打磨中,是一段难忘的心路里程,简单来说,很多事情1-2年内是很难沉淀下来的,而且极难落地,所以我们就要不忘初心,做出更多的努力。
我想通过两个实例来说明下。
第一个实例是数据库体系的构建和发展,这看起来是一个很纯粹的技术问题,但是在这些年的工作中,我养成了迭代演进的思路,而这也是一种很务实的思想,比如分布式的架构改造,我们早期对于存储过程有较深的依赖,而存储过程和数据库的通信是一次,而改为SQL模式可能会有数次,在流量和复杂度方面如果直接上来就做最纯粹的分库分表会很被动,所以在早期的演进中,我们选择了读写分离和业务垂直拆分的思路,而在逐步推进演进的过程中,也把重心从功能逐步转到了架构和性能,整个过程是一个需要时间去改变的阶段。而回过头来看这个事情,带给我的不仅仅是技术方案的落地带给我的充实,反而是这种无形的经验带给我的启示和经验,当然我们也不要把经验错用乱用,比如原来需要迭代3次花6个月的时间,有了前置的基础,后续的迭代就不需要再迭代3次花6个月了,同时同事关系也是重要的一环,大家有了信任基础和能力的了解,推进起来才会更配合一些,这个哪怕是空降,从上向下的管理都是很难解决的。
第二个印象很深的事情是数据库自动化运维的演进,说实话这个演进的技术层面的东西更多一些,也是在几乎空白的情况下,我们重新构建了运维体系,而我也从零开始了Python Django开发,从而能够让一些看起来不那么美好的服务跑起来,基本满足了功能的需求,然后修修补补,才让整个服务能够有一定的流程符合运维需求,直到后来的自助化服务等,整个过程的演进对于我们都是有比较大的挑战,有很多设计我们都是独一份的模式,而且因为运维体系的建设相对是一个偏内部的建设,在资源投入上就需要保证现有的业务支持,所以难免会人力不足,支持力度不足。
我在这件事情上的信心就是打好技术底座,按照较高的标准来设计,把问题考虑的更长久一些,而不是着重解决眼下的一些问题,因为我坚信数据库运维技术的发展目标必然是基于机器学习的数据库技术,所以我的前置设计还是会考虑到一些之前未曾想过的问题。
小结
如果要做一些提炼,那么第一个实例想说明的是迭代和演进让落地更加务实,同时有一定的担当,第二个实例是敢于打破现状并付诸努力改进,看问题要更长远,而不是眼皮下的一些事情。
最后想送给大家一句话共勉
星光不问赶路人,时光不负有心人
网友评论