好程式員 + 爛技術 = 痛苦

來源:互聯網
上載者:User

我所說的“關於程式員的痛苦的一種悖論”描述如下:

“好的程式員大部分的時間都在幹他們厭惡的事情、使用他們厭惡的技術和工具。”

這是反常理的,看上去就是悖論;你會認為程式員才會把時間都花在爛技術上,優秀的程式員會把時間花在那些尖端的技術上。不是嗎?

我在自己的體驗中發現了這個悖論,直到後來我才明白為什麼會是這樣。

什麼樣的工作會讓程式員們厭惡不已?

這對一些有經驗的程式員來說並不是什麼新聞,但我要把這向那些非編程人員解釋一下:

好程式員厭惡做那些本來可以自動完成的事情。如果一個程式員被指使去做一個機器(通常是電腦)能自動完成的事情,他會非常的懊惱。程式員的志向是讓機器儘可能多的替他們完成任務,只有剩下的一些機器不能完成的工作才會自己出手。

這是一個程式員應該具有的一種非常有益的本能。

一個簡單的需要自動完成的工作的例子: 想象一個程式員瀏覽一個有1000行代碼的檔案。他想找到第791行,因為這一行被認為有問題需要修改。但編輯器現在顯示到第30行。大多數人都會簡單的 拖動捲軸一直到自己想要的那一行。但一個好程式員是不會去幹這樣的事情的。他們會使用一個能夠使他們直接跳到特定行的編輯器。例如,在我使用的編輯器 裡,“Ctrl-L -> 791 -> Enter”就能做這樣的事情。

這個例子很簡單;更複雜的例子有很多。

好的程式員厭惡做重複性的工作的原因是,這些小事情會打斷程式員的思緒。思緒是一個脆弱的東西;一旦思緒被打斷,需要花很久才能再接起來。如果你每5分鐘就被這種體力工作打攪一次,你的思緒就無影無蹤了。

在日常工作中,程式員需要處理各種各樣的技術工作、使用各種各樣的工具。程式員喜歡那種含“體力勞動”相對較少的工作。程式員喜歡那些只需要很少的 體力勞動的技術和工具(Python,Django,git等都屬於這一類),討厭那些需要大量體力勞動的技術和工具。(這個我就不舉例了:)

但程式員必須即要處理那些有趣的自動化的技術,同時也要做那些討厭的,需要體力勞動的工作。好的程式員會儘可能的使他們的生活遠離那些爛技術,但總 有一些很糟糕的技術他不能簡單的拋棄。有時是因為他們開發的產品需要這種技術;例如,所有的web開發程式員都必須要跟HTML打交道,但HTML裡有很 多很討厭的屬性。有時一些很爛的技術不能拋棄只是因為有大量的人在使用他們,程式員必須去使用它們。

大部分的時間都是花費在了爛技術上

從這個角度看,你就能很清醒的理解這個悖論為什麼會出現了。爛技術會用掉大量的時間和精力。好的技術只需要很少的時間和精力。程式員每天的時間和精 力是有限的。這有限的資源中很多一部分被投入到爛技術上,正是因為爛技術需要你付出更多。換句話說就是,他們主要的日常工作都是在跟他們討厭的技術和工具 打交道。因此,好程式員很痛苦。

我希望我的這篇文章最終能給解決這個問題帶來一些啟示,但估計不會很多。我們能做的事情就是盡量的拋棄那些爛技術,使它們遠離我們的生活,而那些暫時拋棄不了的,我們只能忍受。

英文地址:http://blog.garlicsim.org/post/2840398276/the-miserable-programmer-paradox

本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/PC/it/

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。