先作以下自我介绍,现居武汉,在一家开发人员五十人左右民营公司任职。定位模糊,不过前任架构师留下的框架相关的维护和升级任务都交给了我。
大学毕业之后,直接回到了武汉。因为大学时期的疯狂游戏导致差点无法毕业,所以最终还是在26岁时才阴差阳错之下投入到这一行。当时并未想着有高薪水,仅仅是因为过于自卑,希望减少与人接触的机会。但是,在进入这个行业之后,发现自己的性格非常适合这一行,加上在当时的情况下这算得上唯一的出路,所以将全部的精力都集中在了它上面。
进入这个行业的契机是公司的内部转岗,使用的是.NET做Web项目,当时真的是一窍不通,完全没有任何的基础。而当时公司的开发人员算上我只有两个,所做的工作大体就是照着模板复制粘贴改代码,就这样还是总能写错。负责人又不大会培养像我这种完全没有水平的新人,于是只能自己硬啃,在1700的工资之下用了一年的时候强行啃下了《C#入门经典》,同时买下了诸如《CLR via C#》,《你必须知道的.NET》等饱含深度的书籍,一直试图能在其上有所突破,奈何始终不得其法,周围又完全找不到任何人可以讨论。所以虽然看似啃下了一本砖头样的书,但是因为基础薄弱加上实践机会的缺失(确切点说是学习方法的缺失),导致进步非常缓慢。这段时间我都不敢以开发人员自称,更像是一个初级实施人员。
大概7个月之后,公司的研发部门解散,然后在之前负责人的提携下去了武汉大学的一个老师手下做事情,在这家单位拿着2500的工资呆了两年,做的依然是.NET。不过这次换作桌面应用程序,使用的是WPF;好笑的是这居然还是我自己选的,当时仅仅是觉得WPF比较新颖,加上我对WinForm和WPF都是完全不了解,就认为学习哪个都一样。现在想想真是非常可笑的想法。而这次所有的开发人员依然是只有两个人;我则就是那使用WPF作前端的。于是在接下来的两年的时间里我为自己选择的WPF付出了堪称惨重的代价。当时的我,对于WPF,甚至对于.NET,依然都算得上是个新人。加上周围的人肯定是没法指望了,我就只能去网上查找相关资料;而在经历了半年的百度之后,我终于认定了一个结论:至少WPF相关的,别指望在百度上找到有效的答案,于是在接下来的一年半的时间里,我都是在google中度过的。现在回想起来,多亏了这段岁月,让我把丢掉的高中英语又捡起来。
在武汉大学的这段时间里,福利就别想了,而人员算我就两个,反正就是缺点一大堆,不过有一点好处我必须要承认,它的工作很清闲(当然这是针对那些熟手,对于当时的我可就不能这么说了),所以在这两年的前一年里我将Jeffrey Richter的《CLR via C#》第三版,王涛的《你必须知道的.NET》,陆敏技的《编写高质量代码改善C#程序的157个建议》,《NET设计规范 约定、惯用法与模式(第二版)》,程杰的《大话设计模式》等等这些书籍(完全的书目就必须得去翻翻那个装书的箱子的。)进行反复多次的阅读,试图从中参悟。但是事与愿违,虽然时间被大把大把地砸进去,奈何始终无法看到相应的回报,机缘巧合之下在找到了金旭亮老师的《net 4.0面向对象编程漫谈》,寻到的时候发现只有电子版的了,感谢金老师的职业,独行的人终于有了一次得到专业计算机老师教诲的机会。从这两本书中,我终于开始慢慢品味出前面那些书籍里的真正含义,隐约间能看到那扇通过专业的门。但似乎也只是到此为止。
然后我碰到了一个转机,刚入行的时候我就开始在网上需要一些专业人事的意见,无一例外都提到了代码规范,这也是我会多次阅读《NET设计规范 约定、惯用法与模式(第二版)》的原因,其实这本书我看的是电子版的,所以我一直想买一本纸制的,奈何这本书在JD上一直显示都是断货,机缘巧合之下我看到了《Clean Code》,这本改变我职业轨迹的书籍,当时买回这本书之后,初翻之下我就觉得非常震撼,那近乎变态的自我要求,让我清楚地感受到了一个匠人对自己苛刻到变态的要求(可以说在看完《Clean Code》之后,我没再特意去背诵其他的代码规范)。于是这本书被我反复阅读了三遍之后,我开始疯狂得追寻作者Bob大叔的足迹,然后在网上找到一篇关于他的访谈,而就是这篇访谈让我接触到了一本让我直到现在为止依然恋恋不忘,感激不已的神书——SICP。我心目中的永远的No1(顺带说一句,接下来的第二,第三分别是《程序员的思维修炼》以及《Clean Code》)。
SICP,将你现有的三观击得粉粉碎,然后在此基础上帮你建立起牢不可破的三观,任何人都不能将其撼动。
其实说实话,这本书的纸质版我只看了第一章和第二章的前面一部分,而且习题做的也很少,主要是看的视频,这里必须要感谢一下Learing-SICP群的群主,我接触到SICP的时机恰恰是他开始汉化的时机,感觉真是冥冥之中的天意。所以这次Learing-SICP群的扩容,本人义无反顾的代劳了。 就是这些视频,我来来回回至少看了四遍,当真正开始理解教授所讲的内容时(其实当时的汉化还只到了lec3b),天亮了。我开始变得自信,我开始反向思考以前看的那些书里表达的意思。我开始发现原来它们讲的都是一件事情。我开始发现IT领域的发展原来是这么回事。这本SICP,我至今不敢翻开,因为我知道自己的能力还不够,但是我一直为了这天准备着。
此时,在武汉大学已呆了整整两年,薪水依然是2.5K。而我,已经29岁,马上而立之年。
我决定离开,不再做WPF, 不再做.NET。 我曾经是这么深爱着它,为表决心甚至手机都换作WP。但是它似乎并不爱我。
此时我在这行业待了已经三年整了,而这三年来缺少与外界的交流,周围环境的印象,再加上自身性格原因,导致我居然在面试中展示自信的能力都没有了。没有与人交流的机会,不知道自己的水平,在网上翻看大牛的博客又深感自身的渺小。最终我悲哀得发现自己似乎连工作都找不到了。最后迫不得已,在家里亲戚的帮助下,来到现在的公司作Java开发。5 -- 5.5 -- 7 -- 8.8 -- 10。 一年零八个月,在武汉这个IT环境,我做到了。当初的5还是在亲戚的面子上给的。而之后的5.5是在转正的时候主动加的。虽然现在加上年终奖已近16W。而我从未感到过满足。
转到Java的这一年零8个月的时间,在五分之四的时间里加班到至少9点以后的情况下,我又啃下了《深入分析Java Web技术内幕》,《Spring源码深度解析》,《How Tomcat Works》,《重构》等一系列书籍,并且比较深入得研究了Spring,Mybatis,Tomcat,httl,druid,slf4j,log4j2等的源代码。哈哈这个效率自己看着都不可思议。首先要感谢的SICP,永远的No1, 其次要感谢《Spring源码深度解析》,这本书的评价似乎并不高,但是让我下定决定买下它的是简介里的那句话“当你看完了Spring源码之后,阅读其他的源代码的速度会突飞猛进”。
1年零11个月的现在(2017/08/12),我想做一点改变。感谢现在这家公司,感谢它帮我建立起了无与伦比的自信心,SICP打下的自信心地基,公司帮助我在上面建立起了高楼。此时的我,想和大牛们并肩作战。