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

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

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

理想中的程序員

工程師人生 ? 來源:工程師吳畏 ? 2019-08-15 16:30 ? 次閱讀

我算是靠坑蒙拐騙進了程序員的門,然后一路狂奔。26歲之前幾乎沒有任何寫代碼的經(jīng)驗,研究生畢業(yè)卻意外選擇了一家不可能提供培訓(xùn)的初創(chuàng)公司,在每日擔(dān)憂公司倒閉、害怕被炒魷魚以及同事冷落白眼的三重壓力下逆流而上,一年半后離職,已是擁有500萬用戶產(chǎn)品的后臺主程。從前我對計算機技術(shù)心懷畏懼,認(rèn)定技術(shù)高人一定有佛光籠罩,晝夜不息運鍵如飛日吐代碼上萬行?,F(xiàn)在也算見過一些世面了,回首那段忐忑不安宛如初夜的過程,我卻不發(fā)覺有任何的勵志意味,而是視為一種理所當(dāng)然。理想的程序員,和理想的建筑師、理想的財務(wù)師、理想的按摩師沒有任何的差別,他們本質(zhì)上都是一群手藝人。我相信理想的程序員人人皆可成為。

近三年總在互聯(lián)網(wǎng)圈廝混,我認(rèn)識過一些程序員、共事過一些程序員、領(lǐng)導(dǎo)過一些程序員、又面試過一些程序員。他們學(xué)歷不同,有的來自北大,有的來自北大青鳥,有的是博士,有的是高中肄業(yè);資歷也不同,有的來自 BAT,有的來自某破產(chǎn)基金公司(還是一個銷售);年限也從0到15年不等。但我認(rèn)為程序員只需分三類:天才的程序員、理想的程序員、平庸的程序員。天才的程序員我只敢說接觸過3個,這是天命7分由你是顆精子的時候就已決定,擁有絕佳的數(shù)學(xué)天賦、冷靜致密的邏輯、為解決難題寧愿不眠不休而深以為樂的技術(shù)熱情;3分來自起步要早早早,恨不得同齡人玩泥巴的時候就得開始玩電腦,大學(xué)畢業(yè)前就突破一萬小時法則,后面的已是游戲人生。

天才的程序員可遇不可求,更不能長有,我看到的90%仍是平庸的程序員。IT時代的膨脹,已讓程序員如同文藝復(fù)興時的印刷匠一樣的普通,多數(shù)投入祖師爺門下的人,僅是為了更大的飯碗、更高的待遇、更好的生計。平庸的程序員編寫腐爛的代碼,沒有規(guī)范和一致性,固守舊世界的語言,還好談?wù)摯蟮募軜?gòu)和性能,說的比做的漂亮。而毫無例外的,他們認(rèn)定技術(shù)沒有出路,做產(chǎn)品、營銷和管理的是更高大上的手藝,而他們當(dāng)中的99%,又會自然流露出自己恰巧具備了那方面的天賦,至于進程為什么會崩潰這樣的小問題是不屑于去了解的。

而我最喜歡和理想的程序員相處,恨不得與他們同吃同住,如果允許,我希望我的隊伍能插滿他們的旗幟。理想的程序員心眼兒不壞(他們從來都不是辦公室政治的寵兒,是一群單純明亮快樂的手藝人),有天真爛漫的好奇心(他們的眼睛里經(jīng)常閃著「哇,這個是怎么做到的!」),永遠(yuǎn)精益求精(他們的口頭禪是「我再研究一下」),還樂于分享(他們活躍于GitHub、各大問答社區(qū)和你的身邊,舍得將寶貴時間用于幫助新手)。是的,他們不需要被管理,只需要給一個大的方向,總能回報以意想不到的結(jié)果。

理想的程序員與平庸的程序員只有一墻之隔。兩者的差距只有6個一點點,而人與人的差距,正是在這日積月累的一點點中,被永遠(yuǎn)拉開了。有意思的是,我發(fā)現(xiàn)這6個一點點都和意識有關(guān),也就是程序員和其他一切新興產(chǎn)業(yè)的工種一樣,只需要意識加上時間的錘煉,人人皆可達到理想的階段。理想的程序員必然也是一個優(yōu)秀的problem solver。

第 1 個一點點:專注眼下

見過太多心猿意馬的程序員,我不得不把「專注眼下」作為天字第一條。他們往往有各式各樣的小夢想,比如做個小茶農(nóng)、做個小鵝販、做產(chǎn)品、做銷售、做投資,卻被程序員的高薪或是沒有轉(zhuǎn)行的魄力「耽誤」了,而因為不專注,他們不在意做好自己的本分,不在意錘煉自己的技能,不在意學(xué)習(xí)新興的技術(shù)。不可否認(rèn),這世界上存在著偉大的產(chǎn)品(像喬老爺)、偉大的銷售(像埃里森)、偉大的投資客(像彼得菲),而他們毫無例外都是程序員出身。可你聽說過巴菲特評價蓋茨的話么,比爾蓋茨如果轉(zhuǎn)行去賣狗,那他一定是全世界最大的狗販。我堅信除了少數(shù)的天才外,冥冥眾生均可以在多個領(lǐng)域取得成功,只要保持足夠的專注。而哪怕你下一年就想賣狗去,程序員的經(jīng)驗仍然能訓(xùn)練你強大的邏輯、謹(jǐn)慎和耐心,放在哪個行業(yè)都是相當(dāng)可觀的競爭力。

