0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從程序員到工程師的五個必要條件

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-08-26 09:12 ? 次閱讀

許多程序員自稱碼農(nóng),因?yàn)槊刻焓虑榭傄沧霾煌?,而這些工作也沒有給自己帶來職業(yè)上的提升,總在原地打轉(zhuǎn),自己的工作似乎隨時可被新人替換,可有可無。于是,年輕些的考慮著轉(zhuǎn)管理或者轉(zhuǎn)行,年紀(jì)大些的則被所謂的40歲危機(jī)困擾焦慮著。另一方面,有些程序員工作高效,能力出眾,每當(dāng)機(jī)會來臨時總能獲得職位上升,收入迅速的提高,個人價值的提升又從精神上給自己帶來滿足感,常常斗志昂揚(yáng),而這樣能解決復(fù)雜問題的程序員才叫工程師。本文中筆者將根據(jù)自己10多年從業(yè)經(jīng)歷談?wù)勅绾螐拇a農(nóng)升級到工程師。

事實(shí)上,互聯(lián)網(wǎng)行業(yè)的項(xiàng)目需求從來不是靜態(tài)的,項(xiàng)目是動態(tài)的、永遠(yuǎn)在不停迭代,所以即使你能力再好效率再高,也不可能讓你處在空檔期,所以,相比其他行業(yè)程序員們總是很容易處于忙忙碌碌的狀態(tài)中。另一方面,項(xiàng)目里哪怕沒有新功能了程序員自身也有很大的欲望去優(yōu)化、重構(gòu)代碼,還是忙忙碌碌。

但是,到底客戶的問題、行業(yè)的痛點(diǎn)有沒有真正解決?

項(xiàng)目給公司帶來多少收益?

我手頭的工作對公司下一步的發(fā)展有何意義?

這些通常不在程序員們的思考范圍:這與我何干?

我是專業(yè)寫代碼的,這些應(yīng)該由老板、產(chǎn)品經(jīng)理、運(yùn)營、銷售、其他業(yè)務(wù)部門去考慮,我只需要精益求精把代碼寫好寫穩(wěn)定就可以了,我預(yù)留了許多擴(kuò)展接口,到時公司需要的話去擴(kuò)展模塊就行了,我何必要知道與我工作無關(guān)的事?這個想法其實(shí)是讓許多程序員始終停留在碼農(nóng)階段,與那些卓越的工程師同等辛苦,但待遇層次總是相差甚遠(yuǎn)的罪魁禍?zhǔn)住?/p>

吳軍老師在《見識》一書中把工程師定義為5個等級,相鄰的等級間會有10倍的差距,而第五級工程師以下其實(shí)就是碼農(nóng)。

實(shí)際上,能夠到達(dá)第五級,就已經(jīng)從碼農(nóng)提升為工程師了。比如,現(xiàn)在有一個任務(wù)需要實(shí)現(xiàn)一個功能子系統(tǒng),一個第五級工程師能夠與產(chǎn)品經(jīng)理深入挖掘需求及其到底是否解決了問題,能夠用算法建模解決現(xiàn)實(shí)中的問題,能夠獨(dú)立跨部門溝通獲取所需的資源及協(xié)調(diào)其他工程師的幫助,能夠正確的使用各種開源組件保質(zhì)保量不重復(fù)造輪子,能夠解決開發(fā)過程中出現(xiàn)的各種坑,按時交付出高質(zhì)量的產(chǎn)品,這才是一個合格的第五級工程師了。

碼農(nóng)離第五級工程師到底有多遠(yuǎn)呢?大家可以觀察下身周,碼農(nóng)往往溝通技巧欠缺,不愿深入理解需求的意義,不愿深入研究某個技術(shù)或者框架的意義,或者只是深入研究某些語法糖卻不考慮維護(hù)代價,喜歡造輪子,只要接手別人的工作先不愿精讀代碼而是想著按自己最熟悉的方式重構(gòu),做到一半時各種困難下開始退縮求助,于是交付時不斷的延期再延期。。。

成為一個合格的第五級工程師,需要哪些條件呢

1、要有欲望成為高階工程師!

無欲則剛,如果內(nèi)心就不大想成為一個高級工程師,那么肯定不愿付出更多的努力,肯定不會主動的加班,也不會在不加班的時候腦袋里還在想著問題和項(xiàng)目上的事,而加班或者正常上班時敷衍的時間比例很高。從低一級邁向高一級時,若不愿意付出比同級人更多的努力,又談何升級呢?在任何領(lǐng)域,努力一定是成功的必要條件。

