毕业5年回顾——技术篇

毕业已经快5年半,如果算上大四的全职实习的话,商业技术已经有6年半了。之前好多年都想写总结,结果每年都只是想想,或者建立了一篇空文档,然后就没有下文了。但是今年终于开始实施了。之前看过《暗时间》,里边有提到,写东西的时候,会仔细思考,这个时候就能总结想清楚一些事情。随着重拾博客2年多,也越来也感受到写博客带来的爽快感。写着自己看和放到博客上还是不一样的,写着自己看可能就随便写写,放到博客上别人可以看,这个时候自己就会更认真的推敲自己写的东西。以前可能借口忙,不过今年更忙。今年忙的元旦都没有陪老婆回她家,元旦还写代码呢,不过现在对思考总结看的更重了。

毕业前的2008年也顺便回顾下,大四实习,主要是c++和tcp/ip协议、linux网络编程,这年把公司项目的select网络模型改进为epoll了,不过忘记了当时的压测数据,只记得那个项目是有很多网络连接,但是大部分不活跃,所以用epoll能提高很高的效率,因为epoll是事情通知模型,且通知事件里直接知道是哪个fd的事件,而select里并不知道是哪个fd,只能将所有fd遍历判断。网络这块的积累对后边几年还挺有用的,经常会用到这块知识来查问题。

2009~2010年,天龙国际版,主要是c++、lua,这个时候还是打基础,lua的内容较多。印象较深的一个是cegui改底层代码,调通后的爽快;另一个是消息包切不同线程的场景时的处理,记得当时查问题,我比一个老鸟先发现这个问题,心情很激动;还有一个是写了很多活动,学习到的一个随机算法。天龙国际版时,更多的是产品意识的培养,对事情的推动,相关部门的协调常识和办法等的积累。

2010~2012年,鹿鼎记,主要c++、lua。分析日志,处理线上问题方面的锻炼比较突出。最出彩的应该是自学perl,并实现了一个b/s架构的掉线自动化分析工具。perl也就在这个时候集中用了下,后来几年就再也没碰过。一部分工作是查线上问题,所以对鹿鼎的登录、切场景、跨世界、下线、踢人、存盘等重要流程都很熟悉,这都是属于系统功能。后来转向功能开发,又熟悉了些玩法功能。由于比较认真,负责过些风险较高的功能。

做掉线日志分析的时候,一个最大的收获就是图形化的东西能很直观的帮助分析。在图形上看到数据趋势,很多时候一眼就看到问题所在了。这项技能是当时的领导老付传授的。日志分析出的重大问题包括,某些功能导致的网络乱流、服务器被恶意链接占满瘫痪5分钟的隐患、SLEEP场景消息包内存泄露、工作室刷钱群退模式、外挂测试模式等。

这时候也接触了些压测的东西。另外在端游深切的感受到逻辑严密性对防外挂的重要性。

2012~2013年,忍者学院,页游。一开始用php、as实现了个短连接的玩法功能。之后是java服务器的性能调优和新框架编写及长连接玩法实现。设计编写了压测工具,找出并排序服务器严重瓶颈点,调优合适的缓冲区大小,引入AOI小区域广播设计,socket一些用法修正,以及配优jvm,短时间调优后单服务器并发支撑从400左右提升到了1000+,后来由于短板在其他地方就没有继续调了。后来用netty和protobuf重写了原先的原生NIO框架。

框架弄完之后开始一些模块的总体设计及基础搭建,如机器人AI、活动模块、配置模块、统计模块、监控模块等。游戏玩法功能上,实时竞技炸弹人整体设计及编码,涉及同步、碰撞、伤害演算、不同得分规则的策略化设计、反外怪等;实时竞技答题功能的设计及编码,涉及同步、反外怪、得分规则演变、技能等。

网络协议调研了msgpack、thrift、protobuf等,最终选了protobuf。缓存本身有个memcache,我用上了redis。另外还调研了php/java brigde,效率挺低的,后来没用。工具语言写了点ruby,但是不多。当年还调研了go,但是没精力深入学。

2013~2014年,DNF之鬼剑士,cmake跨平台编译方案搞定了。这个项目短暂,所以也没有太多技术的探索。后来了解到田春冰河这个人,借机学习了common lisp,书看完了,也写了例子,不过最终没有用上。对团队要求比较高,除非我打算做自己的玩具。

