tft每日頭條

 > 生活

 > 高級程序員和低級程序員對比

高級程序員和低級程序員對比

生活 更新时间:2024-11-26 06:52:14

“碼農”和計算機工程師其實并沒有明确的界限,他們每天都在和計算機代碼打 交道。隻不過前者多少帶點兒貶義,畢竟今天能寫幾行代碼的人随處可見。計算機工 程師在某種程度上是自己往自己臉上貼金,在外人眼裡他們再普通不過了。

但是, 同樣是計算機工程師, 不同人的水平、貢獻和影響力可謂有天壤之别。有 些讀者讀過我之前寫的一些書,知道我喜歡用朗道的方法,将計算機工程師分為五 級。一級工程師的貢獻是二級的 10 倍,二級是三級的 10 倍,以此類推。當然,他 們的貢獻和收入常常存在指數上的差别。

五級: 能夠獨立解決問題,完成工程工作。一個能夠獨立工作、很好完成任務的 工程師,屬于五級工程師,Google、微軟和 Facebook 裡面一半左右的工程師屬于這 一級。部分 IT 企業裡寫代碼的人,很多還達不到五級工程師的要求,因此被稱為“碼農”也不算太過分。

四級:能夠用已知的最優方法(state of the art )解決問題,并指導和帶領其他人 一同完成更有影響力的工作。很多公司裡所謂的技術專家、技術大拿,大緻就是這個 水平。

三級:能夠解決前人未解決的問題,并且能獨立設計和實現産品,在市場上獲得 成功。目前普遍的情況是,在大部分 IT 企業中能夠達到這個水平的人非常少,他們 通常是企業裡的總工程師或者總架構師。這個級别的工程師在 Google 或者微軟裡卻 不少見。

二級:能夠提出重要的計算機理論和實踐中的新問題,并解決它們,還能設計和 實現别人做不出的産品,也就是說這一級的人的作用很難取代。

一級:能夠開創一個産業,或者奠定一個學科的基礎。

每一級在各個維度差出 10 倍。

關于五級工程師的理論,我多年前就在很多場合講過,在這個行業裡很多人都知 道。很多人毫不謙虛地把自己定在了四級或者三級,這其實是高估了自己,或許是因 為過去給出的計算機工程師最低的一級是五級。一些剛畢業進入大計算機公司的人和 我講,我現在是五級,争取兩年内達到四級的水平。我說,“不,你現在最多算是六 級,先要達到五級的水平”,于是我在五級的下面又加入了兩級。

六級:能在他人指導下完成計算機工程師的工作。那些水平還不錯的大學的計算 機專業碩士畢業生,或者在一流計算機公司裡工作過半年、過了見習期的新人,大約 就是這個水平。

七級:本科畢業自水平不錯的大學的計算機專業,但沒有參加過六個月以上實習 的學生。也就是說課程的内容都學過了,就能達到這個水平。當然,從小就接觸編程 的計算機天才,他們可能在高中就達到了這個水平。

以上内容摘自吳軍博士的《計算之魂》中的前言部分。

高級程序員和低級程序員對比(高級程序員和普通程序員有哪些區别)1

對計算機科學的掌握程度,決定了一個計算機行業從業者能走多遠。在本書中,作者将人文曆史與計算機科學相結合,通過一些具體的例題,分10個主題系統地講解了計算機科學的精髓。這些例題是作者面試求職者時用到的考題,或是頭部計算機公司和金融企業的面試題。

作者在書中結合自己對計算機工程師的五級分級标準,詳細講解了每類題目不同層次的解決方法、不同水平的人大約能思考到什麼樣的深度,深度闡述題目背後的計算機科學精髓。通過對比優化解題思路,讀者不僅可以衡量自己的水平,在職業的發展道路上走得更快,更可以深刻理解并掌握計算機科學和計算思維,逐漸把握計算機科學這門藝術,獲得重複性成功。

對于所有有志于了解或學習科技,特别是計算機科學的人來講,本書不僅有助于了解計算機科學,更有助于了解 IT 産業的技術特點、培養一些特殊的思維方式、掌握信息時代特殊的做事方法,通過具體的例子,從“術”的層面獲得“道”的層面的提升。


異步君此時剛好打開了《善工利器:程序員管理範式》的第一章,感覺也有必要分享一下,對這個問答也是有參考意義的。

