码农十年连载六

------学以致用、用以促学、学用相长

换到平台产品部后,我进了基础组件组,跟我的几个要好的同事一个组。基础组件组主要是维护一些公共的模块和组件,比如rabbitmq,mysql,redis,memcache,tomcat,ejabberd,libevent等等。这些我之前都没有接触过,一个个都是他们认识我,我不认识他们。所以刚开始的时候就一通乱学,老觉得时间不够用,经常加班,跟在终端产品部时的工作状态形成鲜明的对比。但是我喜欢这样的状态,这让我觉得充实,有劲。

我还没转过来之前,基础组件组就在预研一个新一代的网络管理系统。因为平台产品部正在做一个全新的5.0平台,所以需要一个全新的网络管理系统,来管理平台的所有服务器和接入平台的所有终端。我转过来没多久,这个网管系统就正式立项了,由基础组件组负责开发。新网管系统设计成B/S架构,分为数据收集模块,数据处理模块,数据存储模块和前端展示模块四大模块。因为这是基础组件组第一次从头开始做一个完整的项目,其他同事对界面处理这已块都不懂,然后就安排我做前端展示这一块。虽然我懂界面处理,可是我从来没有做过网页呀,没办法,只能从头开始学。所以那段时间我每天都泡在w3cschool这个网站上面,学习html,javascript,css,ajax等等。

因为rabbitmq,ejabberd等这些开源组件都是用erlang写的。我那几个要好的同事当时为了维护erlang写的组件,就学习了erlang这门语言。然后一起吃饭的时候,就一直听他们说erlang怎么怎么好,所以我一直都对erlang很好奇,一直想也想学一学。决定转到平台部后,其中一个同事就建议我开始学erlang,还把他买的书借给我看,所以我转过来之后,erlang就学得差不多了。

虽然学了那么久的erlang,但是包括我的同事在内,还没人用erlang做过实际的开发。对于一门语言来说,如果从未使用它来开发过东西,那么对这门语言的理解是无法深入的。加上erlang在并发处理这一块确实表现很不错,很适合做服务端的开发。所以我们打算用erlang来写这个新网管系统的数据处理部分和web服务器,把这个项目作为我们的erlang练手项目。

因为我是做前端展示这一块的,所以这个web服务器就由我来写。于是乎又是各种百度呀。后来找到cowboy这个开源web框架,cowboy是erlang写的。然后我们这个新网管系统的web服务器就基于cowboy来写了。

当前端界面和web服务器差不多开发完成的时候,负责数据存储模块的同事因为一些原因要离职,但是他走的时候只定下来网管的数据使用mysql+redis来存储,mysql存储告警信息,统计信息等需要持久存储的数据,redis存储一些在线状态,会议信息,告警状态等实时数据。而没有给出具体的mysql表设计以及具体的redis数据存储方案。所以领导当时就很发愁,谁来接手这一块的工作呢?当时我的工作暂时告一段落了,后续的工作必须要等mysql表设计以及具体的redis数据存储方案出来后,才能开始。因为前端的主要工作就是从mysql和redis里面取数据,然后展示给用户。所以我就主动把数据存储模块的工作接了过来,但是redis和mysql我都没学过呀,没办法只能硬着头皮学了。

虽然很多东西都是从头开始,但是我却从来没有感觉到困难或者是不适应,我很享受这个过程。在这个过程中我深深体会到了,学东西最快的方式就是学了就用。你看我这短短半年的时间里,学了多少东西,前端开发,erlang,mysql,redis,linux,而且这样学了后,印象还深。所以我要感谢网管这个项目,如果没有这个项目,平台的一些东西,我不会学得那么快。当然,还要特别感谢我的同事们,在学习的过程中,碰到的很多问题,都是在他们的帮助下解决的,他们可以说是我平台开发的入门老师。

后来基础组件组进行结构调整,改为基础平台部,包含四个组,应用组,组件组,运维组和部署架构组。因为在终端产品部的时候,我一直是LTM,对于应用开发方面的东西还是很熟悉的,加上来基础组件组后,在网管系统的开发上表现也不错。所以结构调整后,我又成了基础平台部应用组的LTM,应用组主要就是做网管这个项目。

