微信号:infoqchina

介绍:有内容的技术社区媒体

4年,草根成为CTO?很多事情都是被逼的……丨大咖说回放

2016-06-19 08:27 汪洋

本文整理自6.16日汪洋在InfoQ大咖说的视频直播。
回复关键字「汪洋」,下载本期直播回放及PPT。


(视频时长0.5h,建议WiFi环境下观看)

茫然的求索

那一年,刚好经济危机,毕业了。经过了很长时间的“网上海投”而杳无音讯之后,终于发现“经济危机真的和自己有点关系了” ,曾经以为经济危机和自己巴刚子打不着。

拿着简历,开始到处去跑招聘市场,又发现,人才招聘市场里面的计算机岗位特别少,满街的招聘销售。即便有一两家招聘技术人员的,但是又被各种“硬性指标”拦在门外。


看着钱包里面的钱一张张的变少,没有时间郁闷,也不能待在家里,没有收入日子,待在家里就是耗钱。武汉的夏天很热,在家里带着吹电扇(没有空调,使用空调那是奢侈的),另外在家里要开电脑,都费电。

无奈之下,开始“地推“,开启了扫街模式:把创业街,软件园等地方的公司,一个个上门去死磕。

记得很多次被门卫挡在外面,多次被前台美女婉拒,多次被保安赶出来,不管怎么样,最后终于找到了一个工作。


给我的理由就是:挺有激情的,胆子蛮大的,人也很阳光,我们需要公司没有活力,招进来调节气氛这是多年之后,当年的HR美女跟我说的这应该也算是“拼颜值靠脸吃饭了“(呵呵呵)。

得到了一份理想的工作,同时也收到了一份馈赠---有了慢性因喉炎,因为天气热,水喝得少,干渴了,留下了这个小毛病,至今陪伴着。

前辈的警示

终于找到了工作,工资很低,完全达不到交税的标准。

虽然曾经在大学期间在一些公司做过项目,也参加多一些软件比赛,也在很多的IT社区回复很多的技术帖子,提升能力,但是终究没有实战经验,不管自己如何说,至少在别人眼中,你就是新兵蛋子。

能力不是说出来的,是干出来的。

在日企里面,做事比较的严格,可以明显的感受到了每天那种紧张的气氛,每天进办公室,听到的更多的都是键盘敲击的声音,虽然大家在聚在一起讨论需求,但是更多的是在会议室。即便有时候在工位上面谈论问题,大家也是很注意,尽可能的不打扰到别人。

我终于明白HR美女说的那句话了,需要新人进来,注入活力。

入职半个月左右,我旁边的一个“老程序员”,我们一般叫他----陈工,走了。来了这么久,没有和他说一句话,只是知道他40多岁了,而且是一个基础的程序员,在级别上面,Leader都算不上。听到同事在八卦,说是陈工被公司“请走了”,因为他的待遇可以请到2~3个新人…..

看到陈工默默的收拾东西,轻轻的走的时候,那一刻,我思考了很多:陈工也儿女,老人要养,现在被“请走了”,怎么办?而且被请走的时候,没有看到他的反驳,换句话说,难道是真的是“弱者连谈判的权利都没有”?四十多岁,已经算是不惑之年,自己不想这样子。


陈工的离开让我明白,至少等到我四十岁的时候,不能混成这样子。

生存的渴望

进入项目组之后,终于看到什么是一个真正的软件项目,代码的庞大完全超出了自己想象。

不要以为有人会来“慢慢的“的教你,这不是学校,而是公司。招你进来就是来做事的,不要以”我是新人,所以我不会“来扯理由。

要么干,要么滚。

项目leader丢给我几个文档,说是数据库的结构文档,让我看熟,之后给我分配任务。陌生的业务,陌生的行业,几百张数据表,肯定是一头雾水。很想找别人去问,看到大家都忙得像啥似的,也不敢随便去打扰。

凭着自己所谓的“经验”,开始尝试理解各个表,也看着一大堆英文需求文档,开始磕磕碰碰的尝试理解需求,然后把问题都记录下来,每次看到有人在喝水,或者在上厕所了,我就马上走过去问几句。

进入项目组,一直没有分配任务,心里反而着急,因为我知道公司不会养闲人,什么都做不了的话,天知道什么时候会被开除了。每天啃文档,看似轻松,心里却是度日如年。