之后是捕鱼3,负责服务器架构和整体事宜推动及质量保证。架构不分区服的大世界。制定redis集群扩展方案,冷热数据分离方案,逻辑横向扩展方案,并编写实现及压测。另外还给其他项目做架构咨询,对本项目其他成员负责的系统在架构设计、扩展、风险等方面的把关。

不过技术根据公司的战略,写了大半年的node.js+redis,感受就是这门语言太不适合写服务器了。做设计的时候研究了pomelo的源码。有时候对node.js太失望的时候,甚至自己学习了erlang和go。有了自己的编程理解之后,入门一门新语言的速度好快。这个时候对go就比较推崇了,自己闲的时候就用go写服务器引擎,go的interface和原生并发真是太爽了。

期间还看完了《Http权威指南》、以及读了些《高性能Mysql》,对这两个领域的细节了解的很欢畅。另外还了解了下mongodb,不过这个东西大家都不推荐用,就只停留在了解。另外粗略的看了下云风skynet的源码及设计思路和经验。

这期间对工程上的单元测试也有了很好的理解。除非是核心系统,否则单测不用写的事无巨细,否则浪费太多的时间,具体粒度自己去权衡。

2014下半年,BI。开始密集的写了小半年php,用的ci框架,现在这个语言很熟悉了,果然是写web的利器啊,简单够用。重构大法好,一直在重构,也享受着重构带来的好处。另外坚持Code Review,好处也是很明显。不用再总给人擦屁股的感觉也是极好的。

一些优化做的顺利,也得益于以前的积累,如http协议和mysql方面。例如某页面的响应时间直接1、2分钟优化到秒开;ci的session设置好开启时机,解决了大量非必要session的产生等。

钟爱的go也终于应用到了生产环境,这次是bi系统里有些计算上的东西,由于php天生的缺陷解决不了,就用go写了这部分。

日志收集用上了kafka,目前用的公司还挺多的,咱四人帮就有3个人在用。给游戏那边的lua用c封装了个kafka的producer的so,另外kafka的consumer也正在用go写。

这些年变化比较突出的是,碰到问题直接看源码。例如学生的时候,更多的是百度,然后工作了就大部分google,但是现在很多问题属于前言研究,google都没有答案,更多的是直接去看源码了,例如封装kafka的so时,对api有疑问了直接就去c的librdkafka看源码,很快就能定位问题。例如一个内存double free的段错误,看源码一下就知道他在实现地方会先释放原先的内存,如果多个线程没有加锁的这么做,就很容double free了。还有,一些配置项是怎么影响程序了,由于技术较新,英文社区也没啥资料,以前可能就会停滞不前好长时间,现在就捧起源码,看起来。

顺便对失心封事件表示强烈的谴责。

这些年也读了不少技术书,收获很大,不一一列举。2014下半年开始由于工作繁忙,没怎么读书,很伤感,2015这个状况一定要改善。

2015要做的事情,至少《代码大全2》读完,团队顺利添加合适的人,3个组顺利自转起来,等等。

毕业5年回顾——非技术篇

一晃眼,毕业已经5年多了。正式工作这5年多跌跌撞撞、勤勤恳恳,积累的也还不错。

2009~2012,畅游。09年由于互联网的冬天,很多互联网牛逼公司Head Count锐减,导致大批重点学校硕士拿不到那些公司的offer。然后他们就跟我这个非重点学校的小本一起来到了畅游,做新人的初始时期,我偶尔会发出感叹“众硕丛中一小本”。那个时候进去的几批新人大部分很牛逼、靠谱,我很庆幸,职涯初期能有跟这些人一起成长的机会。后来经常被人感叹我看上去跟我的年龄不符,我在确认别人不是指我的长相显老后,我就通俗地解释为我早期工作的同事们都普遍比我大个4、5岁,熏陶的。其实也不光是被大龄青年熏陶,个人很早就知道自己想要什么,并一直为之狂奔着、历练着,综合作用下的结果。

项目经历了天龙八部国际和鹿鼎记,这两个项目的背景让之后写简历轻松了很多。天龙国际的历练是不会忘记的,一度曾感觉身体要垮掉。里边的牛逼人只写(不代表只有)两个,强哥和马爷,畅游之后还有交集。经过自己的努力,被领导认可,在之后全公司集各项目优秀人才支援鹿鼎记时,被选中。进入鹿鼎后,视野更开阔了,各路神仙。