第 2 個一點點:思考力與推動力

我認(rèn)為處理bug、崩潰、調(diào)優(yōu)、入侵等突發(fā)事件比編程本身更能體現(xiàn)平庸程序員與理想程序員的差距。當(dāng)面對一個未知的問題時,如何定位復(fù)雜條件下的核心問題、如何抽絲剝繭地分析問題的潛在原因、如何排除干擾還原一個最小的可驗證場景、如何抓住關(guān)鍵數(shù)據(jù)驗證自己的猜測與實驗,都是體現(xiàn)程序員思考力的最好場景。是的,在衡量理想程序員的標(biāo)準(zhǔn)上,思考力比經(jīng)驗更加重要。

有時候小伙伴跑過來,問我「提交了一個任務(wù)被卡住了,怎么辦」的時候,我總覺得他可以做得更好。比如,可以檢查試驗別的任務(wù),以排除代碼自身的原因;可以通過Web UI檢查異常(如果沒有賬號,可以讓我提供);可以排查主機日志或刪除緩存,再不濟,總應(yīng)該提供任務(wù)ID和控制臺日志給我。理想的程序員永遠(yuǎn)不會等事情前進,他們會用盡一切方法讓事情前進。

第 3 個一點點:Never Say No

記得從前廠離職之前,找老板談話,他說我最大的優(yōu)點就是從來不和他說這個做不到。后來我發(fā)現(xiàn)在很多團隊里,都存在一種技術(shù)和產(chǎn)品的對立,程序員往往以「技術(shù)上無法實現(xiàn)」來擋產(chǎn)品的需求,而產(chǎn)品也往往以「Facebook可以為什么我們做不到」來奚落程序員。這兩句話應(yīng)該屬于禁語,從根本上都不利于程序猿和產(chǎn)品狗的相親相愛。

一句「技術(shù)上無法實現(xiàn)」是容易出口,可有多少人在說出這句話的時候,心里是100%肯定的?如果不肯定,為什么不能回去谷歌一下再回答?原本我以為程序員是充滿想象力,因為有想象力,才能誕生那么多改變我們生活的軟件和互聯(lián)網(wǎng)產(chǎn)品。見識多了,才了解大部分程序員已經(jīng)在與bug的對抗中變得保守而不愿擔(dān)當(dāng)風(fēng)險,與此同時許多團隊也不愿意寬容失敗。于是「Say No」變成一種習(xí)慣性的抵觸,還記得曾國藩為什么解散湘軍么?他說那支軍隊已「暮氣漸深」,不能打仗了。要做理想的程序員,就不能給自己滋生暮氣的機會,如果面對不合理的需求,可以把時間成本擺出來,把曲線救國方案亮出來,簡單粗暴「Say No」是不可取的。

第 4 個一點點:投資未來

程序員是一個非常殘忍的職業(yè)。你所學(xué)所用的語言、框架、模式,很可能在數(shù)年內(nèi)就成昨日黃花了;你現(xiàn)在嘲笑的另一群程序員,可能馬上就能轉(zhuǎn)身來嘲笑你了。所以理想的程序員除了做好自己的本分,還要花費時間來投資未來。什么是「投資」?投資就是你現(xiàn)在投入的時間,在未來會以更多的時間或者金錢(看看早幾年學(xué)習(xí)iOS的程序員現(xiàn)在的薪酬!)回報你。舉我自己的領(lǐng)域——數(shù)據(jù)挖掘為例,08年左右Hadoop開始興起,一時「大數(shù)據(jù)」概念火熱,Hadoop工程師萬金難求,各互聯(lián)網(wǎng)公司紛紛把數(shù)據(jù)統(tǒng)計、數(shù)據(jù)分析和數(shù)據(jù)挖掘的業(yè)務(wù)切換到分布式平臺上。這幾年眼看Hadoop還在不斷迭代,Spark又異軍突起,一舉刷新了Hadoop保持的排序記錄,以內(nèi)存存儲中間數(shù)據(jù)帶來的性能優(yōu)勢和豐富的數(shù)據(jù)結(jié)構(gòu)讓人愛個不停,各種奇異的小bug和陡峭的學(xué)習(xí)曲線又讓人打退堂鼓。那么,明眼人都知道Spark是未來的趨勢(內(nèi)存會越來越便宜),在主業(yè)務(wù)放在Hadoop的條件下,就可以適當(dāng)把一些小模塊切換到Spark上,同時留意Spark社區(qū)的發(fā)展,很快從Spark獲得的性能收益就能把之前投入的學(xué)習(xí)時間掙回來。

第5個一點點:善用工具

善用工具可以分為 4 個層面:搜索引擎、不相信重復(fù)、代碼片段、自動化。

