菜鳥程式猿-半年工作小結
剛開始工作時,想著積極努力,一定會有出頭之日;想著勤奮刻苦,再小的舞臺你也一定能發光發熱;想著多積累程式設計經驗,以後跳槽會更有資本…總之,剛畢業開始工作的孩子都非常的有抱負,這可能就是所謂的涉世未深,不知道天高地厚吧…從三月份實習到現在九月份快結束之際,工作已近半年,自己的心態和對未來的期許都發生了翻天覆地的變化。
自我膨脹階段
剛來的半個月,工作環境的陌生讓自己稍微有些後怕,害怕自己完成不了規定的工作,害怕自己被別人看不起;所謂的新官上任三把火,入職員工也需要有三把火,讓別人向你投來信任和讚許的目光。秉著這樣的心態,我一心投入到code view的階段,也就是看別人寫的程式碼,改bug,提交測試,整合,重新架構功能模組,學習新語言一共花了兩週不到的時間,完成了既定任務,比既定時間提前了很長一段。於是空下來的時間開始了跟同事的交流和閒聊,言語之中透漏出“自己最能”,“沒有我搞不定的事情”的意味,好像有天下之大,捨我其誰的氣概……
但是這樣的成績並沒有讓主管對我另眼相看,到現在才明白,當初的那些事情對於一個熟悉業務的工作人員來說,只能說是最基本的菜,根本沒有必要拿來證明什麼。。更不用說炫耀...
快速自學階段
在一個小公司,沒有培訓,沒有導師,什麼都要靠自己去自學,以前上學的時候,以為學好C++,所有的語言都不是問題。這句話誠然說得不錯,確實,所有的程式語言的模式都差不多,一通而百通,這是正確的。但是即使這樣,那些新鮮的語言,新鮮的概念都需要你一點一點的去理解。來公司之後,我先後接觸的東西有c#,sencha js, lua,nginx,ios,flash,qt等等,lua和nginx核心程式碼都是c,c#以前本科有接觸,qt實習的時候有接觸,這些相對比較容易一些,Sencha和ios是要學習的新東西,特別是在自己確定做ios的移動開發工作之後,就一直在學習object-c。 apple的object-c語言有著門檻低,入手快的美譽,特別是在其xcode開發工具的幫助下,寫程式碼,除錯,檢視幫助方面確實比作安卓開發要快。學了很多東西,接觸了很多東西,以為在這裡自己選擇了一個不錯的地方,各方面都朝著一個比較積極的方向發展著…
閒下來的日子
畢竟剛開始只是一個試用實習生,是不可能把一個全新完整的專案交給你做。於是開始了和同事的合作開發階段,自己做一些輔助性開發的工作。輔助性的工作嘛,意思就是說主要的功能不用你來開發,在完成了自己工作的閒暇,自己特別閒,開始自己給自己找事情做,記得以前一個很牛逼的同學說,一個好的程式設計師,關鍵在於修煉內功。於是我開始看linux原始碼,看到最開始的儲存管理就看不下去了。。因為沒有動力和實際的需要,也沒有意思。每天六點不到就想著下班了,作為一個有著滿腔熱血的程式設計師,這樣的工作肯定難以讓我滿意,於是開始給自己找事情做,自己開發app應用,開發了一個一鍵釋出狀態(人人網,騰訊微博,新浪微博)的app,功能是實現了,但是由於種種原因也沒有提交稽核上線;開始接ios的活,但是商談下來發現實現度比較大,沒法做;開始和一些有創業想法的人討論,元件團隊,最後也不了了之;閒下來的日子,工作沒有什麼出彩的事情,閒下來做的事情也沒有什麼目標和成果。
工作的重新起航
三個月的試用期很快就結束了,雖然沒有什麼大的業績,但是小工作(也就是給別人擦屁股的工作)倒是做了不少。順利轉正之後,有次主管找自己談話,我說我自己想做一些核心開發的工作,主管卻說看你以前的程式碼經驗不多,現在還不能把你作為核心開發人員來使用。要我工作更積極一些,如果我給你安排三週的工作你兩週可以做完,在我心目中的印象肯定不一樣。聽了這席話,才知道以前自己的信心自我膨脹都是自己以為的,別人根本就沒有看到眼裡。另外也讓自己明白了,工作績效的評比絕對不是看你學東西有多快,是看你完成任務的時間有多快,完成的水平能不能夠讓人信服來作為評價。
試用期階段做的sencha版的應用一直通過不了稽核,而且速度和體驗是大問題,於是必須放棄sencha,開發全新的native應用。這下子感覺自己終於有用武之地了,以前自學的那部分ios可以派上用場了。於是剛開始工作的熱情一下子就被調動上來, 7月下旬的開發日子是辛苦而幸福的,雖然每天晚上走得開始晚了,但是當你完成一個功能,解決一個bug之後,騎著單車,踩著月光回家的心情還是無比歡快的。這樣的日子持續了兩週,一個原型的功能性應用誕生了。不過接下來的日子還是比較痛苦的,因為確實沒有過多的ios開發經驗,bug和記憶體不夠用是讓人太頭疼的事情,開發用了兩週,調bug用了兩週,稽核用了20天,不過還好,終於上線了。稽核的20天裡又發現了好幾個關鍵的bug,只能等下一個版本了。。
老總的壓力
老總一直以來都比較關注ios的應用開發,上線之後,就經常過來找茬了,從使用者體驗上提了很多建議。不過他說的這麼一句話還是挺啟發我的,說,你看你自己開發的應用,你從每一個介面上給我說說,你自己覺得還差什麼?我說不出個所以然來,然後給我說,你們現在開發人員的思路不對,還是那種被指派任務型的開發,說要有自己的想法,如果你覺得不對,即使是主管,你也要提出來。於是我開始重新審視自己之前的工作,確實是,所有的功能和介面都是主管一個人敲定的,自己的想法根本就沒有融進去,作為一個實際的開發人員,理應是最理解應用需要什麼,應該是什麼樣的,為什麼要讓別人說了算..
總結
最後,我想到了北京青年裡的一句話,成功不是靠努力的工作,而是靠智慧的工作。特別是對程式猿來說,如果你只是一個碼農,那麼永遠只是一個碼農。程式猿應該要清楚明白的工作,應該要有思想的工作,也應該要有交流有想法的工作。現在的程式猿不應該是跟以前一樣只追求程式碼質量的程式猿,還應該從產品體驗和使用者角度上去想問題,這樣,你才能更加有創意,有想法的工作。