2、懂得做減法的學(xué)問

事務(wù)性的工作總是非常多的,同時也會接到很多需求功能以及測試提交的bug,還有興趣愛好呢?!很多想看的演唱會、連續(xù)劇、電影等著你,還有許多朋友聚會應(yīng)酬要參加,還有朋友圈要刷刷,微博大V們的文章要讀讀,股票要炒炒,理財要學(xué)學(xué),游戲要玩玩,所以,忙忙碌碌里職業(yè)技能沒有得到一點(diǎn)增長。

或者你效率奇高,但你要做的事太多了,效率不等于效能,效能是指完成的事情*事情的意義。事情要做到100%完成,而且必須是重要的事。既然你想成為高階工程師,那么請把不重要的事從你一天的計(jì)劃中移除吧。就像上圖中吳軍老師所說的,每升級到下一級,你的收入都將呈現(xiàn)10倍上漲的趨勢,這收益遠(yuǎn)遠(yuǎn)大于你去做自己并不擅長的炒股所獲取的收益(長期來看)。而所謂的應(yīng)酬、各類資訊、個人愛好,并不是只要清楚的認(rèn)識到自己想要什么就能夠正確的做減法,這需要你的認(rèn)知升級。

而在Leader分配下來的任務(wù)里,也需要你準(zhǔn)確的判斷出優(yōu)先級,一定要先把最重要的事百分百的完成。這需要你與leader間密切溝通,因?yàn)榧夹g(shù)管理者所掌握的信息量遠(yuǎn)大于你,而且信息在時刻變化著,他那里的信息及時度也超過你,唯有從你的上級那里才能快速的了解到工作的優(yōu)先級。這也需要與產(chǎn)品經(jīng)理、上下游部門間密切溝通,這樣你才能準(zhǔn)確的了解到你的工作對別人的意義,這也有助于你判斷優(yōu)先級,總之,做減法是一門學(xué)問。

3、有效的做到10000小時定律

一萬小時定律是作家格拉德威爾在《異類》一書中指出的定律?!叭藗冄壑械奶觳胖宰吭椒欠?,并非天資超人一等,而是付出了持續(xù)不斷的努力。1萬小時的錘煉是任何人從平凡變成世界級大師的必要條件。”他將此稱為“一萬小時定律”。要成為某個領(lǐng)域的專家,需要10000小時,按比例計(jì)算就是:如果每天工作八個小時,一周工作五天,那么成為一個領(lǐng)域的專家至少需要五年。這就是一萬小時定律。

顯然,并不是任何人在一個領(lǐng)域工作五年就能成為大師的。有效的做到這一萬小時的關(guān)鍵是,這一次的努力請最大程度的復(fù)用上一次努力的結(jié)果!例如當(dāng)下許多互聯(lián)網(wǎng)從業(yè)者一年就跳槽一次,先不談是不是應(yīng)該跳槽(如果只是想通過跳槽漲薪,而不是原公司沒有新的位置帶給自己職業(yè)發(fā)展,那就有問題了),首先你能感覺到跳槽之后是在最大程度的復(fù)用上一家公司里自己的努力嗎?如果一切是在從頭開始,包括新的開發(fā)工具、新的技術(shù)棧、新的業(yè)務(wù)場景、新的產(chǎn)業(yè)鏈、新的合作關(guān)系、新的同事圈子等,那么很顯然十萬小時也不夠成為專家的。

或者從另一個角度,有些人經(jīng)常換工具、框架、編程語言,如果你能夠在學(xué)新技術(shù)時,始終感覺到與自己熟悉的技術(shù)一一對應(yīng),基于此能夠輕易的舉一反三,那么這就是在高效的復(fù)用上一次的努力。反之,或者你上一個技術(shù)還學(xué)得不到家,換了新技術(shù)后很難敏感的發(fā)現(xiàn)共通性,這就很糟糕。

4、抓住關(guān)鍵節(jié)點(diǎn)

當(dāng)我們手頭有許多小功能,或者與許多團(tuán)隊(duì)有交互時,往往經(jīng)常被開會、被溝通,事情也又雜又多。此時,務(wù)必把手頭上的事在分好優(yōu)先級的基礎(chǔ)上,確認(rèn)每件工作的幾個關(guān)鍵節(jié)點(diǎn):完成時間點(diǎn),中期交付或者需要他人交付產(chǎn)品、文檔給你的時間點(diǎn),需要協(xié)調(diào)其他人啟動的時間點(diǎn)等等。抓住了這些時間點(diǎn),往往一頭亂麻的事就自然理清了。當(dāng)我們的時間非常碎片化時,一定要盡力抽出大塊整塊的時間,這能讓我們有時間思考,而且減少了任務(wù)切換的成本,而這依賴于很好的抓住關(guān)鍵節(jié)點(diǎn)。