我剛?cè)胄心菚?,一個計算機專業(yè)卻當(dāng)了公務(wù)員的朋友問我,你一點都沒學(xué)過編程,平時怎么寫代碼?我說,谷歌,于是遭到無情的恥笑,以至于我在哪里的賬號都叫 2shou,告誡自己是一個無恥的二手程序員。這是一個笑話,但如果現(xiàn)在問我,我還是要回答谷歌。程序員的成長就像膨脹的圓餅,外面是無邊無際的大海,圓餅越大,與大海接觸的面也越大,懂的越多,不懂的越多,而計算機科學(xué)又是一門更新?lián)Q代異常迅速的學(xué)科,同時也是知識互聯(lián)網(wǎng)化最好的學(xué)科,很難利用傳統(tǒng)的科班式有教有學(xué)的方法,相反通過搜索引擎則很容易獲取到最新的知識。

不相信重復(fù),大師的話叫DRY原則(Don‘t repeat yourself),代碼寫多了,會有人為的直覺判斷好的和爛的代碼,我的標(biāo)準(zhǔn)是簡潔和規(guī)范,簡潔并不是美感上的標(biāo)準(zhǔn),重復(fù)越少,給自己出錯的機會也越少,后期維護的成本也越少。

如果你不幸丟了三周前的代碼,也許你能憑著過人的記憶力把腦子里殘余的片段復(fù)寫出來,但如果丟的是三個月前的代碼,恐怕就沒有那么好的運氣了。理想的程序員會著力找尋有效的資料保存方式,把工作里靈光閃現(xiàn)寫下的代碼、腳本、配置、經(jīng)驗等短的片段保存起來,以便任何時候都能復(fù)查。

理想的程序員必須懶惰。對他們來說,重復(fù)的步驟和重復(fù)的代碼一樣丑陋,如果意識到一項工作有可能長期要重復(fù),那么自動化的時間總是越早越好。

第6個一點點:管理時間

之所以管理時間會對程序員這個行當(dāng)特別重要,是因為在完成任務(wù)時你必須像荒野里的狼一樣,「獨行」。沒有外界約束的情況下還能穩(wěn)定控制自己,保證能高效率地工作和學(xué)習(xí),那么日積月累你肯定會變得比一般人厲害。

程序員干的是高強度的腦力活,一般每天集中4-5個小時應(yīng)對本職工作就足夠了,但工作之外,一定要安排時間用于學(xué)習(xí)。除了學(xué)習(xí),留點時間放空自己也是必要的,利用泡茶或者喝咖啡的間隙,把彌足珍貴的時間留給自己,往前想往后想,事半功倍。

說了這么多,想必有人會問,費勁心思成為一個理想的程序員,又有什么用處?會有高薪嗎?不。能升職嗎?也不見得。迎娶白富美呢?不如去賣狗。

稻盛和夫曾經(jīng)說過一個故事,明治時期的手藝人被天皇召見,雖然都是不讀書的鄉(xiāng)下人,但一輩子兢兢業(yè)業(yè)地做一件事情,自然有一股高貴的氣質(zhì)。理想的程序員,應(yīng)該就是循著這種高貴的氣質(zhì)而去的吧!

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

    關(guān)注

    4

    文章

    953

    瀏覽量

    29836
收藏 人收藏

    評論

    相關(guān)推薦

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現(xiàn)了全面升級。現(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?283次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?0次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發(fā)表于 11-30 10:34 ?505次閱讀

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

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

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

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

    場精彩活動將輪番上演。超200名海內(nèi)外技術(shù)人員圍繞人工智能、數(shù)據(jù)技術(shù)等前沿領(lǐng)域展開深入研討。 本屆1024程序員節(jié)機器人與具身智能、大模型等主題引發(fā)熱烈討論;程序員、開發(fā)者如何利用生成式AI提升開發(fā)效率被重點關(guān)注。
    的頭像 發(fā)表于 10-25 15:42 ?234次閱讀

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

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

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    大模型時代,程序員當(dāng)下如何應(yīng)對 AI 的挑戰(zhàn)

    隨著 AI 技術(shù)的飛速發(fā)展,特別是大模型的出現(xiàn),傳統(tǒng)的程序員角色正在經(jīng)歷深刻的變革,我們不得不重新對自己進行審視和思考。 通用領(lǐng)域大模型的“泛化能力” 在過去的二十年內(nèi),AI 領(lǐng)域的大部分研究
    的頭像 發(fā)表于 06-28 16:19 ?584次閱讀
    大模型時代,<b class='flag-5'>程序員</b>當(dāng)下如何應(yīng)對 AI 的挑戰(zhàn)

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

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

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

    花期太短。技術(shù)迭代快,年齡大容易失業(yè)。 就這幾年的互聯(lián)網(wǎng)環(huán)境而言,不管是前端、Java、Android開發(fā)等等行業(yè)。已經(jīng)感受到程序員不是太卷就是工作難找,薪資過低。以前高工現(xiàn)在拿著中低程序員薪資
    發(fā)表于 03-06 21:32

    瑞薩Flash程序員V3 發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說明.pdf》資料免費下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說明

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?861次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