畅游这3年,技术上其实大部分还是积累基础,因为畅游用的技术比较保守。倒是多次刷新三观,否则也不会跳槽了。爱情无收获,倒是慢慢知道了自己的问题出在哪,EQ太低。友情上收获颇丰,因为爱情失利,所以有很多时间搞基。曾想在四哥(这货也是“丛中小本”,不过是211的)的帮助下进入他们那批硕士基友圈,虽然最终失败了,但是至少努力过,哈哈。再后来很多人相继离职了,我们留下的慢慢就沉淀了现在的四人帮。从PY那知道了EQ是什么,志明那见识了志明百科,大脸那见识了脸大。

娱乐和健康上,畅游的时候前边是跟四哥通宵dota,后边转向每周末和节假日骑车出去自虐。最终还挺健康的,不过期间得过尿隐血这种小加班病。

2012~2013,在强哥的接洽后,去了他们待的智明星通,做页游。刚入职时比较多的感受是团队小伙子小姑娘们真年轻,好有活力。靠谱的子文和廖主席等,现在想拉子文,可惜他要为了爱情回老家了。

在智明,技术宽度和深度上开始不错的进展,虽然最后项目没成。不过这些都不重要,重要的是在这里我认识了我伟大的媳妇。本来在畅游末期,我发现我的EQ巨低后,对找对象一直没啥信心。不过慢慢提高的上进心是有的,最后由于某种磁场,圆满了。这里要感谢PY和他夫人的循循教导。

不重要的小插曲,媳妇当年是他们县的理科状元,由于志愿填的保守,进入南开,硕士也在顺便在那保送了。但是这又怎样呢,我的内心特别强大,我偶尔就会祭出当年“众硕丛中一小本”的故事来突围。是的,我的背后偶尔会散发这种无耻的光芒(抠鼻),自己都被亮瞎了。

2013~2014,在项目失败后,跟随强哥去了触控,我们本来要去做RPG的重型手游的,后来阴差阳错,项目被砍了,强哥等的花儿都谢了也没等到开新项目就走了,我呢充满希望的中途加入了捕鱼3。进入明星项目,正准备挽起袖子大干一场,结果也是无奈,项目做了调整,半年后快上线了不做当初跟我说的实时玩法了,我的服务器方面工作就没什么工作了,只有闲着。这个时候虽然我个人继续抱有希望,一边写服务器引擎,一边等,万一哪天公司转型用上了,但是奋斗的心情不一样了。

就在这种尴尬的局面下,跟一直保持联系的老皮再次深入交流他的大计。我们很多想法不谋而合,然后2014年下半年我就开始雷尚的事业了,现在这里就是我的一切了,未来和我的平台技术部、大雷上一起成长。这半年,尿隐血没了,轻度脂肪肝来了,但是无悔。

Review了我的职业规划,5年维度的目标除了开始供房,其他的包括技术积累、岗位重要性、另一半、经济等都达到了,有些还超出预期。

混乱小结-写在从畅游跳槽后

2015-01-02日补充:
这篇大概是2012年写的,没写完,就一直没发表。今天在写毕业5年回顾,翻到了,发现当年的闷骚气质,现在也慢慢减弱了,怎么办,这人已经被工作忙的,变的没啥意思了。为了找回那么点意思,把没写完的文章放出来,缅怀下当年的我吧。


3年前,2009年6月尾,毕业前几天,辞掉了约1年左右的实习工作。毕业证一拿到就随灰机北上进京开始北漂。

当时一心想进游戏公司了解下传说中性能要求极高的游戏服务器是个什么样子,达到北京后,就给在几大招聘网站上北京所有的网游公司海投了几遍啊又几遍。

第一次就去面金山,毫无准备,犯2,最后自然没戏。后边畅游和几家小公司交叉了一面二面。小公司面的都还行,畅游的一面后没什么信心了,最后却没想到顺利二面CTO,三面签offer了。能拿offer的很大原因就是大四那一年的实习经验了吧,因为畅游的面试只做了策划IQ题,然后聊聊实习项目经验。并没有考算法等笔试。offer大大超出预期,然后就充满期待的开始了畅游3年职业生涯。

