程式設計師的優勢和劣勢
有段著名的對話:
男:我是程式設計師。 女:哦,程先生,你好。 男:哈,客氣了,叫我序員就好。
現實中的程先生多種多樣,如果不去考慮程式設計師、工程師、架構師等不同的title到底有什麼區別,作為通過計算機語言與機器打交道的人群,至少有很多共同的特徵。
程式設計師比其他行業有一個天然的優勢,就是自己幾乎可以隨心所欲的創造出工具來幫助自己,從而大大提升工作效率。這一點在許多傳統行業中是完全不可能的,比如:一名建築工程師,他如果想隨心所欲地馬上著手創造一把符合他手頭工作的錘子,則並不太容易。這種效率提升的前提,是可以將重複手動勞動的自動化。就像一個本來要挖20米深地基的工人,忽然變出10個機器人代替他挖,而他只需要在旁邊小屋透過玻璃窗眯著眼睛喝咖啡一樣。所以,利用好這個優勢後,優秀的程式設計師可以將效率提升至少一個數量級。
程式設計師還有一個天然的優勢,他的學習成本和創造成本都比較低。首先,技術水平的提升是不依賴複雜昂貴的專有裝置和密集的人員的,他需要的只是電腦和網線。其次,創造成本中,除了時間之外,材料成本完全電子化,知識和創意通過程式碼體現在二進位制中。而更不錯的事情是:創造出的東西在世界範圍內都是可以重用的,可以基於大量經過他人完善測試的庫來避免自己的重複勞動。所以,利用好這個優勢,在於勤於動手去嘗試去做,整理好可以重用的通用庫,然後在需要的時候毫不吝嗇地將自己的想法實現。
不過,也有劣勢
程式設計師的世界是理想化的,不存在非邏輯的干擾因素。如果已經設計出一套完美的邏輯去做一件事,無論做多少遍,也不會出現無法處理的僵局。所以程式設計師希望這個世界井然有序,每個實體像系統中的各個模組一樣各司其職、準確而高效地互動。而在現實的世界中,只要你有權有錢,善於搞人際關係和鑽制度的空子,你就能把錯的說成對的,把黑的說成白的。老老實實、埋頭苦幹的人,眼睜睜看著乾坤顛倒、小人得志,而只能束手無策、一籌莫展。
老實說,只要有兩個以上的人待在一起,就會有“政治”。這很自然。程式設計師早就練出了對公正有非常良好的判斷力。程式碼要麼能執行,要麼不能。坐在那裡爭論程式碼是否有問題,這是毫無意義的,因為你可以執行程式碼,答案自然就有了。程式碼的世界是非常公正的,也是非常嚴格有序的。許許多多的人選擇程式設計,首要的原因就是,他們寧願將自己的時間花在一個公平有序的地方,一個嚴格的能者上庸者下的地方,一個只要你是對的就能贏得任何爭論的地方。
是。有人會在旁邊冷笑,並可能說出類似 “Too Simple, Sometimes Naive” 這樣的江湖名句。某種意義上,我並不是個純粹的理想主義者,但我還是有些偏執地要說:可程式設計的世界,就是程式設計師自己構架的理想國。
相關文章
- 區塊鏈Dapp的劣勢和優勢區塊鏈APP
- redis持久化rdb和aof之間的優勢劣勢Redis持久化
- 主流程式語言的優勢與劣勢對比
- Python有什麼優勢和劣勢?Python介紹!Python
- 好程式設計師web前端分享Css3的概念和優勢程式設計師Web前端CSSS3
- JSON相比XML優劣勢JSONXML
- 雲端計算虛擬化的優劣勢有哪些?
- 原創和翻譯技術書的優劣勢
- 微服務思考(01):什麼是微服務?微服務的優勢和劣勢微服務
- 網站外鏈優勢劣勢及如何判斷?網站
- 趣圖:和程式設計師交流的正確姿勢程式設計師
- 鐵電儲存器FRAM的優劣勢
- 「分散式技術專題」獨立儲存的優勢與劣勢分散式
- 微信小程式與APP區別與優劣勢介紹微信小程式APP
- Python和C#對比,優劣勢是什麼?PythonC#
- 開放的學習心態 – 中國程式設計師的後發優勢程式設計師
- 開放的學習心態 - 中國程式設計師的後發優勢程式設計師
- 正規表示式 vs. 字串處理:解析優勢與劣勢字串
- RunnerGo相較於Jmeter優劣勢分析GoJMeter
- 「分散式技術專題」非獨立儲存的優勢與劣勢分散式
- 關係型資料庫與NoSQL資料庫的優勢與劣勢資料庫SQL
- Java Web 程式設計師的發展趨勢分析JavaWeb程式設計師
- sem和seo有什麼區別?各自的優劣勢是什麼?
- 面對新語言和跳槽,程式設計師如何保持技術優勢?程式設計師
- 《Java程式設計師修煉之道》作者Ben Evans:保守的設計思想是Java的最大優勢Java程式設計師
- 鴻蒙程式設計江湖:非同步程式設計的優勢及 Promise的應用鴻蒙程式設計非同步Promise
- Linux下程式設計有什麼優勢Linux程式設計
- 函數語言程式設計的優與劣函數程式設計
- 程式設計師在家擼碼的十大姿勢程式設計師
- 程式設計師玩連連看的正確姿勢程式設計師
- Java 程式設計師不容錯過的開發趨勢Java程式設計師
- MongoDB、Hbase、Redis等NoSQL優劣勢、應用場景MongoDBRedisSQL
- 單體應用、SOA、微服務,優劣勢都有哪些?微服務
- 程式模組化設計結構化開發優勢
- 【機器學習】深度學習與經典機器學習的優劣勢一覽機器學習深度學習
- golang程式設計師前景怎麼樣?Python、Java、go語言的優勢互比Golang程式設計師PythonJava
- Python是什麼語言?有什麼優劣勢?Python
- Python對比其他語言有什麼優劣勢?Python