上篇博文《.NET开发规范教程》得到了广大园友的大力支持,本来应当很快推出后文《设计模式精要教程》,然而由于这突如其来的变故,这就耽误了下来。
我这三年来供职的地方,不说是各种奇葩,也可以说是各种另类。这里没有任何贬义,只是突出其特别的地方。它不是一个软件公司。它是同济周边某大型规划设计院的一个附属机构。对建筑规划行业或者同济大学有些了解的同学可能知道,同济周边有很多教师工作室(Studio)性质的机构,老板有门路的往往是挂名在同济下属两大设计院——同济大学建筑设计院(集团)有限公司、上海同济城市规划设计研究院——下面,顶着同济的头衔接自己的生意。同济很多老师都是体制内外通吃、名利双收的。我这家公司就是其中之一。
我本身也是个另类。我大学本科的专业并不是计算机或软件相关,而是俗称“又土又木”的土木工程。是的,我在同济大学土木工程学院念的本科,这是很多人眼中的好专业,所谓各种第一,然而很遗憾,我严重排斥这个专业,因为它给我发挥创造力的空间太小了。我是大学录取时由建筑学调剂到土木工程的,众所周知同济建筑录取分数相当于北大清华普通专业。我整个大学期间想的只有一件事:考研转到建筑学。显然这种想法实现起来是很困难的。幸好,我在大学期间学会了一个很重要的求生技能:Coding,还参加上海市大学生计算机竞赛,获得程序设计二等奖。
大四考研失败后,我阴差阳错来到了这家公司。当时J头给我打电话时,特别强调他们是“建筑城规学院的”,正在研发“数字城市”,特别需要我这样的“跨学科人才”。我是按软件公司给他们投的简历,J头说我是横跨土木、建筑、计算机的“三栖人才”。这顶高帽子戴得我心里很舒服,于是我很快选择在这家公司实习、就业。
坦率说,这是我第一家公司,我是有感情的。无奈,恨铁不成钢,从来不见起色。我是该公司软件研发部第8位入职的员工,入职时却已是排名第3的“元老”(当时公司刚成立半年,已有5人离职,就是这个概念);到三年后离职,期间在我已见证50+位员工的来来去去。最鼎盛时达到过10+人(含8+实习生)的规模,然而大多数时间不超过5名员工同时上班。我有一位离职同事W君,除了软件部负责人L头和我,他呆的时间最长,离职前绘声绘色地向新员工讲述我公司“英雄谱”,如数家珍,新鸟们听得津津有味、唏嘘不已。然而这位W君不过才经历了20+个人的到来和离去吧,跟我比少一半多呢。
关于我们公司留不住人的原因,我来分析,无非以下几点。第一个原因是公司本身,公司规模小,又不是正规的软件公司,并且没有任何产品、盈利,完全依附于设计院,而且周六常态正常上班,一般计算机专业学生都不会作为首选。第二个原因是工作内容,虽然现在不少软件公司都是做行业软件,但是我们这个行业专业门槛是比较高的,涉及城市规划、GIS等很多专业内容,即使这些都不做要求,起码需要具备良好的空间思维,很多计算机专业的同学来了两三天完全摸不着头脑,遂选择离去(曾发挥作用的几个骨干员工,都是GIS等其他专业的)。第三个原因是……是这位L头的奇葩性质,这恐怕是最重要的一个因素了。L头已经不惑之年,然而至今单身,不修边幅,讲话结巴,不善交际,缺乏社会基本常识,笑点与他人不同,每天加班到晚上11点但不知在搞什么。此人早年读某二本学校计算机专业,后在多地摸爬滚打,前几年读了同济的MBA,后由J头的关系(二人是高中同学,J头是同济城市规划专业本科生、研究生,后供职于设计院)以合伙人身份加入了我们这个团队,成为技术主管。
我们再把这位L头可能让人无法接受的地方细化一下。首先是个人气质,大龄单身男、不修边幅、不善交际、笑点奇特……我们不禁想到了“怪蜀黍”“猥琐”等词,这样子的话女生可能来面试直接就吓跑了,男生没两天也吓跑了。然后是专业技能,这个方面L头可用一个字形容:渣——对城市规划一窍不通也就算了,但对老本行的那种渣领悟就让人无法接受了。第三是他的管理,可以说毫无章法。来了一个人,你做过开发吗?做过两年,好的,那你来我们这里做测试吧。
为什么我能坚持三年之久?其实这三年来我一直在问自己这个问题。总结几个主要的考虑因素。第一,还是我的“同济情结”“建筑梦”,这个因素导致我不愿意离开同济、离开土建行业,使得我第二年就婉拒了已跳槽同事的挖墙脚。第二,我在第二年就和L头谈到了一个不错的薪资水平,第三年又加了一点,作为本科生,比跳槽的研究生W君(也是骨干)高很多,更是大大高于其它离职同事。第三,我在这里是绝对的骨干,拥有很大的自主权,虽然没少和L头发生矛盾。三年来我为公司几乎所有重大项目建立了框架并完成大部分编码工作,每个在最初都不为L头支持,然而最后不得不采用。
究竟有哪些项目呢?下面是我们参加2013上海设计之都活动周的展板,上面囊括了公司所有能拿的出手的东西,都是我的东西。
需要注意的是,这些软件并不是我们拿着需求进行开发的,因为我们是内部团队,他们需求方根本不会自己做一个需求给你开发,而是只告诉你一个十分不完善的想法,所有的需求,甚至是他们专业领域都没有现成结论的内容要靠我自己研究、自己确定。开发就更不用说了,这些软件会涉及到AutoCAD二次开发、Windows Forms、WPF、Silverlight、Web前端、Web后端的开发,这些代码我都要写,还要带其他人开发和给新人培训。说到培训,这就是我上篇博文《.NET开发规范教程》和这个系列《我的公司培训讲义》的来源。
在公司做开发实际上还是很充满回味的,尤其是后面更多从事框架搭建、别人都基于我开发的库进行开发的时候。离职后我把其中一个库开源到了CodePlex上,这是一个AutoCAD二次开发接口再封装的库,我是这样写项目介绍的:
AutoCADCodePack is a powerful library that help you to develop AutoCAD plugins using the AutoCAD .NET API. It re-encapsulates the over-designed and old-fashioned classes and methods into easy-to-use static modules and functions. It also brings modern C# syntax like functional programming to AutoCAD development. With all the features it provides, you can save over half the lines of your code.
是的,用这个库做CAD开发可以少写一半以上的代码。不知读者有做AutoCAD .NET开发的吗?福利来了。如果你写C#有不自觉运用函数式风格的好习惯,你会觉得这个方便的。我计划以后有时间好好完善一下文档,造福更多朋友。
稍稍扯远,马上回来。那最后我为何离职呢?用院里其他团队一位老师的话说,真是太具有戏剧性了。
其实今年以来,我其实已经被深深伤害了,但还未到想要离开的地步。先是L头开始明显地为防备我离开而做准备了,他开始强推自己的错误的一套技术,并且避免让我指导新人,凡事开始亲力亲为,这些我都看在眼里,心中十分失落,被人防备的感觉是很糟糕的。而后团队所有成员又被事实降薪——公司被不知谁举报,开始要正规缴纳社保和个人所得税了(之前有避税),但公司坚持公司支出不变原则(员工主张名义工资不变原则),于是每个人到手收入大幅减少,人心开始不稳。但起码就我来讲,并未把这些不满带入工作。
戏剧性的一幕出现在设计之都展会之前。J头与L头一样,是一个没有多少干货的人,但与后者不同,此人能说会道,高谈阔论,甚至到了口无遮拦的地步,其领导作风强硬,独断专行,即使在上级面前从不浪费表现的机会,喜好以喷别人来显示自己的水平。J头和L头的关系十分微妙,二人虽为同学,但如今的处境可谓天差地别,J头春风得意,L头处处不如意,于是J头与L头相处就像老师教训小学生。L头处处被羞辱,却是大气也不敢出,这可害苦了我们软件组。J头根本是个不懂装懂爱卖弄的人,我平生最看不惯这种人。如今我们L头被J头骑在脖子上,等于我们整个组都是窝囊废,经常J头骂着L头就会牵连到我们整个组。
偏偏L头是个不成器的,打了左脸伸右脸,爱找骂。那天他把我监制的设计之都宣传视频拿给J头看,J头是个极虚荣的人,看到视频中其他老师团队的作品(但都是我们院的,当时我们代表的是整个院),顿时气不打一处来,开始鸡蛋里面挑起骨头来。L头哪里招架得住,连忙把我搬出来挡在前面——出了事不帮下属扛着,反而要下属帮他出头,我已经有点火。J头又让我拿个本子记下他说的内容,我想行啊,我看看你嘴里能吐出什么金玉良言,于是拿了本子过去,心头怒火已经快要爆发。J头遂开喷。他说视频里有个镜头里一只狗跑到了高架上,这个镜头不能用。哥没听错吧?哥顿时笑了。你当哥什么水平的人,拿个本子在这里记你喷啊。知道这会儿功夫哥能写几行代码么?有木有?哥登时怒火中烧,将他顶了回去,说你这骗谁呢,本来就是忽悠人的东西,不知道在骗谁,摔了本子就回座位了。大办公室里十几号人瞬间凝固了。
我这可是一语道出真言,造成了矛盾的公开化。公司成立三年,参加一个展会,所有拿的出手的东西都是我做出来的,我一点也不自豪,反而心里一阵悲哀,我特么真是个傻逼啊。做的东西再符合软件规范,再简洁再优美,再高大上,可是却是建立在他们这些人忽悠出来的东西的基础上,建立在中国学术浮夸、学术造假、学术腐败、行政低效的基础上,这是尼玛何等愚蠢的三年啊!
J头大概是头一次被人如此顶撞,颜面扫地,怒不可遏,当天就让我回家休息了。我算是为L头出了头,可是此时L头如同化作一缕青烟,找不到踪影。他当然是离不开我的,可是他不敢和他的老同学对抗。半个月后,我明确答复L头,我不会再回去了,是你们把我赶走的。
我认为我需要停下来认真地想一想,想一想我的过去,也想一想我的未来。我不能学那个只低着头不看路的L头。我有太多重要的事情需要做(包括完成博客园的系列),不能再浪费生命。如今妹子收留了我,我赋闲在家靠妹子养着,我们住在上海西区的市属公租房里,远离同济。
我想出国深造,此生做一名资深码农。
我会尽快恢复“公司培训”系列的写作,敬请园友关注。
有没有际遇类似的园友?求交流、共勉。