我走的社招流程,同批的社招程序只有3人,还有wdh(在畅游呆了1年就去百度了)和JT(目前已是畅游的中层管理了),分别作网络安全和3D引擎的。

新手题做的不咋滴,wdh表示丫故意拿题来下马威的吧……分项目被分到国际化天龙,我很不理解这个安排。面试的时候我就表示我非常想做服务器,而且之前经验也是服务器。LB和另一个经理面的我,面试通过了,难道不是为了给我这方面机会么?我就很天真的直接找他聊去了,他表示我没有游戏经验,需要去国际化锻炼,整个屋子都是充满理想的人(不止你一个),等等。聊了半天维持原状,桑心的想着“等着吧,看着我,……”。后来,貌似是今年年初吧,我已经在鹿鼎快1年半了,LB经理来了封邮件,大致内容是,XX,还记得你当年怒气冲冲的找我,哈哈,现在工作顺利吗。收到邮件的时候还挺有触动,他竟然还在关注着我。

大鹏比我晚一天进国际化。大鹏的东北口音特重,我们关系又非常好,交流的多,受他影响,我现在普通话都不利索了,汗!我的大哥分的是强哥,挺厉害一人。想想强哥都分到这组了,还有什么可说的呢,偶尔我也这么安慰着自己,:)。

国际化期间,劲头十足啊,基本是开足火力啊,特拼,仿佛时刻在想证明着什么……大鹏也经常说些让人欣慰的话,你呀一看就什么什么的,前途肯定会非常好。那个时候周围充斥着各种名校的硕士,就我一小本,压力还是蛮大的,挺渴望被承认。然后努力奏效了,第一Q就拿了A+的绩效……

那个时候还在京燕办公,刚好四层空出几个位置,社招的就分在了四层。程序这边的领导基本都在四层。我旁边的好多牛逼人物,隔壁的小龙,LD,HZF,FY,FXM等,还有LB的门对面就是传说中的orge谢老师(当时我只听说谢老师牛逼,却不知道牛逼在哪^_^)。哦,还有翔哥,天天听QF喊翔哥,XX问题帮我看下,还有各种别人喊翔哥帮忙,我就觉得这人应该很厉害,但是其他还一无所知。天龙的游戏架构详细文档署的他的名字。还有wdh的老大,也是新挖来的8级网络安全专家吧。

后来强哥他们搬到四层了,同搬来的还有py。那个时候还不认识py,只是偶尔晚上dota时间,9=1等的天崩地裂,毅然决定上洗手间,途中,看dx和他那儿在专心的补刀。偶尔看见py,就觉得这人吧,怎么这么黑这么丑啊,什么id啊,虐虐他,啊哈哈哈~~(这个估计是成为核心基友后脑补的)。

素质拓展的时候认识了四哥,我们分在一个拓展team。这货86的,听我介绍我是88的,丫就来劲了。各种在我面前摆zb范儿,哈哈,“哟,你真年轻,我都老了。”……还货还是挺好玩的。后来也多次接触,dota里边也经常碰到,组队跟随他们那波的去健身。

跟四哥总有点一见如故的感觉。有人问过,我自己偶尔也想这是为毛呢,同是硕林小本(丫保研没去,我是就没打算考)?其实我更觉得是因为我们有相同的优良高贵的品质——言语上猥琐淫荡,只是我闷骚,他明骚,骚在骨子里,没人性啊~!

MacBook迁移数据大折腾

之前我的rMBP是公司常规配置,去年的13寸4G内存128G固态硬盘,由于公司重要处理的事情多,开的程序也多,经常需要清理运行的程序。现在换了今年出的13寸8G内存256G固态硬盘版。

于是开始折腾迁移数据。OSX本来迁移数据很方便的,两个笔记本通过DP线直连就可以快速迁移。在试了公司局域网通过wifi预计时间太久(不到20G数据要6个小时)、家里不可控wifi局域网直接不能识别后,开始两手准备,买dp直连线做直接迁移和usb3.0的移动硬盘做TimeMachine的中转。

不巧在赶上了双11,京东的货也受影响了,急切想迁移到新本子的心煎熬了几天。

先熬到的是dp直连线,买的绿联,结果不起作用,俩笔记本上的迁移程序都识别不到线的另一端,至于是否是线有问题,也没其他招去检验,只有在家跟老婆一起各种试,哈哈。我放弃了,老婆还在那皱着眉说还要试几个办法,又继续google和各种按钮各种拔插的。看着我都乐了,唉,这种誓死不休的强迫症,我已稍有好转。