大概4天之后,我告诉leader,我把数据库表结构看熟了,也知道了系统分了那些大的模块,每个模块大致的功能是什么,更加具体的功能,就需要在项目中学习了。

Leader也吃惊,于是让一个老员工开始带我,他开始把手头的一部分任务给我,让我尝试着做起来。心中开始有了一个大石头,因为真的要“实战”了,做一个“商业项目”。这和以前实习,比赛是完全不同的。

每次任务了之后,自己开始捣鼓。很多时候发现,自己在业务的理解方面有偏差,明明上午写的代码,下午就感觉不对了,因为觉得业务应该是那样子的。于是,自己赶快急急忙忙的去修改,因为任务的时间是规定好了,必须在规定时间之前做好。

于是,每天不断的琢磨,但是自己天资愚笨,很大问题搞不动。很多同事下班就走人了。但是我自己的任务没有完成,肯定走不了,也不敢走,但是有些业务点,技术点自己确实不清楚。于是就想出了一个招:每天看自己哪些点不懂,然后看看那个同事比较对这个比较熟,只要他下班,自己就跟着他一起走,一起挤公交,走路,同时,在路上不断的请教各种问题。当把同事“送到”家之后,马上自己回到公司,开始继续捣鼓。


自己每天基本干到12点回去。回去之后,不断的反思,任务是否做好了,代码有没有问题。很多时候,感觉自己越想,问题就越多,越发感觉自己写的代码有问题。心里一惊,一夜都睡不着,早上4点起来,摸到公司,然后在上班之后,把代码改好。

身边的惊雷

在公司呆了一个多月了,而且也开始完成一些小任务,总算是“做了点事情”,心里依然稍微好受了点,毕竟我不是闲人了。但是心里依然不踏实,因为离转正还很远,离“自如的完成任务”还很远。

有一天,看到和自己一起做事的那个老员工和HR争吵,第二天,那个老员工就走了。

我震惊了:一个月以内,我看到了两个人被请走了,而且第二个人就是和我一直做任务的同事。他有四年的经验都被请走了,我一个新人,岂不是…..

HR找到我,告诉我,那个员工的走,不是因为能力问题,而是态度问题,让我不要担心,好好干,而且这一个月干的也不错。

不管怎么样,我心里的念头就是:我要留下来。

于是,我开始更拼命的做好手头每一个任务。如果自己做完了之后,反复的审核,在审核,如果自己手头任务搞完了,就看周围有没有同事需要帮忙的,不管是帮他们“填充测试数据”,还是调整文档格式,还是给他们顺手倒垃圾,我都干。


我要留下来!!!我需要工作!!!

困境,突破

做任务算是上手了,也逐步的开始做一些有点难度,稍微大点的任务。当时依然发现,自己每次都是花别人几倍的时间在做,虽然自己把任务做完了,其实中途缝缝补补,反反复复的修改还是蛮多的,所以,只能通过拼时间,狂加班来向别人看齐。

这无疑是一个很危险的信号,如果遇到更大的任务,难度在复杂一点的,那自己就死翘翘了。

于是,开始给自己“定目标”:争取在每次写完一个方法,或者几个方法之后,代码一次性通过编译。

写代码更加用心了,不再犯不必要的低级错误。而且也感到自己的能力貌似真的有点长进,因为做任务开始有“多余”时间了。

于是,都开始给自己“定目标”:争取在写完每一个方法,类之后,功能是可以跑起来的,业务逻辑是正确的。

然后开始一步步的坚持,到了一定的时间,认为可以了,然后定更多的目标:写完几个类之后,功能OK”,“写完一个小模块之后,功能OK


慢慢的,很多的功能都一次写完,除了一些问题真的没有考虑周全,一般都OK了。在写代码过程中,之前总是拿到任务,想了之后,就开始动手,边想边写,如果不对,代码删除,重来。很显然,这又是一个作死的事情。

于是,自己拿到任务之后,不着急写,而是在纸上面画几下,然后大概的列出需要几个表,需要几个类,每个类大致有那几个方法,每个方法的基本逻辑是什么样的。开始的时候,不可能想的那么多,但是依然会想一些,然后边写代码边完善。所以,以至于后来,很多同事看到我一个在座位上面静坐很长时间,不敲键盘,然后过一段时间,就噼噼啪啪的狂敲键盘。


刚开始的时候,这样思考很难,而且时间过去了,思考的结果也不咋样,这样导致任务可能会完不成。所以,自己依然会每天起早摸黑的把这段时间补起来。

