許多人喜歡把程序員的成長路徑比喻成升級打怪,如同修煉一本又一本武功秘籍,以為只要潛心練習,修煉到飛花摘葉都可傷人,就是程序員的至高境界。如果在純技術環境,這樣的發展路徑或許是對的。但早有人根據本土國情總結出了程序員進化的正確打開方式。
程序員從幼稚到成熟的標志是什么?
網友“老胡聊Java”說:
1.意識到寫代碼無非就是調用接口api,做業務無非也就是抄些增刪改查的現成代碼。也就是說,編程沒想象中那樣高大上,也就是謀生的一種手段。
2.知道提升能力不是單純靠學,而是得靠解決實際問題。比如在做項目時,提升技能的最好方式是,去解決些值錢(比如分布式高并發或devops等)方面的問題。同時更知道,單純做增刪改查的業務,其實頂了天也只能算個初級開發。
3.知道其實在做項目的過程中,寫代碼的技能相對來說是比較不值錢的。比較值錢的技能點是,排除解決問題的能力,確保項目高質量的能力(即測試能力),運維項目的能力(比如容器和devops),組件的使用能力和配置安裝分布式或微服務組件的能力。
4.知道在自己領域,哪些技術比較值錢,同時更知道,如何在面試中證明自己的技能,更知道,在下次跳槽時,自己該去哪些類型的公司,知道該如何要到更高的薪資。
5.知道衡量程序員能力和水平的標準是薪資+公司,在公司都差不多的情況下,誰薪資高誰能力強,在薪資差不多的情況下,誰公司好誰厲害。這話另外一層含義時,在跳槽時,對方公司衡量程序員能力時,第一看之前公司的規模,即大公司背景,第二看薪資。隨后再通過面試看技術。
6.知道公司的領導在給自己提建議時,出發點大概率是為了公司好和為了項目組好,在此基礎上順帶會給些對自己有幫助的建議。這種情況下,對領導的話是會有選擇性地聽。
7.知道不少公司領導留人的方式不是靠加薪,而是靠畫餅。更知道,如果在同一家公司,每年漲薪頂多1成,而且還得使勁加班,同時如果是跳槽,漲薪3成都算低的。
8.知道在面試中證明自己能力時,不能單純靠自己做過什么,也不能靠自己學過什么,而是靠自己能靠說證明什么。比如能在面試中,通過說自己解決過的值錢技術方面的問題,能證明自己在這方面的能力,至于自己是否做過,面試官很難核實。
9.知道程序員要過大齡這道坎,不是靠技術,而是靠公司,即得找個能容納大齡程序員的公司,而一些小公司,對大齡程序員可能未必友好。
10.知道身體比掙錢重要,知道家庭比工作重要。而程序員這個職位,只是提供了用加班用艱辛換取高薪的機會。
11.知道有些公司,尤其是小公司外包公司,僅僅是過渡,在其中不應該呆過3年。別看其中的領導信誓旦旦或者宣揚狼性,但可能他們自己都知道,自己的業務線甚至是公司未必能撐多久。
12.會越來越感受到,大多數代碼、框架乃至和技術相關的東西,其實都是虛的。當然一些高端技術(比如當下的大模型)不能說是虛的,這能實打實掙錢,但一般程序員接觸不到這個層次。做到后面就會發現,再要進一步掙錢,首先得看人脈,有人脈才有渠道接單,業務量大了才能有所謂的盈利模式,有了盈利模式才能進一步雇人做大,所謂是擴大再生產。
13.即比較成熟的程序員具備復制別人成功模式的能力。舉例來說,比如某Java開發當下只會增刪改查,但他能通過觀察組內的資深架構平時干了什么事情,解決問題的過程,通過多問多復盤多實踐,慢慢把人家的本事學到手,然后提升自己的能力。
14.再進一步講,成熟或者說資深的程序員,更具備從各種試錯過程中找到正確方向的本事。比如當下某人的外包公司,接觸到的技術天花板是單機版的增刪改查,所謂的組內大牛也只是熟悉業務。這種情況下想進好公司,比較成熟的程序員一般能通過嘗試,知道怎么寫簡歷怎么找獵頭能拿到大公司的面試機會,再進一步,知道在當下技術儲備不多的情況下,經過各種無效學習的試錯,知道如何掌握大公司面試所需的技能,再進一步,經過各種面試的嘗試,知道該如何面試成。
15.做久了以后,知道做項目時應該用最安全的方式修改bug,而設計模式和重構之道之類的理念,只是存在于教科書,而且只會在面試時用到。這句話更加通俗的說法是,在當前系統修改bug時,不該看的代碼不看,不該了解的代碼不去了解,不該碰的代碼不碰,一旦看了了解了碰了,改出問題,責任就是你的。而且在改牽扯到多方的疑難bug時,一定得拉上領導或相關人。
16.在面試場景,知道證明自己用過某個技術的方式是,說業務場景和API細節。這塊具體展開下,比如在面試中要證明自己做過機器學習,可以先說項目里引入機器學習模型的場景,再說用過哪些模型,其中的api接口、語法和配置細節是什么樣的。而且同樣是在面試場景,證明自己能力的方式不在于說自己做過哪些業務,而在于說自己排除解決技術問題的方式,解決過的問題越值錢(比如含高并發機器學習或AI),那么面試官只能相信你的能力。
17.在面試時,比如求職者有3年公司經歷,那么應該就有3年Java(或Python或其它技能)的項目經驗。這種情況下,如果求職者通過業務場景和API說技術,再通過說解決過的問題證明能力,面試官只能相信求職者的能力。一些會面試的求職者,2,3年跳槽一次,每次薪資漲個3成,或者以此進好公司,這其實不是難事。回到主題上,較為成熟的程序員都知道一些面試技巧,而比較幼稚的程序員,面試時只說自己項目做過哪些事情,更只會通過做業務證明自己的能力,這樣的跳槽和面試的能力是有待改進的。
18.較為成熟的程序員一般給人的感受是,面試時,被普遍認為能力強,因為具備足夠的面試能力,剛開始進項目組時,會被認為很菜,但很努力,因為接觸到了更值錢的技術,而之前沒接觸過,所以很菜,但在新環境里能通過努力高效學習。過了一段時間,這位程序員能在解決問題、溝通和寫ppt匯報等方面展示足夠的能力,再過了一段時間,這位程序員會跳槽到更好的公司里,迭代上一次的流程。而較為幼稚的程序員則會認為,只要我能力強,能解決問題,就能在當前公司一直干。
19.在自己當下技術不高的情況下,知道如何最大程度上變現自己的技術,因為成熟的程序員都知道,技術不能當飯吃,生活還得靠技術變現得來的錢。
20.這甚至已經可以作為“老油子程序員”的標志了。知道解決哪些bug能給自己帶來收益,知道解決哪些bug,雖然對項目有幫助,但牽涉到一些人或一些事,未必會對自己有幫助,知道項目里的哪些bug應該報出來,但不應該立即著手解決,而應該開會找相關人討論,知道項目里的哪些bug,甚至都不應該報出來。
網友“fearless”建議:如果你是個普通程序員,特別是學歷,履歷都不好的情況,三十多歲這個年齡核心是要放棄學技術,特別要放棄技術決定一切的思維。
有人調侃道,“三十歲之前以為技術決定高度,現在覺得如何圓滑的處理人際關系才是真正的王道”。許多程序員潛心技術,只和電腦打交道,工作多年“歸來仍是少年”,而老油條們早已看透“唯技術論”的有限性,搞定技術外的事情是一項必要且緊要的事情。
把自己活成一個項目,解決公司的需求,才是離錢更近的道理。
【來源】:知乎https://www.zhihu.com/question/642449547/answer/3387775030
【消息】: 1.《碼客人生》開啟新欄目:《讀者來信》——每月精選往期文章的趣味評論,類似程序員“樹洞”,評論選中者,可在微信公眾號后臺加運營者微信,領取獎勵。 2.《碼客人生》建立讀者交流群了,討論技術話題,分享文章看法,感興趣的人可以后臺加運營者微信入群。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.