5、常識的重要性

一個有志向的農(nóng)民和一個航空航天專業(yè)的畢業(yè)生都在做飛機(jī),其最大的不同在于常識。對于不同的程序員來說,常識并不相同。我有一些同事本不是計(jì)算機(jī)專業(yè),有些還是先做了幾年其他行業(yè)再轉(zhuǎn)過來做前端程序員。這樣,如算法復(fù)雜度、網(wǎng)絡(luò)模型等計(jì)算機(jī)科學(xué)體系里的基礎(chǔ)知識對于他們就不再是常識,而常識通常是將事情做到50%程度的關(guān)鍵。常識的缺失會導(dǎo)致與同級程序員相比做事情事倍功半,這從長期來看一定會讓你早早的觸及職業(yè)天花板,而補(bǔ)足常識的缺失相較起來還是比較容易的(畢竟這本不是什么尖端知識),但許多人長年不愿在此下功夫。

6、有后勁兒

有些人工作年限越久,競爭力越強(qiáng),職業(yè)上升空間很大,反例其實(shí)更多,而這種有無“后勁”在我看來其實(shí)關(guān)鍵在于有沒有科學(xué)的職場做事方法。比如習(xí)慣做乙方的外包程序員,轉(zhuǎn)到甲方開始做產(chǎn)品時,還是習(xí)慣于把產(chǎn)品當(dāng)成別人家的孩子,缺乏一種主人翁的精神,而在任何公司做任何產(chǎn)品,如果沒有一種把自己的產(chǎn)品當(dāng)孩子的感覺,就很容易向其他人表現(xiàn)出喜歡推諉、不肯擔(dān)責(zé)任的特點(diǎn),而缺乏主動精神往往導(dǎo)致項(xiàng)目前期準(zhǔn)備工作不足,后期疲于奔命。沒有主人翁精神,往往對整個研發(fā)鏈條自己這塊以外的部分不愿意了解,這樣沒有辦法管理好你的上游和下游,最終導(dǎo)致自己的工作困難重重,難出成績。

對自己的產(chǎn)品有主人翁精神,會讓自己保有一種使命感,進(jìn)而相對更敬業(yè)、更有激情,而這對團(tuán)隊(duì)是有正向激勵作用的。而且,有這種精神后,往往會想辦法把工作流程標(biāo)準(zhǔn)化,把知識分享給團(tuán)隊(duì)同事以提升團(tuán)隊(duì)的作戰(zhàn)能力,進(jìn)而讓產(chǎn)品更優(yōu)秀。自己的工作有一點(diǎn)提升,與同時帶動其他同事有一點(diǎn)提升,這是有量級差別的。當(dāng)有晉升機(jī)會時,主管們自然更偏愛把機(jī)會給這樣的同事。

結(jié)語:職業(yè)發(fā)展的天花板在哪?許多人說是需要認(rèn)知升級,但這太抽象了。在我看來,能做到以上6點(diǎn),從碼農(nóng)上升為優(yōu)秀的工程師(在所有互聯(lián)網(wǎng)公司都極受歡迎)并不在話下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1565

    瀏覽量

    68411
