程序員的成功是否有規律可循?

摘要:自然界中存在許多規律,那么在程序人生上是否有規律可循呢?這種規律是如大多數人期望的那樣嗎?V眾投發起人李智勇對此進行了探討,他分析了必然與偶然、本質與細節,并就程序人生規律的三要素進行了解讀。


是否有規律這事其實非常關鍵,因為如果有規律,那顯然應該順應它讓自己走的更遠。

我的答案是:如果我們想在人生中找一種類似x+y=z的規律,那真沒有;但如果想找一種人是會死的,你是人所以你會死的規律,那就真有。所以說程序人生中有支配性規律,但并不是大多數人期望那種。只要你學好Java你就可以成功,只要你努力就可以成功這類在細節上確保一定如何的規律其實都是騙人的,不管多大篇幅,看著多么逼真。真的成立的規律邏輯上會有種自洽性,但它只能基于本質給出把握趨勢的原則,增加一點成功的幾率,最終成功與否牽涉太多細節,實屬偶然。

為了理解這樣的規律,需要先理解下必然與偶然,本質與細節。

必然與偶然,本質與細節

這世上同時存在著兩種對立的聲音:本質決定成敗和細節決定成敗。偏好本質的人喜歡說本質論。偏好細節的人則喜歡說精細化管理。但如果在較長的時間軸上考量這兩種觀點,就會發現他們之間并不真的對立。

本質決定大尺度時間上的走勢和必然性,而細節則決定差異(包括短期成敗),具有極大的偶然性。比如說:人的本質特征是能思考,有一個頭,會衰老,壽命有限等,這是人的本質特征,但區別不同人卻不是這些,而是性格,膚色,發色等細節。

具體來看:軟件本質上是只有人才能處理的東西,因此公司中程序員群體的衰落一定會導致軟件自身的衰落,只有優秀的程序員群體,才能保證軟件的持久成功,這是必然性。但優秀的程序員卻不一定確保當前項目成功,任何人在細節上的小疏忽,都可能導致軟件在市場上崩潰,死鎖,進而導致災難性后果,這就是偶然,是細節決定成敗。

所以成敗自身雖然萬眾矚目,對個體而言卻只是一種偶然和機巧。當事人可以很努力的平衡本質上的追求(長期視點)和細節上的追求(短期視點),但變更的始終是一種成敗可能性。

描述人生的規律一定是基于本質的,基于某種必然邏輯,否則就是騙子,因為如果可以對人生進行精微控制,對社會就也可以,而后者顯然是不可能的。

而使用人生規律時則要注意上面說的這種本質與細節的疊加關系,他們共同決定了結果,基于本質的必然性可以幫助把握方向,但始終需要處理大量的細節才能最后取得一定成績。

程序人生規律的一種描述

假設說一個人的技能所帶來的價值是S,實現程度是A,那么S x A即為一個人可以為公司創造的可見價值,也即是可以從公司交換到的最大價值。

其中技能S是指一個人所能做的事,即自身的價值,可以是編程語言、設計知識也可以是管理知識等等。實現程度A則是指各種技能被周圍的人認知的程度。

這有點繞,但實際上一個人的實際能力水平和被認可的能力水平往往存在偏差,極端的情形就是一個人確實很優秀,程序也確實寫的很好,但周圍的人都認為他不行,并只分配他做周邊性的工作,這個情形下這個人的價值實現程度很低,創造的價值也很低。

這就是我想說的生存定律,并不復雜,也不抽象。下面我們來進一步做點分析。

如果收入水平為I,那么當S x A > I時一個人是有選擇權的也是安全的,否則一個人對于公司而言是負資產(至少是被認為是負資產),有潛在被剔除的風險。一旦一個人在多家公司里都處于這樣一種情形下時,這個人的選擇權會越來收的越窄(只有公司可以選擇個人,個人卻沒可能選擇公司),人生也就會越來越被動。

