接上篇: 我如何把薪水從 50人民幣/天 提升到 100美元/小時的 (2)
那之后的實習時間過得很充實脏答,每天基本都會有新的挑戰(zhàn)糟把,然后再絞盡腦汁解決它們。每天都像在打boss献酗,有大有小初家,理所當然經(jīng)驗值也在迅速的增長偎窘。這樣的時光一直持續(xù)到這個項目快結束的時候乌助。那時挑戰(zhàn)感覺明顯下降,一方面是技能上已經(jīng)比較熟練陌知,另一方面項目上也沒有什么新的技術的引入他托,基本是 bug fix 和微調(diào)為主。不知是被虐慣了還是怎么的仆葡,突然的輕松下來讓我非常不習慣赏参。
于是我想利用那段時間把畢業(yè)設計搞了,其實畢業(yè)設計的東西我已經(jīng)在學習 Ruby on Rails 的時候寫的差不多了, 只是經(jīng)過了這么久的實習覺得當時很多地方代碼寫的還不夠好沿盅,所以想把它重構一下把篓。因此也給老板提出每周只上三天班,其他時間就留在學校做畢業(yè)設計腰涧。
在學校準備畢業(yè)設計期間韧掩,一個偶然的機會遇到了以前教我Java的嚴老師。于是聊到了我實習期間一些情況窖铡,當時我對Rails大加贊賞疗锐,并和他討論了不少細節(jié),想說明這是一個真的不錯的技術费彼。他也聽得津津有味窒悔,覺得很感興趣,特別是對它的開發(fā)效率敌买,所以他也在考慮是不是可以在自己的項目里用一用, 也會推薦他的學生看一看简珠。
說來也巧那天剛聊完我回到寢室,就有幾個同學和幾個學弟來找我虹钮,聽說我實習一直在做 Rails 開發(fā)聋庵,希望我能教教他們Rails。我當時很爽快的答應了芙粱,一方面是因為那段時間也相對輕松祭玉,另一方面,我倒是也想考驗一下自己春畔,是不是可以把一個自己知道的東西清楚的講給他人聽脱货。何況能幫助到幾個朋友了解一門我喜歡的技術那也算是一件不錯的事情。當時我一直覺得自己從Rails社區(qū)索取太多律姨,但是貢獻不夠振峻。所以也把這一次的事情當成了一個回饋。誰知后來這事一傳十择份,十傳百扣孟,想要加入一起學習的同學越來越多,所以整個學習小組一起學習時看起來就像一個班在上課一樣荣赶。
沒過幾天這事就傳到了系主任耳邊凤价,然后請我去他辦公室一趟鸽斟,我當時還有點疑惑,心想這是聚眾學習利诺,又不是聚眾其它富蓄,應該不違反什么學校規(guī)定吧?難道是因為偷偷用教室的投影儀播放視頻慢逾?但是也都是播的正規(guī)的傲⒈丁!腦子里冒著無數(shù)問號來到系主任辦公室氛改。
我: “張主任好帐萎。”
張主任:“坐胜卤!”
我: “張主任找我有什么事嗎疆导?”
張主任: “聽說你在私下組織上課?” (怎么聽都感覺我是個搞傳銷的)
我:“是的葛躏,但是其實也不能叫上課澈段,是一個學習小組。我也是義務工作的舰攒,教大家學習一下 Ruby和Rails.”
張主任:“恩败富,你知道你上課的時間和四門選修課的時間都重了嗎?導致你班上的人接近一半的人都是逃課去的摩窃?”
我霍然開朗兽叮,原來是因為這個事情來找我。
我立馬解釋道:“這個我還真沒注意到猾愿,我們可以換時間的鹦聪。”
張主任:“不用了...” (我擦蒂秘,一聽就是要解散我們秘密組織的節(jié)奏)
他停頓了一下十分從容的從旁邊拿出一張紙泽本,并遞到我手上。(難道是要我寫保證書姻僧?)
并接著說:“很多同學給我反應非常喜歡你這個課规丽,說能學到很多實際的東西。以后你就把這個當課上吧撇贺,我可以提供給每個通過的學生兩個選修學分赌莺。這是考勤表和成績表,你還是要嚴格考情和考試显熏,要及格的人才能獲得這兩個學分雄嚣。還有你這樣的實踐課不要在普通的教室上了,我給你安排了機房喘蟆,以后就在機房上課吧缓升,多讓大家操練操練,你選出一個班長蕴轨,然后讓他來負責安裝機房的環(huán)境港谊,并且關門開門就行了。還有橙弱,你以后在這個學校又是學生又是老師了歧寺,這在很多學校都是不可能的,也不要有太大的壓力棘脐,我相信你能做好斜筐。”
我聽了張主任這一席話蛀缝,眼淚差點沒掉下來顷链,嘴里半天憋不出來一個字...
其實現(xiàn)在想想這個事情還覺得蠻不可思議的,特別是在中國...
前不久還在 google docs里看到當時學生的名單屈梁,感慨萬千嗤练。
那之后生活又回歸了以前的充實,努力的備課在讶,努力的上課煞抬,努力的上班,努力搞畢業(yè)設計... 不同的是构哺,腦子里不是只有一件事情了革答,而是每天都有三件事情需要我去做好。這個過程我還很花了一些時間來平衡曙强。但是想想現(xiàn)在同時有三件事情都算是輕松的了残拐,不得不說那次的鍛煉還是挺有幫助的。
那段時間我發(fā)現(xiàn)一個非常有意思的現(xiàn)象旗扑,就是要把你已經(jīng)懂的東西講得讓別人也懂并不是一件容易的事情蹦骑。而把別人講懂的過程實際上也是一種再次學習的過程,也是更加深入理解的過程臀防。所以多分享一些知識給別人絕對也是對自己很有幫助的事情眠菇,分享在我看來是一個利己利人的行為,這也是為什么我后來寫文章袱衷,錄視頻捎废,做podcast 分享我知道的知識。
等那個課程結束也差不多是畢業(yè)前夕了致燥,我繼續(xù)回到了以前的公司全職的上班登疗。不久也被提升為了當時Ruby組的 leader,還要負責當時的技術面試和新人培養(yǎng)。工資也給開了 4000 人民幣/月辐益。 這在那時的成都可是一個相當不錯的價格了断傲,而且那也算是我的第一次晉升,按理我應該高興才對智政。但我卻怎么也高興不起來认罩,工作沒有以前的那種基情,哦不续捂,激情垦垂。當然依然是保質保量的完成,只是內(nèi)心中總是覺得不滿足牙瓢,有種撞到天花板的感覺劫拗,還有對現(xiàn)實還有很多不滿足,或者說覺得還有很多更好的空間矾克。
正巧那段時間第一屆 RubyConf China 要在上海舉行页慷。我當幾乎不假思索的就定了票,而且內(nèi)心有一種說不出的興奮聂渊,這種感覺猶如一個職業(yè)選手要去參加WCG一般差购,讓人興奮不已,我一直想看看中國其他Ruby玩家到底是如何玩的汉嗽,每天是怎么訓練的, 于是找老板請三天假去上海參加這次Rubyconf.
老板聽后沒有馬上同意欲逃,并打開自己的outlook看了看,轉身給我說:“非常不錯饼暑,這樣吧稳析,你也不用請假了,我和你一起去弓叛,費用都由公司承擔彰居,票你幫我也定一張,我也去學習學習撰筷。這次我們過去可以多呆一段時間陈惰,我母親在那邊有一套房子,你可以和我住那里毕籽,我們可以和成都這邊遠程工作一段時間抬闯。”
Holy shit! 我已經(jīng)不記得我當時的表情关筒,但是我相信一定是非常驚訝的溶握。 這不但是要一起旅游還是要睡在一起的節(jié)奏...
那次上海之行我特別想見的有4個人,Ruby語言的創(chuàng)始人 Matz, JavaEye 的創(chuàng)始人 Robbin Fan 和 財幫子的創(chuàng)始人 Robin Lu, 以及大會的發(fā)起人 Daniel Lv.
Matz 就不說了蒸播, Ruby的開山鼻祖睡榆,必須是要圍觀的萍肆。而 Robbin Fan 和 Robin Lu 是當時中國Ruby社區(qū)里我最敬重的兩位程序員 + 創(chuàng)業(yè)人。JavaEye 和 財幫子可謂是當時中國最大的兩個用 Rails 寫的網(wǎng)站(當時最有名的 Java 社區(qū)網(wǎng)站竟然是用 Ruby寫的胀屿,是不是很有意思塘揣?),也是因為有這兩個網(wǎng)站在中國才向很多人證明了碉纳,Rails 不只是玩具勿负,它可以做大型的項目馏艾。(是的劳曹,那個年代,中國很多人的想法還停留在 Rails 就是玩具不能用于真實項目的年代琅摩。)
想見他們還有一個理由是我和這兩位羅賓以前還有些交情, 我大一下期(或者是大二上期铁孵,具體有點記不得了)的時候特別迷戀互聯(lián)網(wǎng),而且當時正是 Web 2.0 興起的時候房资,我那時寫過一段時間 Blog蜕劝,內(nèi)容主要是我對互聯(lián)網(wǎng)和 Web 2.0的一些看法,所以取名為 "Terry 談網(wǎng)"轰异。 現(xiàn)在反過來看看以前自己寫的內(nèi)容岖沛,覺得很多想法其實挺幼稚的,不過我完全不后悔做了這事搭独,因為至少我看到了自己以前的幼稚和后來的進步婴削。 寫了段時間后,發(fā)現(xiàn)自娛自樂已經(jīng)不能滿足我了牙肝,于是我想通過這個 Blog 認識更多志同道合的朋友(其實都應該算是前輩)唉俗,和他們一起玩兒。所以我后來大多采用了采訪的形式來寫blog配椭, 主要是采訪業(yè)界一些不錯的 Web 2.0網(wǎng)站的站長虫溜。 兩位羅賓就是我采訪過的對象,記得當時給這兩位發(fā)邀請郵件之前心里都泛著嘀咕股缸,“我一個屁學生衡楞,別人肯定都懶得搭理我《匾觯” ... 但是最終我還是說服自己去試試瘾境,畢竟如果失敗了,我也沒什么損失啊替劈。(后來想想這個和追女生其實是一個道理嘛)
關于 Robin Lu
對于這個 Robin Lu 可能很多社區(qū)里的新人都不認識他寄雀。因為他現(xiàn)在有點隱士的味道了,很少在社區(qū)里出現(xiàn)陨献,連網(wǎng)上發(fā)言也少了盒犹,他最后發(fā)布的一個開源項目也大概是四年前了。當時他在網(wǎng)上那可以說是相當活躍的,無論是寫文急膀,發(fā)推還是開源項目沮协。也是因為看了他很多東西,讓我非常欣賞他卓嫂。他曾今在 Sun 和微軟都就職過慷暂,后來出來和朋友創(chuàng)業(yè),開發(fā)了當時大名鼎鼎的財幫子并創(chuàng)立了他們自己的咨詢公司晨雳。 總而言之我當時是非常敬重這個人行瑞,而這一次去有個很重要的任務是我要當面給他道歉。
我和 Robin 不得不說的故事:
那是一個月黑風高晚上餐禁,是我剛采訪了 Robin Lu 的第二天晚上血久,而那幾天正好是我將要和我的小伙伴去參加一個由成都信息工程學院組織的黑客大賽。那晚我正好在準備一些比賽要用的黑客工具帮非,其中一個是我自己試著寫的 SQL 注入偵測腳本氧吐。好不容易完工,還在學校教務網(wǎng)站試用了一把(登成績的網(wǎng)站)末盔,成功找到漏洞筑舅,并把自己加入到管理員里,然后又立即把自己的帳號刪除了陨舱。我就是試試是否能提權成功翠拣,還真沒打算干什么壞事。 當時我也在學習 Rails, 也特別好奇 Rails 這個框架的安全性如何隅忿,正好那天又采訪了Robin Lu心剥,所以想用“財幫子”一試究竟, 于是就用我的性感小腳本在上面跑了一跑背桐。結果沒發(fā)現(xiàn)任何注入漏洞优烧,我心里還暗喜,覺得 Rails 安全性還是挺好的链峭。(當然畦娄,這和寫的人關系也很大。)
誰知道第二天一開電腦弊仪,就收到了 Robin Lu的來信熙卡,信的內(nèi)容大概是說,從日志中看到了我的行為励饵,并表示沒想到我采訪他是為了要黑掉他們的網(wǎng)站(俗稱社會工程學)... 而且堅定把我認為是一個黑客驳癌。
毫不夸張的說我邊看那封信,眼淚嘩嘩的流役听。這種感覺很委屈颓鲜,而且比被女朋友栽贓和某某女性朋友有一腿來得更讓我不痛快表窘。我記得當時我回了一封很長的信做解釋,但是對方并沒有再回甜滨,而且把我從gtalk上刪除了乐严。(看來和這個小伙伴以后沒有辦法一起愉快的玩耍了!)這件事情一直困擾我很久衣摩,所以我想利用這次上海之行給他當面道歉并解釋清楚昂验。
從上面的合照你應該不難猜到,最終我還是做到了艾扮!:)
見 Daniel Lv 是因為我知道他是上海 Rails 社區(qū)的組織者既琴,我想從他那里學習一下如何組織社區(qū)活動,想到成都來也組織組織活動栏渺,心想我們大成都當時雖然用 Rails 的少呛梆,但是組織一桌麻將的人總還是夠的吧。
而 Daniel 同學后來成為我同事加超級好的基友(一起睡過那種)磕诊,說起來那次在上海之行就是我們的初次見面,現(xiàn)在回想起來就如同昨天一般纹腌。
那次上海之行真可以說是亮瞎我的氪金狗眼霎终,長這么大還是第一次見到這么多搞 Ruby/Rails 的人聚在一起。聊了很多有意思的話題升薯,同時也找到自己很多的差距莱褒。我知道自己還有很長的路要走,而要變得更優(yōu)秀涎劈,我必須要和這些優(yōu)秀的人一起工作广凸。
所以那次回成都不久我就決定要換工作了,我打算背起我的小書包蛛枚,帶上我的真鈔谅海,去上海找一個有更多優(yōu)秀的人的地方工作(東莞去不了了)。決定那天我還在推上發(fā)了一貼蹦浦。結果 Daniel 同學竟然看到了扭吁, 然后回復了我 “這種事情可不好在推特上說,你前雇主看到可不好盲镶,你gtalk是什么侥袜?我和你私聊一下...”
(后面的精彩內(nèi)容我們就下回分解啦)
總結
多分享自己知道知識。 分享絕對是利人利己的行為溉贿,利人相信很容易理解枫吧,而利己主要是在于這是最好的建立你reputation的方式,并且也有助于鞏固你已經(jīng)學到的知識宇色。
關于形式我覺得都可以嘗試九杂,教別人也好闽寡,博客也好,視頻也好尼酿,寫書也好, 公眾帳號也好爷狈, 微博也好。不要覺得自己還沒有準備好裳擎,因為你不去做或許你永遠都等不到準備好的那一天涎永。我大一就敢寫互聯(lián)網(wǎng)觀察相關的文章了,說實話我現(xiàn)在回憶起來都很佩服我當時的勇氣鹿响,但是我真的做了羡微,雖然很多觀點現(xiàn)在想想都覺得稚嫩,但是我的確因此認識了很多對我很重要的朋友惶我。即使在你工作缺乏激情的情況妈倔,除非里選擇馬上離開,否則你依然要保質保量的完成你的工作, 這才是一個寫軟件的人應有的專業(yè)態(tài)度绸贡。
想盡一切辦法和更優(yōu)秀的人一起工作盯蝴,即使你可能只能當鳳尾。(蒜泥也好听怕,清炒也罷)
找到你的社區(qū)捧挺,加入他們,參加他們的活動尿瞭。同一個社區(qū)的人總是有某種程度的相似性闽烙,你很容易認識那些和你有 common sense 的人。相信我這些人將在你未來的職業(yè)生涯里起到舉足輕重的作用声搁。
安全這種東西黑竞,任何框架都只能幫到你一部分。爛程序員用最安全的框架也能寫出最不安全的代碼疏旨。
研究黑客技術的時候很魂,千萬別找認識的人下手,最好自己搭個站來玩充石,避免引起不必要的誤會. >.<
無恥小廣告一枚: 我們的 Pragmatic.ly 更名為 Fengche.co 了莫换,而且做了全新的設計,很高端大氣上檔次喲骤铃。