收藏 人收藏

    評論

    相關(guān)推薦

    動態(tài)無功補(bǔ)償?shù)娜?b class='flag-5'>個必要條件

    重要性愈發(fā)凸顯。本文將探討動態(tài)無功補(bǔ)償?shù)娜?b class='flag-5'>個關(guān)鍵條件,以幫助電力系統(tǒng)運(yùn)營者更好地應(yīng)對復(fù)雜的電力需求和供給問題。 動態(tài)無功補(bǔ)償?shù)娜?b class='flag-5'>個必要條件包括: 實(shí)時監(jiān)測電網(wǎng)功率因數(shù)和電壓波動 :動態(tài)
    的頭像 發(fā)表于 11-12 14:05 ?63次閱讀
    動態(tài)無功補(bǔ)償?shù)娜?b class='flag-5'>個</b><b class='flag-5'>必要條件</b>

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應(yīng)對。長遠(yuǎn)看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?59次閱讀

    屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?140次閱讀

    tlv3501正常工作有什么必要條件嗎?

    我之前使用的是其他型號的比較器,可以正常的輸出波形,經(jīng)人推薦,使用 tlv3501 來替換我之前的比較器,不是 P2P 的封裝,但是 TLV3501 不能工作,不能輸出有波形。tlv3501正常工作有什么必要條件嗎?看規(guī)格書,我之前的比較器和 TLV3501 相差不太。
    發(fā)表于 08-16 07:23

    產(chǎn)生暫態(tài)過程的必要條件以及原因

    暫態(tài)過程的產(chǎn)生需要滿足一定的條件,這些條件通常與系統(tǒng)本身的結(jié)構(gòu)、參數(shù)以及外部激勵有關(guān)。以下是產(chǎn)生暫態(tài)過程的必要條件: 系統(tǒng)存在多個穩(wěn)態(tài): 暫態(tài)過程是從一穩(wěn)態(tài)
    的頭像 發(fā)表于 07-26 09:39 ?613次閱讀

    阿里云發(fā)布首個AI程序員,引領(lǐng)應(yīng)用開發(fā)進(jìn)入“分鐘級”時代

    近日,在備受矚目的阿里云上海AI峰會上,阿里云向全球開發(fā)者們展示了其最新的技術(shù)成果——首個“AI程序員”。這款創(chuàng)新應(yīng)用基于通義大模型構(gòu)建,具備了令人驚嘆的多項(xiàng)技能,包括架構(gòu)、開發(fā)工程師、測試
    的頭像 發(fā)表于 06-24 10:36 ?605次閱讀

    適者生存,程序員最終會流向哪……

    程序員沒有永遠(yuǎn)的護(hù)城河!!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?372次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    可以參考這份資料,少走很多彎路,節(jié)省沒必要的麻煩。它由兩位前阿里高級研發(fā)工程師聯(lián)合打造的《鴻蒙NEXT星河版OpenHarmony開發(fā)文檔》里面內(nèi)容包含了(ArkTS、ArkUI開發(fā)組件、Stage
    發(fā)表于 03-06 21:32

    能產(chǎn)生正弦波振蕩的必要條件有哪些

    產(chǎn)生正弦波振蕩的必要條件主要包括以下幾個方面: 振蕩系統(tǒng):一振蕩系統(tǒng)是產(chǎn)生正弦波振蕩的最基本條件。振蕩系統(tǒng)是指一能夠在某個范圍內(nèi)不斷重復(fù)變化的系統(tǒng),例如彈簧質(zhì)點(diǎn)系統(tǒng)、電路中的LC振
    的頭像 發(fā)表于 03-01 11:26 ?1760次閱讀

    產(chǎn)生焊接電弧的必要條件是什么

    產(chǎn)生焊接電弧的必要條件主要包括以下三方面:電源條件、電極條件和工件條件。 電源條件 焊接電弧的
    的頭像 發(fā)表于 02-27 11:33 ?1401次閱讀

    單片機(jī)最小系統(tǒng)能夠運(yùn)行起來的必要條件

    單片機(jī)最小系統(tǒng)能夠運(yùn)行起來的必要條件: 一、硬件方面的必要條件 單片機(jī)芯片:單片機(jī)最小系統(tǒng)需要選擇一款適合項(xiàng)目需求的單片機(jī)芯片。常用的單片機(jī)芯片有51系列、AVR系列、STM32系列等,選擇單片機(jī)
    的頭像 發(fā)表于 01-15 09:34 ?1293次閱讀

    鴻蒙Harmony是如何影響Android工程師的呢?

    迅猛,目前已經(jīng)有包括社交、金融、影音、游戲、資訊、食品等多個領(lǐng)域的企業(yè)以及開發(fā)者加入鴻蒙的生態(tài)建設(shè)中,可以說是日常工作生活的各個領(lǐng)域全面展開。 為什么會影響Android開發(fā)工程師? 因?yàn)樽詮娜A為
    發(fā)表于 01-14 22:14

    程序員表白程序

    電子發(fā)燒友網(wǎng)站提供《程序員表白程序.rar》資料免費(fèi)下載
    發(fā)表于 11-21 10:41 ?16次下載
    <b class='flag-5'>程序員</b>表白<b class='flag-5'>程序</b>

    嵌入式程序員應(yīng)知道的幾個基本問題

    電子發(fā)燒友網(wǎng)站提供《嵌入式程序員應(yīng)知道的幾個基本問題.pdf》資料免費(fèi)下載
    發(fā)表于 11-20 11:21 ?0次下載
    嵌入式<b class='flag-5'>程序員</b>應(yīng)知道的幾個基本問題