當前位置:學問君>人在職場>就業指導>

如何成爲卓有成效的程序員[1]

學問君 人氣:7.32K

程序員,就是整天與機器打交道的那羣人。

如何成爲卓有成效的程序員[1]

在計算機並不普及的年代,這樣的描述毫無疑問;然而,這些年來,得益於計算機成本的不斷下降,軟件使用門檻的不斷降低,如今,昔日昂貴而又神祕不可莫測電腦,已經成了隨處可見、人人能用的辦公器材。一句話:人機交互,不再是程序員的專利。大家都可以用電腦幹活,只不過,程序員用電腦寫程序,其他人用電腦幹其它事。

結果,普通人抱怨的問題,程序員也在抱怨:電腦不夠聰明,不夠智能,效率太低……

可是,電腦真的進化到了對程序員和普通用戶“一視同仁”的地步嗎?

我不由得想起,上個世紀80年代,溫伯格在《技術領導之路》中提出的疑問:

(開辦技術領導力學習班)也讓我們產生懷疑,技術在當今社會扮演了重要的角色,我們的學習班,是否賦予了某些人太多的力量?

細細想來,當年,IT技術那麼高深,只有少數人能夠接觸,因而程序員“理所當然”地藉助了IT的東風,具有超常的力量。可是如今呢?與常人無異的`程序員(或者說,IT技術人員),他們身上讓人擔心的“太大的”力量,到底是被淘汰了,還是沒有發揮出來?

對這個問題,不同的人或許有不同的看法。不過,讀過The Productive Programmer(中文版《卓有成效的程序員》)的人,多半會選擇後一個答案。

The Productive Programmer是一本奇特的書,它的Productive(也就是“生產力”),與新的語言、新的框架、新的系統完全無關,而是另闢蹊徑:它只是提醒讀者,作爲程序員,你與普通用戶是不同的:其它人只是簡單地“啓動”程序,而你完全可以動用自己的專業知識,“驅使/調度”那些程序。這樣的機會,普通用戶想不到,也不願意抓住,但是抓住它們,你的生產率就會成倍上升。所以,這本書叫做The Productive Programmer,而不是The Productive Computer-User。

薄薄的一本書(英文版224頁,中文版215頁),共分16章,兼顧概念和實踐兩個方面,既介紹了加速、專注、自動化等等提高生產率的“先進 ”思維觀念(譬如“多用鍵盤少用鼠標”,“消除干擾集中精力”),也給出了在設計、分析、構造、元編程、多語言編程等等多種任務中貫徹前述思想的若干實例(譬如 “用全面測試保證質量”,“選用最省事的方式/語言完成任務”),可以說是“麻雀雖小,五臟俱全”了。

不過,看完整本書,我最深刻的印象還是貫徹全書的思想。說白了,就是儘量讓機器做機器該做的事情,讓程序和程序打交道,發揮程序員在這方面的先天優勢——他人眼中的普通工具,是程序員手裏的有利武器。

不信,你可以想想,雖然如今人機交互的難度已經大大下降,然而程序終究是程序,程序跟人打交道,與程序跟程序打交道,效率差的不是一星半點:

不用宏,你可能需要一次又一次地重複選擇、修改、儲存;

不用腳本,你可能需要一次又一次地點擊、配置、等待;

不用自動化測試,你可能需要一遍又一遍地執行、調試;

不用管道,你可能需要一次又一次地生成、刪除中間檔案;

……