當然無論技能S和實現程度A都很難清楚量化只能做定性分析,但確實有幾個因素會使實現程度A急速膨大。這幾個因素可以概括為:自身價值表達力,自身價值的稀缺性,公司的特質和未來。

就日常的感受來看,這往往是程序員這個群體不太關注的地方。作為結果很多人的真實價值可能并沒有得到體現,或者說被低估了。

  • 自身價值的表達力

簡單來講,一個人可以有屠龍的本事,但如果所有周圍的人都認為你只能殺雞,那么現實中,你的能力就是殺雞而不是屠龍。

一個人的真正自我和別人眼里的你往往是有差距的。這種差距可能來源于不熟悉,也可能來源于誤解等,但確實是一個不能忽視的因素。特別是對于畢業生或者剛剛開始工作這類還處在被評判位置上的人。

假如一個人身處任人唯親的環境之中,那么表達力的作用會被無限放大,這時候個人價值的作用反倒會縮小。比較良好的情形是身處公平競爭的環境中,這時候表達力的作用會有相對清晰的邊界。但由于每個人對公平都有屬于自己的定義,所謂的公平競爭也只是相對的公平,表達力的作用并不會減少為0。

  • 自身價值的稀缺性

假如開發某一產品時,必須某項技術,而這一技術只有某人才掌握,這時這個人的價值會被高估。這時起作用的影響因素可以稱之為稀缺性。稀缺性存在與否即取決于自身高度,也取決于大勢,而對于后者而言,個人改變余地很小,大多時候只能順應。

比如說:在IT行業剛開始的時候,產業本身急速膨脹,但程序員的人數卻相對較少,這就導致10年前程序員的起點工資反倒很高。而10年之后,由于介入門檻一再拉低,大批人員涌入程序員隊伍,起點的工資反倒下滑。這種行業的時間特征主要是稀缺性所造成的,反倒是很難講10年前的程序員更加努力,水平更高,而今天的程序員就不努力,水平變差了。

  • 公司的特質和未來

最后一個影響實現程度A的關鍵因素是公司自身的特性。公司更像是一個平臺,往往對平臺上的人所能達到的平均高度有所影響。假設兩個人同樣是很優秀的程序員,一個進了Google這樣的公司,另一個進了一家外包公司,他們兩個加入公司后都表現非常優秀,公司也對其非常認可,但從收入、技術高度等來看,這兩個人卻會有所差異,時間越長差異可能越大。這種差異并非努力所造成的,而是由于公司在生產鏈條上所處的位置不同而導致的。

小總結:這些因素的疊加形成了一個人的高度,進一步決定了一個人在職場中的市場價值,個人成長中的一切選擇主要是為了在這四個變量上(自身價值,自身價值上的表達力,自身價值的稀缺性,身處公司的特質和未來)有所收益,并使市場價值最大化。接下來在職場的交換中把他們兌換成現金價值。這樣的一種規律是不精確的,它只能使人大致明白自己所處的位置和方向,對成長有一點幫助,但沒想的那么大。

這是有適用范圍的,拼爹類的,創業類不太在這個范圍內。也不適合追求夢想的情形,也許上面的規律可以左右一個人究竟有多少收入,但它不可能左右這種收入對自己是否值得。后者依賴于個人的價值體系與人生選擇。

這是成功學么?

上面所表述的內容很容易讓人想到成功學。這種對人生規律和方法的探究確實可以劃入成功學的范疇。這樣一來就要連帶著回答另一個問題:我們可以相信成功學么??

如果說自然界發展有規律,社會發展有規律,沒道理個人的成長就沒有規律。從這個角度看,講規律的成功學是可信的,但講具體方法,講怎么怎么做一定成功的成功學就有點問題了。這更像藥和包治百病的腦白金的區別。成功學本身沒什么太高的壁壘,這就導致口若懸河的人更容易吸引目光,最終結果就是這池子里充滿了太多的說客,放眼望去也就全是《細節決定成敗》、《有效溝通》這類書籍。

