码农十年连载五

    ------树挪死,人挪活

    我们公司的试用期是四个月。每个新入职的员工都会分配一个导师,导师的工作就是安排新员工试用期的工作,解答新员工的各种疑问,帮助新员工快速融入新的工作环境。试用期结束后要进行转正答辩,答辩不合格的不予转正,答辩合格的才能转正,答辩优秀的话,还可以加薪。如果试用期表现特别优秀,还可以申请提前转正。

    我试用期的主要工作是参加了公司的入职培训,然后使用公司的网络库,写了一个C/S模式的聊天和传文件的demo(这是每个新人都要写的)。写这个demo主要是要考察新人的学习能力,编码能力,和编码规范。写完后就正式的进行项目干活。当时我的导师在维护公司的几个运营支撑系统,所以导师就让我维护了其中一个支撑系统。当时导师就坐在我后面,所以在看代码的过程中,我不懂的地方直接一转头问他了,所以很快,也把这个支撑系统搞懂了,还改了几个bug。后来老大看我熟悉得差不多了,就让我干正事了,就是让我开发一个视频会议软件终端。

    我们公司的业务分两大块,一块是视频监控,一块是视频会议。我所在的产线是做视频会议系统的,我进公司之前我们产线主要是做硬件视频会议,软件视频终端有一个,但是很挫,所以后面要把软件视频会议这块做起来。老大给我讲了下要做的软件视频会议终端的大概功能,其实这个软件就跟QQ差不多,可以聊天,可以视频,老大让我先做一个demo出来。


    因为之前做游戏的时候,游戏大厅里面也做了一个简单的聊天工具,供玩家聊天的,所以我基本上知道怎么做类似的软件。所以之前我也提到,在义乌那一年学到的MFC界面开发技术,对我现在的工作帮助非常大,可以这么说,如果没有在义乌的这一年经历,这个视频会议软件终端的demo我可能做不出来。

    做这种window上跟用户交互的软件,皮肤是最重要的。所以做这种软件一般都需要一个界面控件库,提供界面各种控件的绘制方法,比如按钮呀,编辑框呀,滚动条呀等等。当时在义乌的时候,我们开发大厅和游戏界面使用的就有一个MFC界面控件库,但这个库当时不是我做的,是我们总监做的,我主要是用,用的时候也把里面的所有代码都看了一遍,原理什么的基本都懂,但是走的时候没有拷一份代码带走。让我从头写一个类似的控件库出来,还是有点难度的,而且时间也来不急。所以我就找到我们总监,希望他能把那个界面控件库的代码给我一份。开始他不肯给,后来挨不住我的软磨硬泡,估计也是可怜我,所以还是给我了,后来我还特意请他吃了一顿饭。

    有了这个MFC界面库,剩下的工作就不过是使用界面库在MFC窗口上绘东西而已。所以三个礼拜后,这个软件的界面demo就做出来了,老大看了后非常满意。因为试用期的这段时候表现比较出色,所以老大给我申请了提前转正,所以我三个月就转正了,还是以优秀的成绩转正的。


    转正后就是正式做这个视频会议桌面软件了。先是这个项目正式立项了,然后需求啊,美工啊,都安排进来了。一般正式的项目就是需求文档先出,需求文档就是详细说明软件的用途,然后美工根据需求文档设计出软件交互图,然后再进行切图。然后程序开发这边根据需求文档实现文档要求的功能,以及根据美工的效果图和切图绘制出相应的用户交互界面。这些工作跟之前做游戏的时候原理都差不多,不同的只是软件的内容。所以做起来也没有难度。

    随着软件的慢慢成形,我一个人已经忙不过来了,所以老大又招了两个人来跟我一起做,然后我就升LTM了,LTM就是组长的意思。

    随着界面越来越复杂,MFC界面占用了太多的GDI句柄,导致了很多界面问题和性能问题。再加上市面上DirectUI相关的宣传和产品也越来越多,所以在2013年的时候,我们这个软件也不再使用我带过来的那个MFC界面库了,改为使用DirectUI来绘制界面,果然在GDI占用以及处理效率上有了很大的改进。


    从2010年到2013年,一直在做这个软件,一个版本接一个版本,组员也从最开始我一个人,增加到后面十二个人。LTM也从最开始我一个LTM,增加到三个LTM。虽然每个版本都会新增一些功能,但是到后面该有的功能都有了以后,再更新版本,主要就是在换界面和调整功能实现方法了,基本上每个版本都会换一次界面。所以做到后面,就没什么新鲜感了,基本上该弄懂的我都弄懂了,继续做下去也就是一种重复的劳动。

    所以我就琢磨着想换个岗位。为什么不是换工作,而是换岗位呢。因为到2013年的时候,我年纪已经不小了,对于大龄未婚女性来说,换工作可以选择的机会比较少。人家公司招你的时候可能会考虑,要是我刚招你进来你就要要结婚,甚至要怀孕了,那不是亏大了。而且我们公司福利什么的还挺好,公司也有很多要好的同事,公司的发展前景也不错。所以我不想换工作,就像换个岗位。

    我们产品线有平台产品部和终端产品部。平台产品部主要是做各种业务和运营支撑服务器的,终端产品部主要是做一些软硬件终端产品的。我所在的部门是终端产品部。其实从2006年毕业到2013年,我都是在做终端产品开发,从来没有做过服务器开发。加上平时跟平台产品部要好的同事一起吃饭的时候会经常交流一些各自的工作。听他们讲那些什么rabbitmq,xmpp,erlang,linux等等,觉得好新鲜,我都没有接触过。而且做服务器端也不用面对那么多用户的那么多乱七八糟的需求,可以有更多的时间研究技术,一直非常向往。所以当时就琢磨着想换到平台产品部去做一做服务器。


    于是我就跟这个很要好的同事说,我想换个岗位,但是我不知道我能不能胜任平台部门的工作,不知道你们老大会不会要我。结果他很肯定地答复我,你肯定可以的,你能带领这么多人的团队,完成这么多版本,能力上肯定是没问题的,技术上的东西可以慢慢学。有了他的肯定和支持,我就吃了一颗定心丸了。然后我就跟平台产品部和我们部门的领导提出了我的这个想法。

    因为这涉及到了两个大部门之间的人员调动了,调出部门的领导考虑到自己的部门利益和影响,一般都不会同意这样的调动。不用我多说,大家都懂的。所以这次调动颇费了一番周折。期间我都做好打算了,要是实在换不了岗,我就辞职。不过最终我还是成功换到了平台产品部,这次换岗耗时半年之久,很好的考验了我的耐心。

    2014年三月底的时候,我把我的座位搬到了平台产品部,开始从终端开发转向平台开发,这是我码农生涯的一次重大转折。

你可能感兴趣的:(码农十年连载五)