選擇程式設計開發作為職業對於不善交際的人是比較幸運的。
第一,程式設計不需要高精尖的科學學術背景和高大上的裝置,而對邏輯分析思維和語言表達能力要求較高,需要深且廣的計算知識體系和條理清晰的語言表達才能寫出像樣的不被同行罵的程式,能夠持續理解和完善日益複雜的大型邏輯系統。程式設計行業所需的知識壁壘可以過濾80%的人類同行競爭,—— 讓我安靜滴做個寫程式的魅男子吧!
第二,程式設計需要細緻耐心的處事個性,多或少乙個分號或逗號或括號就會讓人盯著螢幕看花眼掉下若干截美髮。初入程式設計行當的人很快就有體會,這會趕走一批耐性不佳的人。程式設計需要非常縝密的思維,考慮到各種正常、異常、組合場景下的複雜處理。在深入到軟體開發三五年後就會意識到這一點。這時候,就會讓人思考,自己究竟是否適合繼續幹這行 :)
第三,由於計算行業日新月異,程式設計需要持續地學習和應用新技能。當用新思路去解決舊問題時會發現許多技術工程挑戰,而不是大量的體力活,如果存在很多體力活,說明要轉換思路來做。比如寫單測花時間,試著自動化生成單測,會迫使學習大量高階語言特性和編譯器相關的知識才能做到,甚至會反過來優化程式的設計和實現方式;如果要清洗大量髒資料,試著去改進領域模型、資料儲存設計和前端設計;當需求過多要加班時,不妨從整體上思考產品的設計以及使用者的真實需要,從架構和模型上優化實現的通用和可擴充套件性,實現具有內在系統邏輯性的產品和容易復用可擴充套件的軟體。這些都是智力挑戰。
如果智力不夠用,就需要大量體力和時間精力來補償。而這些體力和時間精力本可以用於創造更強大自動化的系統。如果搬不動大石塊,試著找一些支點去撬動它。這涉及到對事物原理的發現、理解和應用,而不是無章法的蠻力。因為體力跟不上幹不過35歲,根本原因是基礎不紮實智力不夠用體力又無法補償。基礎紮實智力跟得上的人活得不要太好。
程式設計開發是乙個智力中高度密集型的職業。智力泛指理解和應對資訊變化的意識能力,並不限於專業知識技能的理解和掌握。程式設計開發需要保持腦力思考問題和雙手敲鍵盤的持久活力,因此需要大量腦力性體力和一定的簡單操作性體力,但不需要操作機器的複雜操作性體力和大量移動自身或物體的奔波性體力。程式設計開發越來越需要多人的協作,需要很多交流和協調,是75%的智力+25%的交流,並不是坐在螢幕前一天到晚敲鍵盤。這也比較接近我理想中的職業模型:64%的安靜深研+36%的社會活動。
綜上所述,程式設計是乙個具有持續增長型智力壁壘的職業,可以自然地過濾90%的人類同行競爭,唯一的要求是,要喜歡和享受智力的挑戰,能通過這個職業設定的智力考驗,具備日益精深的計算功底和友好的交流技能,持續精進,才能長久地生存下去,享受這份職業帶來的安寧和紅利。事實上,我並不是非常擅長程式設計開發,與程式設計開發職業的契合度大約是80%,與人類異常極客黑客還存在不少差距。不過這已經很不錯了。特別要注意的是,多注意身體的活力和健康,懂一點情商和社交,學一些人文,找一位看得順眼的異性伴侶,生乙個聰明的小寶寶,再加上乙份契合度88%的職業,人生從此幸福啦!夫復何求!
關於職業的思考:
知命,即是指精於自己所喜愛和擅長的事情,並將兩者融合。 潛心學習與創作。
勿為紛擾世界和技術潮流所迷,弄不懂分布式,就別去管區塊鏈。勿追逐,勿盲從。
粗淺的了解沒有意義;運用擅長做出實事才有意義。
我選擇深研海量資料處理的設計和演算法。
1. 個性是愛安靜自由,探索事物執行機理(更勝於好動與交流)
2. 精練流暢的程式設計表達能力,可充分利用已有的技能和經驗
3. 有挑戰、有趣、有意義
4. 有職業門檻
5. 可以與最先進的技術相結合
6. 移動網際網路智慧型時代需要能夠有效處理海量資料的設計與演算法
程式設計漫談(十六) 設計與程式設計
設計先行。設計是構思一件事應該是怎樣 方案的形態 並論證可行性的過程與產出。站在設計者的角度 應該是什麼樣子,為什麼?主要考慮如下要素 安全 實用 可靠 效率 便捷 流暢 簡潔 易懂 易操作 需要根據實際情況進行取捨權衡。軟體設計的主要工作是 程式設計是實現指定功能的具體方法和步驟,是執行者角度。站...
Lua程式設計(十二)
函式式程式設計初探 functional programming 以下 為乙個簡單的表示幾何區域的簡單洗頭工。function disk cx,cy,r return function x,y return x cx 2 y cy 2 r 2 endendfunction rest left,rig...
十二周程式設計總結
這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 掌握二級指標的概念,以及指標陣列的應用 這個作業在那個具體方面幫助我實現目標 對指標陣列的使用和對鍊錶的使用 參考文獻 c語言程式設計 第3版 6 1 計算最長的字串長度 本題要求實現乙個函式,用於計算有n個元素的指標陣...