在段伏枥鼻子通畅后不久,Micheal又召开了一次会议,告诉大伙这500台机器的批量产已经回来,希望大家能够抓紧时间测试,如果没有什么问题,就要交付于客户了。末了,还宣布以后每天下班之前,要将代码备份到一个新买的移动硬盘中。因为浩程微是个小公司,所以管理非常松散,对于代码的管理来说,更是没有。基本上是员工各管各的,自己的代码自己保存,自己备份;唯一需要和别人交道的是,将编译好的程序员文件交给生产部,并告诉他们如何使用即可。像现在流行的SVN啊,VSS啊这种代码版本控制软件,段伏枥连见都没见过,甚至根本就不知道还有这么些东西。而现在让每个人在下班前将代码备份到移动硬盘,也算是一大改进,但更多的,估计是针对老柳和黄华中。因为在研发新产品的时候,老柳紧握着代码不给张俊,以致于新产品至今无法顺利开展,所以Micheal觉得这样太危险,万一哪天老柳不爽了,撇下一切乐呵乐呵闪人了,那时候不要说什么新产品了,现有的A6能否继续生产,还是个问题。故Micheal让采购买了个移动硬盘,让研发部将资料拷到里面,万一到时候真出意外,还能有所挽救。
段伏枥觉得这没什么啊,反正公司给了钱,自己的代码也算是公司的,也是公司的财产,备份到移动硬盘上有何不可?所以非常高兴地,将入职以来所做的工作,完完全全拷贝到移动硬盘上。甚至还怕后来者不懂,还特意写了个说明,可谓一切完备。可是老柳就不一样了。段伏枥有一天非常好奇,嗯,应该是说非常八卦,想看看老柳平时究竟做了什么,所以偷偷点开了老柳的文件夹。这可真的是有点提心吊胆啊,感觉像偷窥别人隐私,就跟小偷一样。其实这种心情完全是没必要的,同事嘛,工作上的事情,本应该就互通有无。只不过,当段伏枥打开老柳的文件夹后,震惊了:文件夹中只有编译好的系统NK.BIN文件,其它的什么BSP源代码啊,什么工程啊之类,统统没有!即使是之前为配合段伏枥调试录音机时所给的那些已经编译好的DLL文件也没有!这究竟是怎么一回事?为什么老柳会这么做,备份代码不是公司规定吗?其实这很简单,但段伏枥没想通。既然老柳已经决意和张俊为难,他又怎么会将自己的东西亮出来呢?Micheal虽然说要备份代码,可问题是谁来监督?更为重要的是,谁知道老柳做了什么?他只要随便拷贝几个编译好的程序文件到硬盘,说自己已经备份了,又有谁敢质疑?
突然间,段伏枥觉得事情似乎有所不对,急忙打开自己的文件夹,发现自己备份老柳所给的编译NK.BIN所需要的一些DLL文件全部不见了!这会是谁呢?虽然没有证据,但段伏枥直觉认为,这肯定是老柳搞的鬼!就像当初自己电脑上的源代码被删一样,应该也是老柳弄的!这一切,都是因为黄华中伙同老柳要给张俊制造障碍,所以凡是有利于张俊的任何东西,都必须清除!段伏枥觉得有点窒息,大家不都是同事吗?大家不都是应该为了公司而奋斗呢?为什么非要如此使绊子呢?
段伏枥此时觉得有点左右为难了,有些东西究竟是做好,还是不做好?也许应该向老柳那样,什么都不放到移动硬盘,与张俊和Micheal作对?但那样不是太对不起公司了吗?但如果按照不这么做,老柳虎视眈眈,并且和黄华中一伙,他们也算是自己的上级,如果给自己小鞋穿,那又该怎么办?
段伏枥一直在苦恼,毫无头绪。突然,灵光一闪,为什么不看看老章是怎么做的?这样不也有个参照吗?刹那间,段伏枥觉得前面一片光明。说做就做,段伏枥打开了老章的文件夹,突然松了一口气:原来老章也是将自己的所有代码都备份到移动硬盘上啊。段伏枥觉得自己找到了榜样,正想松口气,但突然发现似乎有点不太对劲:为什么全都是压缩文件呢?好奇地点了一下,才恍然大悟:原来老章的每个工程都用WinRAR进行压缩,并且都设置了密码!虽然他是将所有的工程都放到了移动硬盘,但却是谁都无法查看!
刹那间,段伏枥觉得很沮丧。不过他此时沮丧的不是因为老柳故意和张俊为难,而是老章为什么要将代码加密,为什么怕同事看到自己的成果?段伏枥觉得胸口似乎有一股无名的大石压着,一直打压着自己以往的信念。神志恍惚,段伏枥今晚已经没有任何想要加班的念头,于是到点后就提着包走出了办公司。坐在公交上,沿着深南大道,看着来来往往的车辆,却不知道想什么。突然间,一只猫从路旁的小树钻出来,唰的一声又跑了回去。
猫?猫!段伏枥突然想起儿时看过的一部名为老虎学艺的动画片。情节很简单,小猫和老虎比赛,结果在两场比赛中聪明的小猫运用很多技巧胜过了老虎,然后老虎甘拜下风,向小猫学艺,而小猫也并不恃才放旷,儿时非常耐心地指导老虎。可当老虎学成之后,就觉得小猫已经没什么用处了,就要把小猫抓起来。没想到小猫还留了一招没有教老虎,而这招就是爬树。结果凭着这保留的绝招,小猫躲过了一劫。以前看到的时候,觉得老虎很可恶,居然恩将仇报,只是今天想起来,却发现这却深深地隐藏着制作者的告诫:教徒弟,留一手。而这正是应正了一句俗语:带出徒弟,饿死师傅!如果小猫将自己的所有技艺包括爬树都交给了老虎,那不是意味着小猫甚至连生命都保不住了?而老章他不让别人看到他的代码,是不是就是怕别人学去了他的东西,从而导致于失业?
想着这层,段伏枥心宽了一些。可仔细一想,觉得又不对啊。在别的行业,可能的确如此,徒弟出师,抢走了师傅的生意,导致师傅下岗。但这也是基于这一行业的技艺比较稀少,不容易创建新技术的基础上啊!但软件这一行业,根本就不具备这样的条件。试问,谁敢说,自己已经将所有的软件行业所需要的技艺全部了如指掌,无人出其左右了?软件这一块,每年都有新技术新领域出现,怎么可能会存在没有新技艺可学的状况?那些守着自己的技术,不肯轻易传授给别人的,大都是那些固步自封,抱残守缺的程序员。因为他们已经不想去学习新的技术,所以他们的水平永远只能停留在这一阶段,如果他将自己所知全部交给了别人,那么别人就能替代他的作用,而他就毫无用武之地了。正是忌惮于此,所以这部分人将自己的知识,看得比什么都还要贵重,牢牢守住,不肯透露一点风声。他们可以是牛人,但他们绝对成就不了大师。
经验是自己的,告诉别人,并不代表别人就能成为自己。试想一下,Boling写了《Windows CE程序设计》,看完了之后,你敢对Boling所在公司的Boss说,我已经将Boling的书看完了,他已经没有什么秘密了,你可以将他炒了,我来替代他!我想没有人敢如此口出狂言吧?
老鸟将自己的经验传授给菜鸟,并不代表老鸟会损失什么,相反,可能正因为老鸟直接告诉了菜鸟答案,让菜鸟省略了探求的过程,反而不利于菜鸟的成长。从另一个角度来说,老鸟和菜鸟本来就不在同一层次,想象一下:老鸟在10楼,菜鸟在1楼,两人要同时到达20楼,哪个人的优势更大?除非老鸟止步不前,否则老鸟只要还会继续前进,那么菜鸟就很难赶上老鸟。当然,如果菜鸟非常天才,这种可能性还是存在的;可事实是,世间哪来那么多的天才?这地球上,从人类诞生至此,爱因斯坦也只有一个。如果再从另外一个角度来看,即使老鸟将自己的所得传授给菜鸟,怕有一天菜鸟会超过自己,其实也并不是件坏事。这一担心会让老鸟不敢固步自封,而是不停地学习,以避免被淘汰。
程序员是不幸的,因为只要还想继续呆在这行业,那么就必须一直在学习,永无止尽;程序员又是幸福的,因为这行业永远不会有尽头,永远不会学完的东西,只要不停下前进的步伐,那么就不会担心被取代。
影响一个人的,往往不是什么大事,很可能只是生活的一些小事。老章给代码设置密码这一件微不足道的小事,却给段伏枥的后续职业生涯带来了巨大的影响。当然他并不是打算顺着老章的步伐,而是逆其道而行之。当有一天自己能够成为老鸟的时候,对自己的技术绝对不藏着不掖着,菜鸟的提问,一定言无不尽。而这第一步,就是将自己的灵感和知识,毫无保留展现在博客中。虽然别人可能因此而获利,甚至会超越自己,但这有什么关系呢?只要自己不停下脚步,相信一定不会被淘汰!
至于公司代码备份的事宜,段伏枥还是觉得和以前一样,该备份什么就备份什么。虽然可能黄华中和老柳会给自己小鞋穿,但这又如何呢?男子汉大丈夫,就应该行事磊落,虽然可能会得罪一些人,但求能对得起自己良心即可!
- 前言
- 《那些年啊,那些事——一个程序员的奋斗史》——01
- 《那些年啊,那些事——一个程序员的奋斗史》——02
- 《那些年啊,那些事——一个程序员的奋斗史》——03
- 《那些年啊,那些事——一个程序员的奋斗史》——04
- 《那些年啊,那些事——一个程序员的奋斗史》——05
- 《那些年啊,那些事——一个程序员的奋斗史》——06
- 《那些年啊,那些事——一个程序员的奋斗史》——07
- 《那些年啊,那些事——一个程序员的奋斗史》——08
- 《那些年啊,那些事——一个程序员的奋斗史》——09
- 《那些年啊,那些事——一个程序员的奋斗史》——10
- 《那些年啊,那些事——一个程序员的奋斗史》——11
- 《那些年啊,那些事——一个程序员的奋斗史》——12
- 《那些年啊,那些事——一个程序员的奋斗史》——13
- 《那些年啊,那些事——一个程序员的奋斗史》——14
- 《那些年啊,那些事——一个程序员的奋斗史》——15
- 《那些年啊,那些事——一个程序员的奋斗史》——16
- 《那些年啊,那些事——一个程序员的奋斗史》——17
- 《那些年啊,那些事——一个程序员的奋斗史》——18
- 《那些年啊,那些事——一个程序员的奋斗史》——19
- 《那些年啊,那些事——一个程序员的奋斗史》——20
- 《那些年啊,那些事——一个程序员的奋斗史》——21
- 《那些年啊,那些事——一个程序员的奋斗史》——22
- 《那些年啊,那些事——一个程序员的奋斗史》——23
- 《那些年啊,那些事——一个程序员的奋斗史》——24
- 《那些年啊,那些事——一个程序员的奋斗史》——25
- 《那些年啊,那些事——一个程序员的奋斗史》——26
- 《那些年啊,那些事——一个程序员的奋斗史》——27
- 《那些年啊,那些事——一个程序员的奋斗史》——28
- 《那些年啊,那些事——一个程序员的奋斗史》——29
- 《那些年啊,那些事——一个程序员的奋斗史》——30
- 《那些年啊,那些事——一个程序员的奋斗史》——31
- 《那些年啊,那些事——一个程序员的奋斗史》——32
- 《那些年啊,那些事——一个程序员的奋斗史》——33
- 《那些年啊,那些事——一个程序员的奋斗史》——34
- 《那些年啊,那些事——一个程序员的奋斗史》——35
- 《那些年啊,那些事——一个程序员的奋斗史》——36
- 《那些年啊,那些事——一个程序员的奋斗史》——37
- 《那些年啊,那些事——一个程序员的奋斗史》——38
- 《那些年啊,那些事——一个程序员的奋斗史》——39
- 《那些年啊,那些事——一个程序员的奋斗史》——40
- 《那些年啊,那些事——一个程序员的奋斗史》——41
- 《那些年啊,那些事——一个程序员的奋斗史》——42
- 《那些年啊,那些事——一个程序员的奋斗史》——43
- 《那些年啊,那些事——一个程序员的奋斗史》——44
- 《那些年啊,那些事——一个程序员的奋斗史》——45
- 《那些年啊,那些事——一个程序员的奋斗史》——46
- 《那些年啊,那些事——一个程序员的奋斗史》——47
- 《那些年啊,那些事——一个程序员的奋斗史》——48
- 《那些年啊,那些事——一个程序员的奋斗史》——49
- 《那些年啊,那些事——一个程序员的奋斗史》——50
- 《那些年啊,那些事——一个程序员的奋斗史》——51
- 《那些年啊,那些事——一个程序员的奋斗史》——52
- 《那些年啊,那些事——一个程序员的奋斗史》——53
- 《那些年啊,那些事——一个程序员的奋斗史》——54
- 《那些年啊,那些事——一个程序员的奋斗史》——55
- 《那些年啊,那些事——一个程序员的奋斗史》——56
- 《那些年啊,那些事——一个程序员的奋斗史》——57
- 《那些年啊,那些事——一个程序员的奋斗史》——58
- 《那些年啊,那些事——一个程序员的奋斗史》——59
- 《那些年啊,那些事——一个程序员的奋斗史》——60
- 《那些年啊,那些事——一个程序员的奋斗史》——61
- 《那些年啊,那些事——一个程序员的奋斗史》——62
- 《那些年啊,那些事——一个程序员的奋斗史》——63
- 《那些年啊,那些事——一个程序员的奋斗史》——64
- 《那些年啊,那些事——一个程序员的奋斗史》——65
- 《那些年啊,那些事——一个程序员的奋斗史》——66
- 《那些年啊,那些事——一个程序员的奋斗史》——67
- 《那些年啊,那些事——一个程序员的奋斗史》——68
- 《那些年啊,那些事——一个程序员的奋斗史》——69
- 《那些年啊,那些事——一个程序员的奋斗史》——70
- 《那些年啊,那些事——一个程序员的奋斗史》——71
- 《那些年啊,那些事——一个程序员的奋斗史》——72
- 《那些年啊,那些事——一个程序员的奋斗史》——73
- 《那些年啊,那些事——一个程序员的奋斗史》——74
- 《那些年啊,那些事——一个程序员的奋斗史》——75
- 《那些年啊,那些事——一个程序员的奋斗史》——76
- 《那些年啊,那些事——一个程序员的奋斗史》——77
- 《那些年啊,那些事——一个程序员的奋斗史》——78
- 《那些年啊,那些事——一个程序员的奋斗史》——79
- 《那些年啊,那些事——一个程序员的奋斗史》——80
- 《那些年啊,那些事——一个程序员的奋斗史》——81
- 《那些年啊,那些事——一个程序员的奋斗史》——82
- 《那些年啊,那些事——一个程序员的奋斗史》——83
- 《那些年啊,那些事——一个程序员的奋斗史》——84
- 《那些年啊,那些事——一个程序员的奋斗史》——85
- 《那些年啊,那些事——一个程序员的奋斗史》——86
- 《那些年啊,那些事——一个程序员的奋斗史》——87
- 《那些年啊,那些事——一个程序员的奋斗史》——88
- 《那些年啊,那些事——一个程序员的奋斗史》——89
- 《那些年啊,那些事——一个程序员的奋斗史》——90
- 《那些年啊,那些事——一个程序员的奋斗史》——91
- 《那些年啊,那些事——一个程序员的奋斗史》——92
- 《那些年啊,那些事——一个程序员的奋斗史》——93
- 《那些年啊,那些事——一个程序员的奋斗史》——94
- 《那些年啊,那些事——一个程序员的奋斗史》——95
- 《那些年啊,那些事——一个程序员的奋斗史》——96
- 《那些年啊,那些事——一个程序员的奋斗史》——97
- 《那些年啊,那些事——一个程序员的奋斗史》——98
- 《那些年啊,那些事——一个程序员的奋斗史》——99
- 《那些年啊,那些事——一个程序员的奋斗史》——100
- 《那些年啊,那些事——一个程序员的奋斗史》——101
- 《那些年啊,那些事——一个程序员的奋斗史》——102
- 《那些年啊,那些事——一个程序员的奋斗史》——103
- 《那些年啊,那些事——一个程序员的奋斗史》——104
- 《那些年啊,那些事——一个程序员的奋斗史》——105
- 《那些年啊,那些事——一个程序员的奋斗史》——106
- 《那些年啊,那些事——一个程序员的奋斗史》——107
- 《那些年啊,那些事——一个程序员的奋斗史》——108
- 《那些年啊,那些事——一个程序员的奋斗史》——109
- 《那些年啊,那些事——一个程序员的奋斗史》——110
- 《那些年啊,那些事——一个程序员的奋斗史》——111
- 《那些年啊,那些事——一个程序员的奋斗史》——112
- 《那些年啊,那些事——一个程序员的奋斗史》——113
- 《那些年啊,那些事——一个程序员的奋斗史》——114
- 《那些年啊,那些事——一个程序员的奋斗史》——115
- 《那些年啊,那些事——一个程序员的奋斗史》——116
- 《那些年啊,那些事——一个程序员的奋斗史》——117
- 《那些年啊,那些事——一个程序员的奋斗史》——118
- 《那些年啊,那些事——一个程序员的奋斗史》——119
- 《那些年啊,那些事——一个程序员的奋斗史》——120
- 《那些年啊,那些事——一个程序员的奋斗史》——121
- 《那些年啊,那些事——一个程序员的奋斗史》——122
- 《那些年啊,那些事——一个程序员的奋斗史》——123
- 《那些年啊,那些事——一个程序员的奋斗史》——124
- 《那些年啊,那些事——一个程序员的奋斗史》——125
- 《那些年啊,那些事——一个程序员的奋斗史》——126
- 《那些年啊,那些事——一个程序员的奋斗史》——127
- 《那些年啊,那些事——一个程序员的奋斗史》——128 (终章)