為什麼我這麼低端:一個程式設計師的自我修養

皺眉公子發表於2015-04-02

  作為專職程式設計師2年多了,應該說我是一個半路出家的程式設計師,決定寫程式只是不想這輩子到處漂,我希望有一個能夠讓我在一個小鎮上工作三天休息四天的手藝而已,或許我只是想在一定的年齡到一個小鎮上去做一個麥田的守望者,能夠看著一幫孩子成長,讓他們快樂,安全,自由的玩耍。初衷往往是美好的,到我編碼到一定的階段後,我發現自己愛好上了這份事業,因為我是一個喜歡思考的人,沒事想著優雅的程式碼以及能夠更好的理解計算機讓我樂此不疲。

  寫的程式碼多了,看的書也多了,慢慢的我發現自己原來只是一個IT民工而已,自己只是在別人的基礎上做了一些低階的工作,沒有思想,沒有總結,沒有知識的積累,如果拿資料來說話的話,我是一個失敗的程式設計師。看到啄木鳥社群上的一段話:“每日至少抽一刻鐘,解答郵件列表中初學者的問題;每週至少抽兩個小時,整理新學知識將體驗分享/發表出去,透過blog/wiki/mailList/個人網站……每旬至少抽四個小時,來翻譯自個喜歡的自由軟體的文件;沒有至少抽8個小時,快樂的程式設計,推進自個兒的專案;每年至少參加一次自由軟體的活動,傳播自由軟體的思想,發展一名‘自由人’……只要我們每個人都堅持這樣,10年!就足以改變中國軟體的整體面貌”。我在思考,我自己做了什麼?有什麼的資料證明我是一個合格的程式設計師?或者更簡單的證明我是一個程式設計師?當我反問自己的時候,心中有一種莫名的悲哀,為自己!

  具體的總結一下2009年以前的我:一個低階的程式設計師,一個低階的blogger,一個低階的美工,一個低階的攝影愛好者,一個低階的偽球迷,一個低階的文學愛好者,一個低階的影迷;一箇中級的war3 player,一箇中級的網際網路愛好者,一箇中級的wii愛好者,一箇中級的象棋手……有什麼高階的?沒有!其實我上大學的時候,除了看了幾本書外,基本沒有其他什麼技能,這不是教育的悲哀,是我的悲哀!我原以為好好學習就什麼都好了,我自己都不知道為什麼會如此的幼稚,而且持續了18年!

  當看到這個總結的資料的時候,我希望對自己做一個調整:什麼愛好需要努力讓自己高階起來,什麼愛好需要弄成中級,什麼讓自己繼續的低階下去?目前我的角色是一個程式設計師,而且我愛好這份職業,如果在這方面我不能讓自己高階起來,我怎麼可能讓自己在其他方面有所突破?為此,我在思考:一個程式設計師的自我修養!

  找到編碼的感覺

  經過兩年的積累,逐漸認識了Java,Python。所學的知識當然要圍繞這兩門語言展開,一些框架的學習,經驗的積累,設計模式的學習都圍繞這兩門語言展開。其實學了這麼多,慢慢的發現基礎知識不牢固,很多東西學習也只是皮毛,知其然,而不知其所以然,簡單的說就還是個民工,只能進行簡單的堆砌,想向上走一步:沒門。所以補習理論知識成為好多程式設計師迫在眉睫的問題。

  很多程式設計師估計像我一樣,對檔案操作,多執行緒,Socket等的高層次的編碼還停留在理論階段,只是做了一些demo,瞭解了一下API,基本沒有在實際中應用到相關的知識,或者是簡單的實踐了一下。其實我們都停留在寫程式碼的原始階段:簡單的堆砌程式碼,而沒有真的找到寫程式碼的感覺。雖然我自以為看了《重構》,看了《First Head in Design pattern》,《敏捷軟體開發原則,模式與實踐》,《模型驅動設計》等書就可以有所突破,其實我錯了,沒有量變就沒有質變。

  尋找編碼的感覺,慢慢的熟悉了各種API後,有一種信手拈來,得來全不費工夫的感受的時候,慢慢的就自然理解了大師書中的知識了,或許你到時候會說:其實這就是我工作中碰到的問題的總結。

  所以:平均每天編碼150行以上,找到編碼的感覺。

  教是最好的學

  在學習的過程中,能夠寫讀書筆記放到網上是一個好的習慣。學習的過程中,必定會碰到很多問題,告訴別人你是怎麼解決這些問題的是一種簡單的教,一方面可以讓自己記憶更加深刻,一方面可以傳遞知識。

  當然,你學到一定的程度,就需要把知識做一個階段性的總結,不要怕別人笑話,寫出來,分享出去,告訴別人這是我的心得。如果現在讓我做一個設計模式的PPT,我估計會翻閱好多本書來整理相關的知識,對我來說其實是在溫習相關的知識。

  我也需要把自己工作中碰到的問題分享到論壇或者是blog上去,例如:效能最佳化的心得,發現的oracle的bug,發現的Java框架的bug……當別人和我深入討論一些問題的時候,我才發現:自己研究的其實還不透徹,人外有人,天外有天。當我教別人一些東西的時候,自己也學到很多東西。教的過程中會逐漸發現自己的不足,慢慢的自己就成長起來了!

  讓資料來說話

  其實數量只是一種表現的形式,有時候只能簡單的說明你這個人很努力,並不能說明這個人真的很強。我們追求的是資料的結果:帶來了什麼樣的質量!

  以前寫blog,就是簡單的積累一下自己的說話,沒有什麼有價值的內容,所以關注的僅僅是自己的朋友而已,雖然也寫了很多,但是沒有什麼變化。當我整理自己以前的分類的時候,我很驚詫的發現自己的關注點怎麼如此之多,面積太大,投入再大,也不會產生多大的壓力,也不會產生什麼成果。現在我只寫 Java,python,mootools,web2.0和我的連載了,其實我感覺還是有點多,有點雜。如果現在讓我拿出點寫blog的資料:pagerank,alexa排名,日均ip,pv等,這將是一個很慘的結果。寫不出什麼有價值的東西,還不如不寫。從寫blog上我開始醒悟了。

  編碼這麼長時間,我在論壇上提問少,回覆少,發帖少成為我的基本特徵。如果讓我拿一點資料說明我做了什麼的時候,也將是一個悲慘的結果。很少東西能證明我在編碼上有突破,與眾不同。

  我們的生活中應該多做事,少作秀,做一個有質量,有品質的人。編碼當然要學習啄木鳥社群的作風,成長起來了是不用自己說的,資料會幫你搞定一切。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30128862/viewspace-1482549/,如需轉載,請註明出處,否則將追究法律責任。

相關文章