也不是說這類書籍沒有價值,而是說由于其往往會用片面取代整體,而并不具有太大的現實價值。突然看到李四成功了,也看到了李四比較注重細節,最終就得出一個細節決定成敗的結論,這并不怎么有意義。因為人的成功往往同時取決于自身和環境。研究如何成功時事實上需要與編程一樣的抽象能力。真要想找到種種與成功的規律,那就要多采集案例,從外部環境、個人努力、工程特征等多個方面進行切入,抽象出起作用的要素,再剃掉偶然性的部分,只保留必然性的部分。這時候往往能夠更貼近本質規律。這類成功學是有用的,但通常達不到一看就可以飛黃騰達的地步,只能讓人少走一點彎路。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447369.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447369.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447369.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

S?D?I?與?A?S?I 接口詳解介紹

分量編碼 在對彩色電視信號進行數字化處理和傳輸是,一種常用的方式是分別對其3個分量(Y,R-Y,B-Y)進行數字化編碼。這就是分量分量編碼,另外還有全信號編碼,全信號編碼是對彩色全電視信號直接進行…

FFMPEG解碼多線程

FFMPEG多線程解碼 FFMPEG多線程編碼器一般以在Slice內分功能模塊進行多線程編碼,如h263,h263P,msmpeg(v1, v2, v3),wmv1。包含以下幾個線程:(1)Pre_estimation_motion_thread運動估計前的準備;(2)Estimation_motion_t…

SpringNBoot日志配置

