許多程序員自稱碼農(nóng),因?yàn)槊刻焓虑榭傄沧霾煌辏@些工作也沒(méi)有給自己帶來(lái)職業(yè)上的提升,總在原地打轉(zhuǎn),自己的工作似乎隨時(shí)可被新人替換,可有可無(wú)。于是,年輕些的考慮著轉(zhuǎn)管理或者轉(zhuǎn)行,年紀(jì)大些的則被所謂的40歲危機(jī)困擾焦慮著。另一方面,有些程序員工作高效,能力出眾,每當(dāng)機(jī)會(huì)來(lái)臨時(shí)總能獲得職位上升,收入迅速的提高,個(gè)人價(jià)值的提升又從精神上給自己帶來(lái)滿足感,常常斗志昂揚(yáng),而這樣能解決復(fù)雜問(wèn)題的程序員才叫工程師。本文中筆者將根據(jù)自己10多年從業(yè)經(jīng)歷談?wù)勅绾螐拇a農(nóng)升級(jí)到工程師。
事實(shí)上,互聯(lián)網(wǎng)行業(yè)的項(xiàng)目需求從來(lái)不是靜態(tài)的,項(xiàng)目是動(dòng)態(tài)的、永遠(yuǎn)在不停迭代,所以即使你能力再好效率再高,也不可能讓你處在空檔期,所以,相比其他行業(yè)程序員們總是很容易處于忙忙碌碌的狀態(tài)中。另一方面,項(xiàng)目里哪怕沒(méi)有新功能了程序員自身也有很大的欲望去優(yōu)化、重構(gòu)代碼,還是忙忙碌碌。
但是,到底客戶的問(wèn)題、行業(yè)的痛點(diǎn)有沒(méi)有真正解決?
項(xiàng)目給公司帶來(lái)多少收益?
我手頭的工作對(duì)公司下一步的發(fā)展有何意義?
這些通常不在程序員們的思考范圍:這與我何干?
我是專業(yè)寫代碼的,這些應(yīng)該由老板、產(chǎn)品經(jīng)理、運(yùn)營(yíng)、銷售、其他業(yè)務(wù)部門去考慮,我只需要精益求精把代碼寫好寫穩(wěn)定就可以了,我預(yù)留了許多擴(kuò)展接口,到時(shí)公司需要的話去擴(kuò)展模塊就行了,我何必要知道與我工作無(wú)關(guān)的事?這個(gè)想法其實(shí)是讓許多程序員始終停留在碼農(nóng)階段,與那些卓越的工程師同等辛苦,但待遇層次總是相差甚遠(yuǎn)的罪魁禍?zhǔn)住?/p>
吳軍老師在《見(jiàn)識(shí)》一書中把工程師定義為5個(gè)等級(jí),相鄰的等級(jí)間會(huì)有10倍的差距,而第五級(jí)工程師以下其實(shí)就是碼農(nóng)。
實(shí)際上,能夠到達(dá)第五級(jí),就已經(jīng)從碼農(nóng)提升為工程師了。比如,現(xiàn)在有一個(gè)任務(wù)需要實(shí)現(xiàn)一個(gè)功能子系統(tǒng),一個(gè)第五級(jí)工程師能夠與產(chǎn)品經(jīng)理深入挖掘需求及其到底是否解決了問(wèn)題,能夠用算法建模解決現(xiàn)實(shí)中的問(wèn)題,能夠獨(dú)立跨部門溝通獲取所需的資源及協(xié)調(diào)其他工程師的幫助,能夠正確的使用各種開(kāi)源組件保質(zhì)保量不重復(fù)造輪子,能夠解決開(kāi)發(fā)過(guò)程中出現(xiàn)的各種坑,按時(shí)交付出高質(zhì)量的產(chǎn)品,這才是一個(gè)合格的第五級(jí)工程師了。
碼農(nóng)離第五級(jí)工程師到底有多遠(yuǎn)呢?大家可以觀察下身周,碼農(nóng)往往溝通技巧欠缺,不愿深入理解需求的意義,不愿深入研究某個(gè)技術(shù)或者框架的意義,或者只是深入研究某些語(yǔ)法糖卻不考慮維護(hù)代價(jià),喜歡造輪子,只要接手別人的工作先不愿精讀代碼而是想著按自己最熟悉的方式重構(gòu),做到一半時(shí)各種困難下開(kāi)始退縮求助,于是交付時(shí)不斷的延期再延期。。。
成為一個(gè)合格的第五級(jí)工程師,需要哪些條件呢
1、要有欲望成為高階工程師!
無(wú)欲則剛,如果內(nèi)心就不大想成為一個(gè)高級(jí)工程師,那么肯定不愿付出更多的努力,肯定不會(huì)主動(dòng)的加班,也不會(huì)在不加班的時(shí)候腦袋里還在想著問(wèn)題和項(xiàng)目上的事,而加班或者正常上班時(shí)敷衍的時(shí)間比例很高。從低一級(jí)邁向高一級(jí)時(shí),若不愿意付出比同級(jí)人更多的努力,又談何升級(jí)呢?在任何領(lǐng)域,努力一定是成功的必要條件。
2、懂得做減法的學(xué)問(wèn)
事務(wù)性的工作總是非常多的,同時(shí)也會(huì)接到很多需求功能以及測(cè)試提交的bug,還有興趣愛(ài)好呢?!很多想看的演唱會(huì)、連續(xù)劇、電影等著你,還有許多朋友聚會(huì)應(yīng)酬要參加,還有朋友圈要刷刷,微博大V們的文章要讀讀,股票要炒炒,理財(cái)要學(xué)學(xué),游戲要玩玩,所以,忙忙碌碌里職業(yè)技能沒(méi)有得到一點(diǎn)增長(zhǎng)。
或者你效率奇高,但你要做的事太多了,效率不等于效能,效能是指完成的事情*事情的意義。事情要做到100%完成,而且必須是重要的事。既然你想成為高階工程師,那么請(qǐng)把不重要的事從你一天的計(jì)劃中移除吧。就像上圖中吳軍老師所說(shuō)的,每升級(jí)到下一級(jí),你的收入都將呈現(xiàn)10倍上漲的趨勢(shì),這收益遠(yuǎn)遠(yuǎn)大于你去做自己并不擅長(zhǎng)的炒股所獲取的收益(長(zhǎng)期來(lái)看)。而所謂的應(yīng)酬、各類資訊、個(gè)人愛(ài)好,并不是只要清楚的認(rèn)識(shí)到自己想要什么就能夠正確的做減法,這需要你的認(rèn)知升級(jí)。
而在Leader分配下來(lái)的任務(wù)里,也需要你準(zhǔn)確的判斷出優(yōu)先級(jí),一定要先把最重要的事百分百的完成。這需要你與leader間密切溝通,因?yàn)榧夹g(shù)管理者所掌握的信息量遠(yuǎn)大于你,而且信息在時(shí)刻變化著,他那里的信息及時(shí)度也超過(guò)你,唯有從你的上級(jí)那里才能快速的了解到工作的優(yōu)先級(jí)。這也需要與產(chǎn)品經(jīng)理、上下游部門間密切溝通,這樣你才能準(zhǔn)確的了解到你的工作對(duì)別人的意義,這也有助于你判斷優(yōu)先級(jí),總之,做減法是一門學(xué)問(wèn)。
3、有效的做到10000小時(shí)定律
一萬(wàn)小時(shí)定律是作家格拉德威爾在《異類》一書中指出的定律。“人們眼中的天才之所以卓越非凡,并非天資超人一等,而是付出了持續(xù)不斷的努力。1萬(wàn)小時(shí)的錘煉是任何人從平凡變成世界級(jí)大師的必要條件。”他將此稱為“一萬(wàn)小時(shí)定律”。要成為某個(gè)領(lǐng)域的專家,需要10000小時(shí),按比例計(jì)算就是:如果每天工作八個(gè)小時(shí),一周工作五天,那么成為一個(gè)領(lǐng)域的專家至少需要五年。這就是一萬(wàn)小時(shí)定律。
顯然,并不是任何人在一個(gè)領(lǐng)域工作五年就能成為大師的。有效的做到這一萬(wàn)小時(shí)的關(guān)鍵是,這一次的努力請(qǐng)最大程度的復(fù)用上一次努力的結(jié)果!例如當(dāng)下許多互聯(lián)網(wǎng)從業(yè)者一年就跳槽一次,先不談是不是應(yīng)該跳槽(如果只是想通過(guò)跳槽漲薪,而不是原公司沒(méi)有新的位置帶給自己職業(yè)發(fā)展,那就有問(wèn)題了),首先你能感覺(jué)到跳槽之后是在最大程度的復(fù)用上一家公司里自己的努力嗎?如果一切是在從頭開(kāi)始,包括新的開(kāi)發(fā)工具、新的技術(shù)棧、新的業(yè)務(wù)場(chǎng)景、新的產(chǎn)業(yè)鏈、新的合作關(guān)系、新的同事圈子等,那么很顯然十萬(wàn)小時(shí)也不夠成為專家的。
或者從另一個(gè)角度,有些人經(jīng)常換工具、框架、編程語(yǔ)言,如果你能夠在學(xué)新技術(shù)時(shí),始終感覺(jué)到與自己熟悉的技術(shù)一一對(duì)應(yīng),基于此能夠輕易的舉一反三,那么這就是在高效的復(fù)用上一次的努力。反之,或者你上一個(gè)技術(shù)還學(xué)得不到家,換了新技術(shù)后很難敏感的發(fā)現(xiàn)共通性,這就很糟糕。
4、抓住關(guān)鍵節(jié)點(diǎn)
當(dāng)我們手頭有許多小功能,或者與許多團(tuán)隊(duì)有交互時(shí),往往經(jīng)常被開(kāi)會(huì)、被溝通,事情也又雜又多。此時(shí),務(wù)必把手頭上的事在分好優(yōu)先級(jí)的基礎(chǔ)上,確認(rèn)每件工作的幾個(gè)關(guān)鍵節(jié)點(diǎn):完成時(shí)間點(diǎn),中期交付或者需要他人交付產(chǎn)品、文檔給你的時(shí)間點(diǎn),需要協(xié)調(diào)其他人啟動(dòng)的時(shí)間點(diǎn)等等。抓住了這些時(shí)間點(diǎn),往往一頭亂麻的事就自然理清了。當(dāng)我們的時(shí)間非常碎片化時(shí),一定要盡力抽出大塊整塊的時(shí)間,這能讓我們有時(shí)間思考,而且減少了任務(wù)切換的成本,而這依賴于很好的抓住關(guān)鍵節(jié)點(diǎn)。
5、常識(shí)的重要性
一個(gè)有志向的農(nóng)民和一個(gè)航空航天專業(yè)的畢業(yè)生都在做飛機(jī),其最大的不同在于常識(shí)。對(duì)于不同的程序員來(lái)說(shuō),常識(shí)并不相同。我有一些同事本不是計(jì)算機(jī)專業(yè),有些還是先做了幾年其他行業(yè)再轉(zhuǎn)過(guò)來(lái)做前端程序員。這樣,如算法復(fù)雜度、網(wǎng)絡(luò)模型等計(jì)算機(jī)科學(xué)體系里的基礎(chǔ)知識(shí)對(duì)于他們就不再是常識(shí),而常識(shí)通常是將事情做到50%程度的關(guān)鍵。常識(shí)的缺失會(huì)導(dǎo)致與同級(jí)程序員相比做事情事倍功半,這從長(zhǎng)期來(lái)看一定會(huì)讓你早早的觸及職業(yè)天花板,而補(bǔ)足常識(shí)的缺失相較起來(lái)還是比較容易的(畢竟這本不是什么尖端知識(shí)),但許多人長(zhǎng)年不愿在此下功夫。
6、有后勁兒
有些人工作年限越久,競(jìng)爭(zhēng)力越強(qiáng),職業(yè)上升空間很大,反例其實(shí)更多,而這種有無(wú)“后勁”在我看來(lái)其實(shí)關(guān)鍵在于有沒(méi)有科學(xué)的職場(chǎng)做事方法。比如習(xí)慣做乙方的外包程序員,轉(zhuǎn)到甲方開(kāi)始做產(chǎn)品時(shí),還是習(xí)慣于把產(chǎn)品當(dāng)成別人家的孩子,缺乏一種主人翁的精神,而在任何公司做任何產(chǎn)品,如果沒(méi)有一種把自己的產(chǎn)品當(dāng)孩子的感覺(jué),就很容易向其他人表現(xiàn)出喜歡推諉、不肯擔(dān)責(zé)任的特點(diǎn),而缺乏主動(dòng)精神往往導(dǎo)致項(xiàng)目前期準(zhǔn)備工作不足,后期疲于奔命。沒(méi)有主人翁精神,往往對(duì)整個(gè)研發(fā)鏈條自己這塊以外的部分不愿意了解,這樣沒(méi)有辦法管理好你的上游和下游,最終導(dǎo)致自己的工作困難重重,難出成績(jī)。
對(duì)自己的產(chǎn)品有主人翁精神,會(huì)讓自己保有一種使命感,進(jìn)而相對(duì)更敬業(yè)、更有激情,而這對(duì)團(tuán)隊(duì)是有正向激勵(lì)作用的。而且,有這種精神后,往往會(huì)想辦法把工作流程標(biāo)準(zhǔn)化,把知識(shí)分享給團(tuán)隊(duì)同事以提升團(tuán)隊(duì)的作戰(zhàn)能力,進(jìn)而讓產(chǎn)品更優(yōu)秀。自己的工作有一點(diǎn)提升,與同時(shí)帶動(dòng)其他同事有一點(diǎn)提升,這是有量級(jí)差別的。當(dāng)有晉升機(jī)會(huì)時(shí),主管們自然更偏愛(ài)把機(jī)會(huì)給這樣的同事。
結(jié)語(yǔ):職業(yè)發(fā)展的天花板在哪?許多人說(shuō)是需要認(rèn)知升級(jí),但這太抽象了。在我看來(lái),能做到以上6點(diǎn),從碼農(nóng)上升為優(yōu)秀的工程師(在所有互聯(lián)網(wǎng)公司都極受歡迎)并不在話下。
-
工程師
+關(guān)注
關(guān)注
59文章
1587瀏覽量
69216
發(fā)布評(píng)論請(qǐng)先 登錄
從“設(shè)計(jì)到生產(chǎn)”的蛻變:華秋DFM如何讓工程師們“輕松上陣”?
嵌入式軟件工程師就業(yè)好不好?

不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過(guò)于真實(shí) #YXC晶振 #揚(yáng)興科技
機(jī)械革命發(fā)布CODE AI程序員本
Linux驅(qū)動(dòng)程序程序員指南

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

AI編程工具會(huì)不會(huì)搶程序員飯碗
第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)開(kāi)幕

硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師
tlv3501正常工作有什么必要條件嗎?
產(chǎn)生暫態(tài)過(guò)程的必要條件以及原因
程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

評(píng)論