终于熬到了移动硬盘。数据TimeMachine备份计算出50G左右到移动硬盘花了10来分钟,然后恢复进新笔记本也花了10来分钟。然后要删除旧笔记本上的数据,大折腾开始了。

删除旧笔记本数据想的太简单,以为把硬盘抹掉,然后挂一晚上在线安装就ok了。这个想法来自于网上那些不负责任的相关文章里看的。第二天早上起来发现丫报在线安装失败,这时还想着是家里网络不稳定导致,然后又背着两个电脑去公司试试。

介绍下几个操作的按键。开机按住option可以选择启动盘,u盘或者硬盘安装是用这个。开机按住command+r是进入恢复页面,里边可以在线更新和管理磁盘。

在公司试了几次,也都是1分钟之内就报失败了,其实公司网络稳定性也不咋滴。但每次都很快失败,很邪门那。看下载不好使,就找同事要了个带osx镜像的U盘,电脑能识别但是就是不能进入安装,很忧伤。这时网上又说了,试试option+command+r,噩梦的开始。这个按钮进入的一个页面其实也是在线安装的一种形式,更牛逼的是把磁盘工具那些东西都弄掉了。

既然也是在线安装,这个当然也是失败了。试了好几次,后来想通了,服务器在美国,必须不好使。然后转战自己做U盘安装那种,找半天没找到放心的dmg。下班的时候再次背两个本回家。

在家准备先试试昨天的TimeMachine备份来恢复旧本,我擦,白天的担心验证了。没有系统的情况下,TImeMachine的备份是没法恢复的。接着在新本研究着,发现AppStore可以下载osx完整包,想到之前可以通过改DNS的方式来快速下载AppStore的东西,希望来了。下了40多分钟终于下载下来了,发现下载下来的是个.app,不是正在看的教程里说的dmg,擦。然后另一篇教程说有什么隐藏文件里能找着,假的。

再看到个制作优胜美地启动盘的,用的命令行将.app处理成安装文件。
具体步骤如下:
1.用osx的磁盘工具将自己的移动硬盘(或U盘)分区,注意要选项里设置为GUID分区表。
2.从AppStore下载的安装文件应该在/Applications/Install\ OS\ X\ Mavericks.app,我刚分区的那个磁盘名为osx_install_10_9。在终端执行以下命令:
sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia –volume /Volumes/osx_install_10_9/ –applicationpath /Applications/Install\ OS\ X\ Mavericks.app —nointeraction
过会儿,终端输出Copy complete.和Done.,这样就ok了。
3.移动硬盘查到旧电脑,重启,option键,然后从刚才做的那个盘启动。后边进入的安装磁盘管理下的安装选择界面。这个时候看到磁盘工具ok了,我一开始忧伤了下,又进入老问题了,需要点那个install osx选项,进入在线安装了。在这一步纠结了会儿,抱着试试的心态去点了安装,进去了,然后竟然不是在线安装了。

然后就安装好了。

最后PY哥喜得大胖小子,在这恭喜下!程序员的好苗子呀~

公司内部图书馆试运行

之前在畅游和触控都有内部图书馆,另外PY哥在百度的时候也是每个月都有个人买书经书的。然后结合下我们公司的情况和我个人的经历。公司没那么财大气粗,所以招人方面有所限制。需要让大家锻炼技术,技术书又很贵,个人买太多书搬家又不方便。最终,我建议VP搞公司内部图书馆,VP担心之后会流于形式。现在实施办法是先买几本,看大家借书看书的活跃度,气氛好的话,再搞大点。

初步想法是,前期优先是计算机方面的,以后再考虑其他方面的。每个月有个经费额度,具体额度需要VP拍板。经费额度要适中,目的在控制书的质量,要买经典书,不买垃圾,如很多国内垃圾入门书。经典书的判定,由各技术部门的核心骨干组成的技术经典书籍鉴定小组来做审核。

书的购买,由技术经典书籍鉴定小组审核通过后,指定的购买负责人来推动采购流程。

书的管理,实物管理可以由指定的行政部门同事来保管,借入借出的登记由平台技术部系统组提供OA系统支持,方便公司同事随时查看图书馆已积累了哪些书、各种书的状态等。

