大学毕业,我的第一份工作,在百度。
这第一份工作,我差点没能转正。
绝大部分baiduer可能都不知道,百度在中关村软件园的信威大厦还秘密办公过几年,信威大厦里蛰伏着有啊与百度hi两个关系紧密的“重量级产品”。
画外音:不知道这两个产品的同学,暂且理解为淘宝与阿里旺旺的关系。
面试投的是客户端研发。
画外音:部门是NS,后独立为客户端部,核心产品是百度hi和百度工具栏。
复习了一大堆windows编程并通过了技术面,终面时,上天开了一个不大不小的玩笑,老大@明海 问我,愿不愿意做服务端开发,啥也不懂的我,殊不知那一次懵懂的点头,影响了后续职业生涯好多年。
画外音:从那个offer起,陆陆续续N年,慢慢走向后端架构师之路。
我入职导师@余佐 ,也是团队leader,照百度hi服务端校招生例行培养计划,布置了一个为期一周的脱产作业,在linux下开发一个web-server,需要实现get/post/cookie/图片展示/附件下载等功能。
作为一个搞windows的毕业生,连linux都没有装过,这下可要了老命了。
没有经验,没有天赋,只有端正的态度和每天少睡几个小时的时间,短短一周,把linux基本命令,c/c++网络编程,多线程编程,http,gdb搞了个大概,leader虽谈不上满意,但也勉强通过了。
画外音:这个大作业,比大学N年学到的知识还要多。
leader看我搞过几年达梦数据库内核,把我分配到了存储组。
存储组有两个核心模块,一个是消息存储的msgstore,一个是用户好友等元信息存储的dbcache。
搞过后端的同学都知道,存储是最难的,搞了一段时间,并不太得要领。
离线消息分页缓存项目,msgstore的负责人@时俊 负责设计方案,我负责实现N个接口。然而,我1个接口都不会。负责人无奈,先带头实现了第一个接口,后续让我仿照着实现剩下的接口。
另一个项目,dbcache有个接口gdb调试了好久,结果总是不对,后来模块负责人@远征 帮我调试了1个多小时,最终发现是没有make clean导致的,模块负责人没有发火,但我却内疚至今。
团队leader可能也发现,存储组对于一个校招生来说,确实太难了。就把我调去PHP@雪梅 组写前端业务。
印象中是百度商桥的一个项目,要实现一个消息导出的接口,由于没有PHP经验,对业务也不熟悉,加之胆小不敢提问,闷头闷脑的憋了一个礼拜,接口硬是没写完。到了交作业的时间,我像个委屈的孩子,在leader面前,一句话也不敢说。
画外音:不懂,要思考,要尝试解决,还解决不了,一定一定一定要提问,并让团队知道你的困难。
这一次,我差点没有转正。
这是leader为数不多生我气的一次,他不是生气我没做出来,而是生气,为什么不问,为什么不早点提出,这样他能够帮到我。后来leader安排了一个前辈@正位 给我讲业务,一个同学教我PHP,我才顺利把工作做完。
PHP搞了一段时间,后来leader又调我去做C/C++的逻辑模块 adapter /pusher /cs ,这些模块sample code较多,语言我又相对熟悉,渐渐的,竟然越做越顺手。加上自己相对细心,又还算负责,慢慢做项目不再胆怯,慢慢变为项目核心主力之一了。
熟悉了业务,建立了自信,后来再搞PHP,再搞存储模块,甚至架构设计,都不再是问题了。
这里,感谢我的队友和leader,在自己遇到困难,工作不尽如人意的时候,没有放弃我,而是指导我,帮助我解决问题,帮助我成长和提高。
现在,我带队的时候,我会一直和leader强调,不要放弃每一个员工,帮助员工解决问题,帮助员工成长和提升,帮助员工搭台子唱戏,是leader最重要的职责。
最后,感谢@明海,感谢@余佐,感谢百度hi团队等帮助过我的队友和leader,感谢你们,在职场遇到困难的时候,没有放弃我。
遇到一个好的leader,真是我的幸运。
朋友,你呢?