成了LTM后,领导分给我两个应届生,跟着我一起做网管。也许你会说,你自己都才刚刚转平台开发没多久,很多东西都还没有搞懂,怎么带新人?其实不然,正是因为我也是新人,所以我更懂得怎么带新人。因为我刚刚经历过啊,知道相关的知识怎么学习会比较快,知道他们会关心那些问题,会犯哪些错误。所以对这两个应届生基本上就是按照我进平台组后的经历进行培养的。试用期过后,首先让它们学前端的东西,因为前端的东西比较独立,而且适合新人学习。对于新人来说,最好的激励方式就是,学完一个东西后,能立刻用所学的做出点什么,这会带给他们非常多的成就感,能对后续的学习产生强烈的推动作用。

前端的东西他们一个月就基本上学完了,然后网管前端的工作就移交给他们了,我就专注在web服务器和数据存储这一块工作上面。把网管前端的工作移交给他们,一方面释放了我的工作压力,另外一方面也巩固了他们所学的知识,并且进一步加深了他们对前端知识的理解。

当网管前端的工作做得差不多的时候,我就让它们开始学erlang。erlang学完后,我就给他们讲网管web服务器的代码,然后我就把web服务器的工作也移交给他们了。同理,他们在做web服务器的过程中,又巩固了erlang的学习并加深了对erlang的理解。

因为架构调整之后,之前负责数据处理模块和数据收集模块的两个同事被分到了组件组,这两个模块本来要移交给我们应用组,但因为当时我的工作已经饱和了,新人又还没有培养起来,所以这两个模块暂时还由那两个同事负责。现在新人都培养起来后,我就把这两个模块都接过来了。所以最近就一直在维护和整理这两个模块,等自己弄懂后,再给给新人培训。

从2014年三月份转到平台部门到现在,一直在做这个网管项目,一直非常忙碌。自己要学一堆的东西,要开发新功能,查问题,改bug,还要培养新人。虽然忙碌,但收获很多,过得也很充实。

我个人感觉,终端开发和平台开发,差别还是挺大的。终端开发注重用户交互和用户体验,平台开发注重高稳定,高可用和可扩展性。做平台开发要求的知识面比终端要广,平台这边需要研究的技术比终端要多,而且很多方面都值得深入研究。

2016又是新的一年,对后续工作也要有新的规划。因为一直在做项目的原因,虽然很多东西都会了,但是了解得不深入,新的一年应该再往深处去了解。还有一些比较感兴趣的东西,但是一直没有时间去研究,新的一年也可以抽空去研究研究。

-----------------------------------------------------

欢迎关注我的微信公众号 ^_^

时间: 2024-10-25 19:51:43

码农十年连载六的相关文章

码农十年连载一

------人生天地之间,若白驹之过隙,忽然而已. 上周公司年会的时候,表扬和奖励了一批在公司已经服务了十年的老员工.公司每年年会都会对已经在公司服务了十年的老员工进行表扬和奖励,每每此时,大家都纷纷感慨,时间过得太快. 虽然在目前的公司还没有服务满十年,但是我已经满满当当写了十年代码了.十年,说长不长,说短不短,人生能有几个十年?回忆往事,很多情境仍历历在目,诸多感慨,堵在胸口,不吐不快. 我大学学的计算机,对C语言非常着迷,还在上学时就用C语言写了个扫雷小游戏,所以立志毕业后一定要找一份写代

码农十年总结

十年磨一剑,霜刃未曾试. 今日把试君,谁为不平事? 虽然写这个码农十年的连载是一时兴起,但我坚持把它写完了.我是个闲不住的人,喜欢折腾,从我这十年的经历也可以看出来.安逸闲散的工作不适合我,我总是在寻找挑战. 这十年里,我用过六种编程语言,换了四份工作,做过三个比较完整的产品.但是我还没能成为技术大牛,也还没能成为项目经理,跟其他同时期的程序员比起来,应该算是成长得比较缓慢的一个了吧.但是我仍然在坚持. 下一个十年,我希望要么在技术上我进一步地深入下去,成为技术大牛.要么在知识面上更广一步,成为

非计算机专业的码农C#学习笔记 六、属性和方法

六.属性和方法 (一)属性 1.属性的定义:对象的组成部分的名称…理解游戏中的人物加点属性,HP,蓝等等就是属性 2.引用属性的方法:对象名.属性名 3.属性的代码:public string name{get{return **}:set{alue=….}:} (二)方法 1.方法:对象用来做什么的实现形式,如刀的方法就是砍 2.方法的声明修饰词: Private       只供class内部使用的方法 Public        公用的变量和方法 Protected Internal 此外