借书周期,可以先定一个月,太厚的可以定久一点。之后到期要归还,然后重新排队。

目前已经购入图书馆的处女书《代码大全2》,我自己先看着,哈哈。刚看了50多页,这书太经典了,努力推动图书馆建设的心也更坚定了。

VP担心图书馆会流于形式这个问题,据观察,可能是公司处于快速发展期,大家工作非常忙,没什么时间看书。但是这个应该没什么问题,有追求的人,再忙也会花时间去学习的。退一万步讲,都没追求的话,我至少要逼着我部门的同事看看《代码大全2》这种经典书,写阅读心得。:)

近期对PHP与Mysql相关的优化

BI的线上经常报mysql连接数耗尽,查的结果是部分表经常被某个查询锁住,然后其他访问这个表的查询连接就一直阻塞着。原因是这些本来要支持一定并发规模的表竟然用的是MyISAM引擎,我把相关表的引擎换成Innodb了。

有些历史业务逻辑竟然用了n*n数量级条数的mysql查询。这光花费在IO上的时间都是惊人的。优化后直接弄成一条mysql查询,业务响应时间从1、2分钟降到秒开。

mysql的where in里不要写子查询,用连表方式会数量级上的快,这个原因具体看《高性能Mysql》吧。

站立编程乱弹

国庆回来后重新开始站立编程。站立编程的桌子是之前在触控时买的,到货后一直坚持站立编程到离职,大概两三个月吧。当前公司,之前我想慢慢适应这边的节奏,另外也是站立有点特立独行的感觉,先观察着,并找有利地形。现在天时地利人和都OK了,重新开始站立编程。

来这里一个季度了,高强度了一个季度,虚胖了不少,正好也要开始考虑健康问题了。站立编程对健康的好处这里不赘述,说下不足的地方。站立编程,容易得所有站立工作太久职业的职业病。最严重的应该是静脉曲张。我现在的解决办法是,穿静脉曲张袜。平时思考的时候也多坐坐,同一个姿势保持太久都容易对身体造成一个损伤。

不过通常站立办公容易腿累,这个我个人倒是没怎么出现,只能说是个人体力肌肉什么的稍强点儿。

另外不是有了站立编程,程序员的健康问题就解决了,还需要加强其他的锻炼。现在每周大概在公司健身房跑个2、3次步。由于工作忙,一般只跑个10分钟左右,11.1的速度,跑下2km左右。

以后还要捡起羽毛球、游泳、登山、骑行等。

良好的身心健康,还依赖家庭和谐。这个高强度的季度,周末都基本在家赶代码度过。只有其中两天是陪老婆出去玩的,最终导致老婆喷发。这个事情以后一定要注意。

程序员人才交流共享

这段时间发出去三个offer,要是顺利的话,接下来的招聘的压力会稍微缓解下。这三位都是HR去招聘网站筛选简历的。现在的招聘办法就是一边HR去招聘网站搜罗,我一边发动朋友的关系等。后者很不顺利。

我的朋友圈基本是搞C++/Java的,搞PHP的很少很少,只有几个。问了一圈,C++圈子的朋友基本上对PHP不屑,仅有的几个PHP朋友他们自己也正缺人,还反找我要人呢。

在畅游呆了3年,积累的朋友最多吧。这些朋友,有部分已经不做游戏了,转到互联网了。有几位去了雅虎北京研究院(注意不是倒掉的那个雅虎中国),做广告项目相关、大数据、云计算等。有很多去了百度,做大数据挖掘、搜索等。有去阿里的,广告推荐相关。也有去360做广告的。还有些人自己创业去了,还有少数继续留在畅游,其余分散到其他大小游戏公司了,腾讯、完美、华清飞扬等等。

畅游的朋友们发展到现在,大部分发展的很好,请他们基本是请不动了,除非有非常吸引力的职位或薪水。所以让他们推荐的时候基本上我带上这句,也可以帮我介绍下你们认识的小弟弟妹妹什么的呀,有潜力的初级中级我们都欢迎。

然后是智明的同事,也分散到各公司了,问的几个都是他们自己还缺人。触控的同事,触控就没几个服务器。

最后同学圈,高中同学这方面,虽然程序员极少,但至少还联系上一位,即使是半年后再合作!大学同学这方面,在北京的实在太少,大部分在南方,上海、深圳等地。