后来,慢慢的开始熟悉,发现“心里有谱了”,写代码的速度质量都提高了。后来才知道,原来自己的那种折腾就是所谓的“设计design”,原来“软件设计师”中的“设计”是有含义的。

思维,出击

经过自己不断的折腾,各种尝试,不断的把各种任务完成,自己的信心也有了,也开始敢于在团队中慢慢的说出自己的一些观点和想法。

但是,很多时候,毕竟自己各方面不足,不是所有的意见都会被采纳,其实很多时候,都不会被采纳,但是自己又认为是对的。

怎么破???

这个时候,肯定不要抱怨,更加不要谩骂别人是傻逼。毕竟刚刚毕业,很多东西都摆在那里。信任需要一步步的积累,实力需要一点点的证明。

很多时候,自己也会认为项目中的某些功能,或者技术点可以改善的更好,如果意见不被采纳,那么自己就下班之后,自己一个人开始捣鼓,自己开始验证,自己的想法是不是对的。当然,捣鼓完了之后,代码不会合并,因为要考虑到整个团队,不能随随便便擅自做主。但是作为自己,依然会去验证想法,即便最后没有不能再项目中使用,但是起码自己动手了。

如果每次看到项目中的问题,我会问自己:如果这个功能是我来做,我会如何搞?

如果看到别人带项目,带人方式有些问题,我也会问自己:如果我带人,我会怎么搞?


通过现状,不断的反思自己。其实后来才知道:很多时候,不是因为你屁股上去了,你才对应的思考方法;而是你的思维先上去,等到有机会,你屁股就自然上去了,因为你一直以更高的角度在思考问题。机会是给有准备的人。

助人,助己

每天都会不断的学习,看技术相关的书籍,泡论坛,逛博客。看到很多不同的言论,不同角度的解析。有时候,看完之后,甚至发现:一个知识点,很多地方的讲解都是相互矛盾的。

搞的自己也很乱。因为自己一直在“吸收别人的想法”,最后很多的杂糅在一起,自己很晕。

于是,开始自己梳理知识点,通过自己的思考,各种求证,然后把某个知识点理解,至少让自己”自圆其说“,不至于被各种言论搅晕。

我常常用炼铁在比喻:把各种不同的矿石,丢在一个熔炉里面,这些矿石就是各种不同的知识点,各个不同的思维,流派。我们自己的到大脑就是那个炉子,需要把这些矿石全部融化,然后融合在一起,提炼出钢铁,然后把矿渣过滤出来。


自己开始不断的每天学习,也开始写很多的文章,基本是每天坚持写一篇,然后反复的推敲,看看是否有地方很牵强的,是否存在“含糊其辞”的地方。如果自己都讲不清楚,那么就不要发布,一直到自己的思路想通了,而且认为别人按照这个思路理解,可以最终想通,才把文章发布。

开始发现,通过不断的写文章,自己很多模糊的想法都变得很清晰。

也发现:一个知识点,你自己看懂了,那是一个层次;你会用,是另外一个层次;你写出来,你写出来让别人懂,那又是更高的一个层次;你用最通俗的言语,把知识点讲出来,让别人一下子明白,又是更高的一个层次

  • 扫描下方二维码,进群与作者交流


未完待续:

后续三篇提纲:

一个技术人的商务思维

一个技术人的“道”的思维

一个技术人的“全面出击”

延展阅读(点击标题):


一场为你量身打造的容器技术大会:

更加丰富的议题更加专业的讲师,更加严格的内容把控;

BAT、Docker、CoreOS、Kubernetes、Mesos等顶尖公司的经典容器应用案例;

InfoQ诚意出品,只为给你最好的参会体验!

阅读原文,了解更多惊喜!


本文系InfoQ原创首发,未经授权谢绝转载。

 
InfoQ 更多文章 年前挖的坑都填了吗?技术债务偿还计划 程序员VS武林高手:技术为外功,思维乃内力 腾讯游戏大数据服务场景与应用(附PPT) 偷师饿了么:怎样用HTTP/2优化iOS APP网络层次架构? 作为高颜值的女程序员是一种怎样的体验?
猜您喜欢 做为架构师,你应该如何与业务人员沟通? 程序员高手和菜鸟究竟差在哪里? 关于未来十年企业架构的十个关键词 O2O产品质量保障体系(三)| 百度糯米电影消费链数据质量保障 欢迎加入天猫技术团队,约起来!