十年码农,过了十年他们依旧在敲代码

摘要:话说程序员也是一个吃青春饭的职业,经常需要加班.高强度工作.新技术学习需求等等,让青春不再来的从业者感觉吃力,但仍然有一大批人因为各种原因十年如一日的敲着代码,十年历程是怎样的一种经历,你会成为其中之一吗? 十年前的2004年,中国网民突破9000万可喜可贺,第三代互动式搜索引擎搜狗刚刚问世,新浪.搜狐.网易是中国顶级的互联网企业,2004互联网大事记里看不到BAT的影子,小编在读初中,当然,也有一批很平凡的程序员在敲代码. 来看看这十几位码农十年或平凡.或漂泊的历程(以下程序员信息主要来

码农南漂六年小结,不似少年游

掐指一算来这个城市已经整整6年了 还记得2010年自己大四实习,从十八线的小城市来到H城市, 还记从火车买了一份H城市的地图,那是感觉这个城市之所以大,就是公交车居然有三位数,最大的就是9开头 靠,这不是将近千条公交车了!(我之前见过最大的是26路公交,哎...) 顿时刘姥姥进大观园的赶脚 写下本文 聊以作为小结. 圈子决定眼界 来H城市 接触过很多优秀的人,感觉他们很早接触的东西和学习的知识,居然是我花了几年工作中才摸索到的. 如果老家的人再问我以后报大学,怎么报?我现在可以毫不犹豫的告诉他

阿里云喻义:十年牧码,从码农走向工程师的进化之路

摘要: 有人会问,码农和工程师有区别吗?有什么区别?相信每个人都有不同的理解. "你敲下的每一行代码,你想过他会如何在计算机上运行吗?你想过你的这一行代码会产生多少cache miss吗?你想过你的这段代码分支预测的概率是多大?你想过你这段代码是否适合在逻辑核上运行?你真的想过吗?" 给我们抛出这些问题的是刘廷伟,阿里云高级技术专家,花名喻义. 有人会问,码农和工程师有区别吗?有什么区别?相信每个人都有不同的理解. "你敲下的每一行代码,你想过他会如何在计算机上运行吗?你想过

今天在CSDN看懂这个帖子,也是我的困惑,记录一下(过了三十的码农,你选择的是哪个,说出你的想法)

http://bbs.csdn.net/topics/390944177 1.继续开发生涯,做资深码农,从senior.team lead.tech lead到principal,如果你无欲无求,可以安心做个普通的码农,跟少林的扫地僧那样,隐藏得很深,很深...2.转做设计和架构,譬如architect3.转型做咨询,譬如consultant,这个在外国很流行,收入也比普通开发人员高4.转型做管理,譬如project manager,director, 技术总监,CTO等5.转型做测试,遇到过这

雷观(六):码农值千金

从事IT相关技术岗位,尤其是程序员或者说码代码的人,喜欢自称"码农".可能的一个原因就是,IT中的Coder与建筑行业中的民工类似,Coder码代码,民工码砖头.      小雷窃以为,自嘲是可以的,如果妄自菲薄,就显得太掉价了.   有远见的民工,在实践中,会积累大量经验,提高熟练度,从而获得更高的价值. 一个人的价值与什么有关?生产力和市场需求. 不谈市场需求,这是宏大的命题,但一般情况下,市场需求相对平稳,不会大起大落.故,我们只谈生产力. 生产力是一个人可以掌控的,而市场需求则

it码农之心灵鸡汤(一)

到底该怎么面对工作,到底怎么面临人生.到底怎么面临青春,对于打工的人来说这些一直都是心中一直无法解惑的谜团. 对于人们怎样看待工作,以前华为创始人任正非说过:非常多人问我,来公司工作有没有双休?需不须要加班?我笑而不语,客气的请他们离开了公司. 欲求安逸.为何还要出来工作?直接窝在家里不就七休了吗?人.假设不趁年轻多努力,你有青春又怎样?都说年轻就是资本,我想补充的是.仅仅有奋斗,你的资本才有价值.仅仅有拼命,你的年轻才值得你炫耀! 确实对于那些创业人士.他们对于事业.对于工作.付诸所有投入来实