朋友圈如此严峻,招人基本上只能想其他的办法了。

现在很多朋友都在招人,有时候也有朋友让帮忙内推到某些公司。靠谱的招聘方和求职方缺少一个交流的地方,招人的到处去问朋友圈有谁想换换,求职的到处去问哪有靠谱的地方,效率都不高。所以我开了个QQ群,试着搞一个程序员人才交流共享的聚集地,目前已经有几位朋友加入了。

程序员人才交流共享群的出发点是互助互惠,有些朋友想换个方向或者换个环境,或者有些朋友的队友不再适合自己的团队,可以推荐到其他朋友的团队去。群的终极目标是大家都能招到合适的人。群的建设是大家一起搞,不加不相关人员,新成员必须是老成员觉得靠谱的人。群里讨论的话题尽量专注在人才交流上,毕竟大家都很忙。

很多朋友都到了一定阶段,招人的需求肯定是长期的,所以这个群看的是长期发展,并不是为了我个人当前的急切需求。有意愿的朋友欢迎聊聊,不求盲目扩张,只求惺惺相惜。

小雨要我去他们公司(08年的博客)

2012年准备开始写毕业两年的总结,翻了下以前的随记,发现了件年幼时的开心事。

原文如下:

小雨要我去他们公司 2008-10-23 10:43

那是08年暑假7月下旬了。
当时我正在武汉一家公司搞代码移植,做的正不爽的时候,小雨说他们公司缺人,要我介绍几个。
我就介绍了一个。
他说让我也直接过去,还说了好几次。我当时问,你公司不是一直宁缺勿烂吗。
他说那城市水平他见识了,改变方针了,先放低要求,招些再培训。

当时太高兴了,要知道,小雨是我的linux启蒙前辈。之前我表达过想去他们那实习,但是他的一句“宁缺勿烂”把我打击的要死。突然来个让我“直接”过去,而且做的就是自己喜欢的linux网络服务器c++后台开发,虽然是降低了门槛,有点言外之意,但是积累了那么多大学以来的跌跌撞撞,以及当时的工作环境不如意,这由于黑夜里的曙光……

反正当时相当的高兴,武汉的不如意一下就抛之脑后了。自从高考考的不错带来好心情以来,已经n久没那么开心了。所以当时自己还没能感觉到自己的心情变化,是自己中午去吃饭,在路上突然发现自己走路都在笑。

小插曲:当时我正在武汉公司看ctorrent的代码,突然看到小雨给我留言了。他问我在干什么,我发消息过去问什么事,半天没见反应,过了点时间,我又问了一次。他来个“没事,88”。我汗倒,就发了感恩的话:有事就说嘛,至少你帮助过我。这句话起作用了,他这才问我毕业了没,之后就是招人的事了。

虽然是我启蒙老师,但是我经常问些小问题烦他,所以他平时不大鸟我,所以对我没什么耐心,幸亏我说了那句话。

后来才发现,在我第一次问他什么事时,他就回答我了,问我毕业没。只是开的是另一个窗口,当时我在看代码,没注意到qq里在蹦的他的头像。他估计是什么时候把我给删了,或者从没加我好友。所以我打开的跟他的聊天窗口是好友聊天窗口,我在这个聊天窗口一直等他回话,而他估计是在群里找成员列表再打开跟我的聊天窗口。两人聊天的关注的窗口不一样,我汗死。


2012-01-10 00:01 补述如下:

以上是原文,当时记录下来,主要是想让自己记住这次感恩带来的好事,保持感恩的心。

这家公司就是个创业小团队,小雨是技术经理,老板是个台湾人,不过很小的时候就在美国定居,听小雨说老板还是bill joy的同学。老板已经下海做很多国际生意,我们这个创业小公司只是他老人家的其中一个事业,所以关心程度很是让人伤心。现在想起还是淡淡的忧伤啊。

带着斌哥一起在他那全职实习(毕业设计都是周末和晚上做的,有木有啊)一年后,最终对老板失去信心,本来小雨让我再多练练,然后跟他去他上海的哥哥或者朋友开的公司。但是我当时考察了很久之后非常想做网络游戏的服务器端,他也就缓和的说“也行,你现在热情这么高,就做几年网游吧……”。

