大概是四五年前的時候,當時看到的推薦的書單里,看到這本《程序員的修煉之道》,因為當時還是學生,對未來要成為的這個職業還是比較好奇的,又或許因為名字中含有修煉之道。於是乎,一時興起就買了這本書,但是隨手翻了幾年,發現挺無聊的,並沒有所謂的修煉之道。時隔多年又一時興起,再次翻開了它。
首先,讀了序言就很佩服作者的遠見。 作者首先提到了一種趨勢,靜態語言的應用率在逐步降低,而更動態需要的語言(比如Python和Ruby)的普及率上升。在體系結構方面,早起的應用集中在數據中心,后來快速過渡到桌面電腦,現在又以同樣的速度向雲端遷移。這兩個觀點放在今天是顯而易見的,但是這是作者2009年8月寫在序言中的。
1.我的源碼讓貓給吃了
作者強調應該有一個負責任的態度。而我日常中這一點做的非常不好,經常答應leader的時間,總是一而再再而三的delay。然后總是找各種借口,解釋自己為什么delay。上一家公司的leader為此說過多次,並且強調要好好想計划,把各種意外因素考慮進去,給出一個能夠完成的due date。我總是想着都是內部需求,拖一下又沒關系,之前不是沒系統也好好的嘛。抱着這種思想,工作效率極其低下,於是便會一而再再而三的delay。leader都會很討厭這種人,覺得這樣的人缺乏誠信,態度不夠端正。而且可能因為你的原因,會影響到他的計划。這個問題必須改正,人無信而不立。對於一份工作也應有基本的責任感。
作者還強調,對於用戶或者上級。我們應該能提供各種更多的選擇,而不是他們反問你,“這個你試了嗎”或是“你沒有考慮那個嗎”。我同樣在這方面做的及其糟糕,遇到問題總是喜歡去問leader或者有經驗的同事,明明有時候有些問題,自己心里已經有答案了,還是喜歡去咨詢別人。總是喜歡以新人的姿態來標榜自己,做事缺乏嚴重的主動性。代碼只會復制,沒有例子就不知道怎么寫。處理問題只會用已有的經驗,當已有經驗不適用時,就不知所措。面對問題不能提供多種有效的解決方案,思維呆板。主要原因積累不夠,知識面太片面,已知的掌握的不夠深刻,缺少實踐,不能靈活的運用。