為啥突然想這個問題?
這陣子跟技術人交流,突然引出了乙個問題
對個人來說,究竟是專才好,還是通才好。當然就技術開發這個領域來講。
首先列一下名詞解釋
專才:就是指專注在某個領域/語言/平台/職能上的開發者。
通才:自然不用說,就是大家最喜歡的全棧。當然全能的人是不存在的,所以說區域性全棧會比較合理一點。比方web全棧,就是包括了前端開發,後端開發,伺服器運維,資料庫,架構等
正方的角度是:實際工作中的事實是經常需要引用多種多樣的語言或者技術,也有很多中介軟體或者第三方元件,需要乙個人身兼數職。
當然你也可以說我需要用什麼語言的時候,就招乙個這方面的專業人士,但是大多數情況下沒有這麼奢侈,畢竟這個中介軟體可能只有1%的時間會用到,那麼另外99%的時間難道閒置這個人麼?或者非要想個專案把這個人力利用起來,那這個專案也夠雞肋了。
所以團隊內經常會有這類區域性全棧的開發人員。
但是站在反方的角度上思考:
人的精力是有限的,只精通1門語言有點侷限性,精通兩門問題不大,時間充裕的,精通3門也ok。但是如果你非要精通5門或者10門語言,而且還要應用到實際工作中,那麼精力分散之後那些隱藏在語言深處的坑,你還有能力找出來麼?
全棧型的人才很有用,面對不同的業務環境,都能找到合適的解決方案,並且開展工作。
專業型人才很有價值,在屠龍這個任務上,一把屠龍寶刀跟瑞士軍刀做甚比較。
所以就應用場景來講,各有千秋。
「語言只是工具,重要的是思路」 批判專才的可能要站出來這樣說,但我們這裡舉的語言例子,只是說為了方便討論,因為專業型人才看你專業的方向而定的,如果你是專業的架構師,所謂「思路」就是你的專業方向,那麼哪一種語言並沒什麼特別。
如果你是演算法工程師,那麼用不用程式語言也沒區別。偽**照樣玩的溜。
那另外一種情況是,其實所謂全棧也不需要去深入了解到語言的細節之處,只要學到能用的情況就行,就能應付很多種情況了,而且在學精通一門語言之後,再去學其他語言其實也挺快的,大致相同,細節之處花點時間也能足夠。
應該以什麼標準來衡量自己的進取方向?
首先要問自己乙個問題,自己的目標是什麼?
是想出來單飛,創業做一番事業,還是想深入某個技術,做這方面的專家?
又或者只是想用自己喜歡的技術開發一些有趣的程式?
然後再問另外乙個問題,這個目標上這兩種人才,你覺得最有優勢的是什麼?
如果有些人對自己的目標早就明確,那其實沒有什麼困擾,對他來說,選擇這件事早就結束了。
但是更多的人是因工作而選擇,如果沒得選擇了,那其實也沒什麼好困擾的。
這個問題對那些既有一些選擇權的人,又對目標有些迷惘的人來說,應當是比較有價值的。
最安全的方式是按照 t 型人才。就是其他專業淺淺的學一層,但是在某乙個垂直領域裡深入挖掘。
然後我們重新比較一下 所謂通才跟所謂專才。其實是不是都錯了。
通才其實是什麼都會一點,什麼也都不會的情況,這樣其實很危險,因為如果職能開始細化,隨便找幾個專業型的人才就能替代你。
專才也其實非常危險,專注在屠龍一件事上,如果哪一天龍死光了,屠龍勇士可能連耕地都幹不了。
普京不是說了嘛,「打工是不可能打工的,這輩子都不可能打工的,我還能怎麼辦?根本找不到工作。只能繼續當**維持生活這樣子。」
是不是類似的道理?(開個玩笑,哈哈哈哈)
關於行業攪局者的一點思辨
昨天,和乙個朋友展開了一些辯論。他提出,在通訊領域,華為是乙個攪局的流氓,依靠低價策略榨乾了通訊領域的利潤,讓裝置提供商無飯可吃,是劣幣驅逐良幣。並且,這類公司往往都不會有好下場,並舉了ofo的例子。而我做了一些反駁,就簡單的結束了話題。誠然,上述討論的價值其實並不高,發言也趨向於主觀,缺乏客觀的理...
關於巨集的 與
c c 巨集中 和 的用法 zz 巨集中 和 的用法 一 一般用法 我們使用 把巨集引數變為乙個字串,用 把兩個巨集引數貼合在一起.用法 include includeusing namespace std define str s s define cons a,b int a e b int m...
關於shared ptr與weak ptr的使用
shared ptr是帶引用計數的智慧型指標,可以說大部分的情形選擇用shared ptr不會出問題。那麼weak ptr是什麼,應該怎麼用呢?weak ptr也是智慧型指標,但是比較弱,感覺沒什麼用。其實它的出現是伴隨shared ptr而來,尤其是解決了乙個引用計數導致的問題 在存在迴圈引用的時...