请小雨吃完离别饭,然后就辞掉了工作。再学校休整几天,领到毕业证学位证,还没联系好公司,就跟已经找到买主的小灰灰北上了。然后是给北京所有网游公司投简历……

后来才知道,我走后不久,小雨去了上海,斌哥墨迹一阵子也去了上海。北漂的第一年还跟小雨聊过,他已经不怎么说他的事情了,不过他跟斌哥还保持了下联系,他们一起投过完美。小雨拿到腾讯研究院的offer但是没去。后来又过了段时间去了杭州,40k/m,真牛。

突然有一天发现我被小雨拉黑了,擦,我估计是他的感受是我背叛了他,辜负了他的信任。天地良心,我没有啊!现在我也没找过他的联系方式。以后应该会有机会再见吧。在南昌跟小雨干的时候挺好的,小雨也是个很单纯的技术人,我的印象是他还有点内向。

要说生命中的贵人,小雨就是其中之一,祝好,我的linux启蒙前辈,技术引导恩师,是你让我在大二下学期前就确定了未来技术方向,大恩不言谢,他日必会再见~

免费附赠当年在ChinaUnix摘录的一Y语:
学习就跟出来卖一样。
要么你自身就对这个有浓厚的兴趣,天性淫荡,就会乐此不疲,因此而艳名远播。
再或者你被逼良为娼,虽然厌恶这一行,但是总是遇上房中高手,经常挑逗的你欲火高涨,忘我投入。也能混个名妓。
(进畅游后,最近一年半都没怎么去CU了,又是一股淡淡的忧伤……)


2014-08-09

08年原文发在c++博客园的个人博客上,12年把这篇转移到了人人网,并做了些补述。今天偶然翻到,就挪来自己的独立博客吧。

08年小雨让我直接过去,这个不是随便就让人直接过去的,我们认识是从南昌的一个技术群里,当时我回答一些群友的c语言问题,表现的不错,一看就是基础不错的苗子,给人留下了好印象。6年过去了,物是人非啊,小雨后来也一直没联系上,斌哥也自己带团队了,我也开始组建团队了。

招聘心得和代码重构

现在博客在印象笔记里写,写完往worldpress里贴的时候,超级链接是不自动复制的,这跟之前在C++博客时不一样了,导致上篇博客发出一段时间内,里边两个链接都是木有的。解决办法暂时没时间想,先继续印象笔记写。

招聘方面,拉朋友和外边筛选简历都在做。靠谱的人挺不好招的,其实靠谱的人不是绝迹了,还是有的,可是价钱又可能谈不拢。另外以为自己身边的靠谱的人就不少了,怎么也能拉几个过来,没想到啊,也很艰难。熟识的朋友不会太多,还是得营造自己的影响力,技术博客展示、微博展示等,有影响力后,找人一起做事会方便些吧。

这阵子在重构一个接手的系统——公司游戏统计系统。系统要扩展支持多个项目,之前的系统可以勉强做到,但是以后项目更多的时候会比较乱。接手的代码里很多重复代码,重构的第一步消除这些重复代码。几天的奋斗,从开始的2w多行降到了1.7w左右,删除了3k多行,目测还是可以继续消除的。消除重复的同时发现了不少错误。以后再加新逻辑也会清晰很多。

这次重构与改造也刷新了个人持续编码最长时间,某个周六早上9点到周一凌晨一点,之间就周六下午15点~17点睡了两个小时。40小时内睡了两个小时。这个只是留个纪念,没有秀的意思。个人不鼓励这么搞,程序员写代码是要精神状态好才能保质的,实在是没办法的时候才死拼。

重构代码时发现不少旧代码的问题。例如有些地方明明可以写的很简单,却因为一些特例搞的很绕。这种事情一方面靠程序员自己的素养和追求,另一方面也要靠Code Reivew。

重构过程中也有因为测试不到位,发生趟坑的事情。现在时间紧,还急着上线,没办法,不过好在影响数据的地方都仔细验证了,大部分坑在页面的数据展示上。等以后再安排给关键函数补上单元测试,大部分功能补上测试用例。

最近代码基本稳定下来了,运营那边也不怎么报统计系统的问题了,看,重构的效果。现在虽然还有很多地方需要重构,但是不用那么急了,现在的重构都是看新功能或者历史bug指向哪里,就边重构那里,这样动小刀并立即验收,无痛一点。