市面上的日志框架 日志門面 (日志的抽象層)日志門面 (日志的抽象層)JCL(Jakarta Commons LoggingSLF4j(Simple Logging Facade for Java) jboss-loggiJUL(java.util.logging&#x…

ffmpeg的內部Video Buffer管理和傳送機制

本文主要介紹ffmpeg解碼器內部管理Video Buffer的原理和過程,ffmpeg的Videobuffer為內部管理,其流程大致為:注冊處理函數->幀級釋放->幀級申請->清空。 1 注冊get_buffer()和release_buffer() FFAPI_InitCodec() avcodec_alloc_c…

springBoot的模版引擎

模版引擎 常見的模版引擎有JSP、Velocity、Freemarker和Thymeleaf Thymeleaf模版 使用時需要把html頁面放在classpath&#xff1a;/templates/文件夾下&#xff0c;thymeleaf就能自動渲染創建模版文件&#xff0c;并需要導入thymeleaf的名稱空間 <html lang"en"…

FFmepg 多線程解碼歷程

FFmepg 多線程解碼歷程 - 1:validate_thread_parameters /** * Set the threading algorithms used.//設置線程的使用算法 * Threading requires more than one thread.//需要一個以上的線程 * Frame threading requires entire frames to be passed to the codec,//幀線程…

SpringMVC自動配置

springboot為SpringMVC配置了自動配置&#xff0c;以下是SpringBoot對SpringMVC的默認配置 org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration 自動配置在Spring的默認配置之上添加了以下功能 包含ContentNegotiatingViewResolver和BeanNameView…

做一名合格的生意人

偶然的成功&#xff0c;包含著某種必然的因素&#xff0c;那就是一個生意人本身的素質。作為一名現代生意人&#xff0c;要想使自己所從事的事業取得新的成功&#xff0c;就要加強自身的修養&#xff0c;不斷掌握新知識&#xff0c;努力使自己成為“全才”。 □ 事業成功的十個…

restful風格的增刪改查

注意 如果靜態資源放到了靜態資源文件夾下卻無法訪問&#xff0c;請檢查一下是不是在自定義的配置類上加了EnableWebMvc注解templete文件夾不是靜態資源的文件夾&#xff0c;默認是無法訪問的&#xff0c;所以要添加視圖映射 package cn.xxxxxx.hellospringbootweb.config;imp…

歷史上最有影響力的10款開源項目

開源是大趨勢&#xff0c;開源軟件也在越來越多的出現在日常電腦桌面上&#xff0c;如Firefox瀏覽器、Ubuntu操作系統等。人們選擇開源軟件的原因&#xff0c;主要有低成本、安全無病毒侵害、更加透明和開放等。按照大多數的開源協議如GPL&#xff0c;開源軟件允許自由分發。在…

SpringBoot默認的錯誤處理機制

錯誤處理機制&#xff1a; 訪問一個不存在的頁面時&#xff0c;或者程序拋出異常時 默認效果 瀏覽器返回一個錯誤的頁面&#xff0c;注意查看瀏覽器發送請求的請求頭可以使用專業的軟件比如postman分析返回的json數據 springboot錯誤處理的自動配置信息 主要給日容器中注冊…

GitHub政府用戶破萬:開源成重塑政府新手段

據GitHub官方博客介紹&#xff0c;目前GitHub上的各地政府用戶數量已經達到1萬個&#xff01; 2009年&#xff0c;紐約參議院正式入駐GitHub公開部分技術資料與文檔&#xff0c;成為GitHub上的第一個政府組織。隨后&#xff0c;美國華盛頓特區、邁阿密、芝加哥、紐約&#xff…

配置嵌入式Servlet容器

如何定制和修改Servlet容器的相關配置 修改定制和修改Servlet容器的相關配置 server.port8081 server.context-path/crudserver.tomcat.uri-encodingUTF-8//通用的Servlet容器設置 server.xxx //Tomcat的設置 server.tomcat.xxx 編寫一個EmbeddedServletContainerCustomizer&…

云OS:Linux在桌面打翻身仗的機會?

不可否認&#xff0c;Chrome OS取得了驚人的增長。Chromebook自發行以來&#xff0c;迅速席卷全球&#xff0c;常年位居最暢銷筆記本榜首。這款基于Linux的筆記本在合適時間提供了合適的解決方案。很多情況下&#xff0c;云不僅僅是一個可選項&#xff0c;而是一個最優選項。Li…

Docker容器基本使用

Dcoker Docker是一個開源的應用容器引擎&#xff0c;是一個輕量級別的容器技術Dcoker支持將軟件編譯成一個鏡像&#xff1b;然后在鏡像中對各種軟件做好配置&#xff0c;再將鏡像發布出去&#xff0c;供別人使用運行中的鏡像稱為容器&#xff0c;容器的啟動是非常快速的核心概…

為什么35歲的C++依然能主導編程世界

早在1979年&#xff0c;Bjarne Stroustrup設計了C編程語言&#xff0c;并且C很快成為了無處不在的通用系統編程語言。現在盡管有Java、Javascript、Python、Go&#xff0c;甚至是蘋果的Swift和它競爭&#xff0c;但C依然處于主導編程世界的地位。 今天在Morgan Stanley的科技訪…

SpringBoot整合JPA

添加依賴 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId&…

為什么說選擇正確的編程語言很重要,以及如何正確的選擇

幾個月前&#xff0c;一個同事問我&#xff0c;應該如何選擇編程語言&#xff0c;或者有沒有什么固定的選擇模式&#xff0c;當時我便打算寫點什么。上周在硅谷開會&#xff0c;這我是第一次跟“hack3rs”的創業狂以及技術狂們打交道。我學會了很多前所未聞的臟話&#xff0c;也…

細數開源歷史上的十個重大事件

開放源碼&#xff08;開源&#xff09;的精神在于使用者可以使用、復制、散布、研究和改進軟件。這可以追溯到20世紀60年代&#xff0c;至今已有半個世紀了。雖然下面所列舉的不都是專門的開源產品&#xff0c;但還是在開源發展的進程中有著巨大的影響。開放源碼&#xff08;開…

科研必備學士搜索引擎推薦

綜合性學術搜索引擎 中國知網萬方數據百度學術谷歌學術谷歌學術鏡像Web of ScienceEiVillage2EIsevier電子期刊SpringerSemanticScholar 圖片文獻檢索方法 CNKI 期刊查詢 DOAJSocolarOpenDOAROALIB開放存取圖書館 碩博論文搜索下載 上海交大鏡像網站歐洲學位論文庫 國外電子…