程序員裡的領袖人物認為,把程序員 比喻為“工匠”更為合适。工匠并非與生俱來的高手,他們需要經曆多年學徒生 涯的磨煉,在證明了自己的技能水平并且取得成績之後才能赢得高手的稱号。用 知識、經驗和過往的成功案例來認證程序員比較切合實際,而所謂的“認證計劃” 則難以令人信服。所以,我們認為“工匠”這個比喻比其他稱謂更适合用來稱呼 我們所說的那種“卓越的程序員”。

卓越的程序員從何而來?他們僅僅具備程序設計方面的天賦是遠遠不夠的。卓越的程序員都是大師級的人物,做事有條不紊、嚴于律己。他們能夠僅憑直覺就組 織好代碼和程序結構,能夠使自己總是在編寫代碼之前先設計好,能夠在較短的時 間内編寫出清晰、簡潔、實用、高質量的代碼并獲得預期的結果,他們通常還會編 寫測試用例以确保代碼能夠正常運行。換言之,卓越的程序員都是大師級的匠人。

如果程序員的内驅力主要來自時間計劃表、管理層壓力或者報酬,那麼他 就不能成為一名卓越的程序員。事實上,對于大多數卓越的程序員而言,他們 的内驅力來源于更高層次的目标:做出對人們生活切實有用的程序,做出改變 世界的傑出産品。卓越的程序員希望為具有世界影響力的項目工作,這也是他 們的自我價值實現的需要,他們希望能夠體會到自己的工作是有意義的,即使 隻是在某個很小的方面。卓越的程序員偏愛能夠滿足他們提出的更高要求的公 司和項目,他們非常在意自己所做的事情,常常為了得到期待已久的結果而付 出超乎尋常的努力。

卓越的程序員的工作效率往往比普通程序員的工作效率高一個數量級(即 10 倍以上)。

然而,現實中卓越的程序員實在太少了,不可能每個項目團隊都擁有。而且, 多數團隊也隻能“容忍”隊伍中擁有一兩名卓越的程序員。我們發現,大多數程序或項目主要依靠的還是普通的程序員。普通的程序員通常也是稱職、能幹的, 擁有很高的職業素養,然而他們往往隻會把程序設計視為一項工作。

于是,我們面臨的挑戰就是,即便大部分甚至所有程序員僅能稱得上稱職, 也要努力思考如何組織一支訓練有素的程序員隊伍,如何激勵并培養其中一部分 人成為卓越的程序員,如何管理好其他程序員以達成圓滿的結果,以及如何持續提高團隊績效。

大多數程序員憑直覺就能判斷出同行之間的身手高低,并不需要借助那些花 裡胡哨的排名或者頭銜。但是,如果能夠把程序員的類型與等級正式記錄下來, 并且對每一種類型與等級的職位要求與能力需求做一個簡單描述(類似表 2-1 那 樣),那麼管理者的工作将會輕松許多。這份列表能夠幫助團隊和項目經理輕而易 舉地找到匹配各種任務和項目的最佳人選,還能幫助高層管理者建立起對組織結 構更為深刻的洞察力。

高級程序員和低級程序員對比(高級程序員和普通程序員有哪些區别)2

表 2-2 展示了對前面讨論過的不同類型的程序員應該如何定義程序設計能力等級。

高級程序員和低級程序員對比(高級程序員和普通程序員有哪些區别)3

制定一套能夠與程序員的成長相适應的、梯級要求的程序員能力等級評估标準非常重要。表2-3給出了針對前端程序員的等級評判标準。

高級程序員和低級程序員對比(高級程序員和普通程序員有哪些區别)4

高級程序員和低級程序員對比(高級程序員和普通程序員有哪些區别)5

《善工利器:程序員管理範式》的内容就分享到這裡。

關于《善工利器:程序員管理範式》的這本書

高級程序員和低級程序員對比(高級程序員和普通程序員有哪些區别)6

程序設計經理、IT項目管理者的團隊管理手冊!2位作者集80餘年編程和管理實踐經驗教訓,總結300餘條千錘百煉的經驗法則與至理名言,破解管理難題,打造高效團隊!

這是一本系統闡述在面對容易失控的軟件開發團隊時,如何管理、建設和賦能團隊,以及成功交付開發成果的書。本書總結了兩位作者多年的軟件開發實踐經驗和軟件團隊管理經驗,通過深刻的觀察和分析,圍繞軟件開發管理的核心問題——人的管理,講解如何真正理解程序員、如何找到合适的程序員、如何與程序員順暢地溝通等困擾大家已久的問題,進而擴展到如何以人為本地建設團隊、管理人員、管理項目。相較于第1 版(《告别失控:軟件開發團隊管理必讀》),第2 版(本書)增加了如何招聘和培養程序員,并搭建卓有成效的團隊的相關内容。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved