91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

普通工程師和優(yōu)秀工程師的差距在哪兒

工程師人生 ? 來(lái)源:工程師吳畏 ? 2019-05-29 16:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我相信每個(gè)工程師都曾懷揣一個(gè)成為技術(shù)大牛的夢(mèng)想,可是真正走向技術(shù)大牛這條路的少之又少。工作中我們常常會(huì)發(fā)現(xiàn),有些同學(xué)工作沒(méi)幾年但成長(zhǎng)迅速;很快就能走向團(tuán)隊(duì)核心崗位,成為一名優(yōu)秀的工程師;而有些同學(xué)工作幾年后卻在公司里默默無(wú)聞,能力和職位上都沒(méi)有太大提升,得過(guò)且過(guò)最終淪為一名普普通通的碼農(nóng)。所以我常常會(huì)有感慨,太多人(包括我自己)真的只不過(guò)是用一兩年的經(jīng)驗(yàn)在職場(chǎng)上混了五年十年甚至更久。

那么普通工程師和優(yōu)秀工程師到底差距在哪兒?那些優(yōu)秀工程師是怎么一步一步成長(zhǎng)起來(lái)了的呢?以下就我自己的觀察和思考來(lái)談一談,看看能不能一探究竟,了解通向優(yōu)秀工程師的法門(mén);然后與大家共勉,一起朝著優(yōu)秀工程師的方向去努力。

差距在哪兒?

我們拿吳軍老師在得到專欄中講解的一道 Google 面試題來(lái)展開(kāi)聊一聊,看看面對(duì)同樣的問(wèn)題,普通工程師和優(yōu)秀工程師是如何思考解決問(wèn)題的。

問(wèn)題如下:如何設(shè)計(jì)一個(gè)地圖功能,找到離當(dāng)前最近的加油站?

在最近公司的招聘面試過(guò)程中,我也拿類似的問(wèn)題去問(wèn)過(guò)部分候選人,大部分候選人都把問(wèn)題想的太簡(jiǎn)單。通常普通工程師給出的解決方案是:根據(jù)經(jīng)緯度算出所有加油站到當(dāng)前位置的距離,然后對(duì)這些加油站按照距離的遠(yuǎn)近進(jìn)行排序,選擇距離最近的幾個(gè)加油站。

可問(wèn)題是,在路面上行駛,從 A 點(diǎn)通往 B 點(diǎn),往往不是直線距離。因?yàn)闊o(wú)論是駕車還是步行,我們都不可能穿過(guò)建筑直達(dá)目的地,A 點(diǎn)到 B 點(diǎn)的距離是很多距離片段的組合,這可能會(huì)有上千種組合,那么如何從這上千種組合的路線中選擇距離最近的一條路線呢?使用動(dòng)態(tài)規(guī)劃算法能夠很好的解決這個(gè)問(wèn)題,在上千種組合中只需幾十個(gè)步驟就能計(jì)算出最短路線。這對(duì)部分工程師已經(jīng)是個(gè)門(mén)檻了。

接下來(lái)就需要按照距離排序,找到最近的幾個(gè)加油站。

絕大部分工程師面對(duì)這樣的問(wèn)題都會(huì)想到排序,排序當(dāng)然能夠解決問(wèn)題,但并不是最優(yōu)方案。就算使用效率最高的快速排序,也需要 N 乘 LogN 的計(jì)算量。假設(shè)城市里有 1000 個(gè)加油站,那么 LogN 約等于 10,也就是說(shuō)計(jì)算的復(fù)雜度差不多是 1000,當(dāng)然 1000 的計(jì)算量對(duì)于計(jì)算機(jī)算不上什么,但是考慮到一個(gè)城市的路面上可能有上百萬(wàn)輛行駛的汽車,這個(gè)計(jì)算量的消耗就很可觀了。

假設(shè)我們只需要最近的 5 個(gè)加油站,如果對(duì)所有的加油站排序那顯然做了很多無(wú)用功。數(shù)據(jù)結(jié)構(gòu)中有一種叫二叉樹(shù)的數(shù)據(jù)結(jié)構(gòu),在二叉樹(shù)中有一種更細(xì)的分類:“堆”,通過(guò)堆排序我們可以只用排出前幾名,而不用管后面的名次。通過(guò)堆排序排出第一名的時(shí)間復(fù)雜度是N,排出第二名、第三名、第四名、第五名的時(shí)間復(fù)雜度都 LogN,比對(duì) 1000 個(gè)加油站排序要快的多。對(duì)于我們的需求:選出最近的 5 個(gè)加油站,差不多只需要 1000 的計(jì)算量,比快速排序快了近 10 倍。

到這里你是不是覺(jué)得問(wèn)題已經(jīng)解決的很完美了?

我們?cè)诮鉀Q問(wèn)題的時(shí)候不由自主的做了一個(gè)假設(shè),就是整個(gè)算法的優(yōu)化過(guò)程是圍繞一個(gè)使用者的某一次使用來(lái)進(jìn)行的。但是在現(xiàn)實(shí)生活中,一個(gè)城市里有很多人會(huì)同時(shí)在不同的地方尋找加油站。類似的,同一個(gè)人在不同的時(shí)間不同的地點(diǎn)開(kāi)車時(shí)也需要尋找加油站??紤]到這個(gè)現(xiàn)實(shí)場(chǎng)景,時(shí)時(shí)刻刻都有很多人在不停的尋找附近的加油站,那么很多計(jì)算其實(shí)是可以預(yù)先算好的,等到提供服務(wù)的時(shí)候直接把結(jié)果調(diào)出來(lái)就好了,避免重復(fù)計(jì)算。

比如我們可以把上海市所有路口點(diǎn)到點(diǎn)的距離事先計(jì)算好,當(dāng)一個(gè)人要找加油站的時(shí)候,距離的計(jì)算就不再需要實(shí)時(shí)地采用動(dòng)態(tài)規(guī)劃來(lái)計(jì)算了,只需要計(jì)算從當(dāng)前位置出發(fā)到附近幾個(gè)路口的距離,再計(jì)算下某個(gè)加油站到它所在地附近路口的距離,由于各個(gè)路口點(diǎn)到點(diǎn)的距離是事先計(jì)算好的,因此做幾次簡(jiǎn)單的加法即可,這樣計(jì)算距離的時(shí)間就能省幾十倍。這就是對(duì)上面的問(wèn)題進(jìn)行了全局優(yōu)化的好處。

其實(shí)面對(duì)這樣的問(wèn)題,優(yōu)秀的工程師并不會(huì)遇到問(wèn)題就直接著手去解決,而是會(huì)更全面的去考慮問(wèn)題。比如會(huì)考慮到目前的行車方向,比如在解決問(wèn)題中其實(shí)距離要求并不需要太精準(zhǔn),因?yàn)閷?duì)于開(kāi)車的人來(lái)說(shuō) 2.5 公里和 2.3 公里其實(shí)并沒(méi)有什么差別,再考慮到道路擁堵的情況,200 米的距離更加可以忽略不計(jì)了。但如果是行人要尋找附近的便利店,200 米的距離就不得不考慮了。

那么從上述這個(gè)問(wèn)題的解決上我們能看出普通工程師和優(yōu)秀工程師的差距在哪兒呢?

1. 優(yōu)秀的工程師必然有著扎實(shí)的計(jì)算機(jī)基礎(chǔ)知識(shí),很好的掌握了如數(shù)據(jù)結(jié)構(gòu)、算法這些工具,能夠在工作中借助這些工具幫助自己解決問(wèn)題;

2. 優(yōu)秀的工程師會(huì)盡量避免做無(wú)用功

3. 優(yōu)秀的工程師不會(huì)只滿足于完成任務(wù),他們會(huì)不斷的去思考探索最佳的解決方案;

4. 優(yōu)秀的工程師不會(huì)被思維所局限,考慮問(wèn)題更加全面,懂得從全局角度優(yōu)化解決方案。

從這個(gè)例子我們也能看出來(lái),一個(gè)優(yōu)秀工程師解決問(wèn)題的性能可能是普通工程師的幾百上千倍,一個(gè)優(yōu)秀的解決方案甚至能幫助公司節(jié)省幾百萬(wàn)的服務(wù)器費(fèi)用。

因此,在軟件工程領(lǐng)域一百個(gè)臭皮匠也頂不了一個(gè)諸葛亮!

做為普通工程師的我們?nèi)绾翁嵘约海?/p>

學(xué)好數(shù)據(jù)結(jié)構(gòu)、算法、操作系統(tǒng)原理、計(jì)算機(jī)體系結(jié)構(gòu)等基本功,打好基礎(chǔ)。

如果你是天才,面對(duì)像上面這樣的問(wèn)題,即使你沒(méi)有學(xué)過(guò)計(jì)算機(jī)理論知識(shí),即使你不知道動(dòng)態(tài)規(guī)劃、二叉樹(shù)、堆排序,可能也能依靠智力上的優(yōu)勢(shì)解決。但遺憾的是絕大多數(shù)人都不是天才,因此在解決問(wèn)題的時(shí)候就需要借助各種工具以便事半功倍。對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),數(shù)據(jù)結(jié)構(gòu)、算法以及各種數(shù)學(xué)知識(shí)就是我們手上的工具。

要成為優(yōu)秀的工程師需要我們靜下來(lái),沉下去,老老實(shí)實(shí)的吃透你所做的項(xiàng)目。做好簡(jiǎn)單的事,才有機(jī)會(huì)去做更有挑戰(zhàn)的工作。

很多工程師會(huì)抱怨自己一直在做業(yè)務(wù),沒(méi)什么挑戰(zhàn),感覺(jué)不到成長(zhǎng)??墒聦?shí)真的是這樣嗎?往往我們的業(yè)務(wù)需求就像這道面試題,看似簡(jiǎn)單其實(shí)想要做好,背后需要下很大功夫。就算平時(shí)做的業(yè)務(wù)真的很簡(jiǎn)單,我們是不是還可以想想,我的代碼實(shí)現(xiàn)是否有更好的方式?面對(duì)類似的業(yè)務(wù)我的效率是否可以提升?線上出 Bug 了是否可以采集到線上 Log 快速定位并解決問(wèn)題?你對(duì)自己開(kāi)發(fā)的項(xiàng)目中用到的各種框架是否真的理解其原理,是否真的去翻過(guò)代碼學(xué)習(xí)過(guò)這些優(yōu)秀框架的實(shí)現(xiàn)?就拿 Android 開(kāi)發(fā)來(lái)說(shuō),各種開(kāi)源框架如 RxJava、Retrofit、OKHttp、ORM框架、熱修復(fù)框架、插件化框架等等,如果你真的去認(rèn)真學(xué)習(xí)過(guò)一遍,我相信已經(jīng)遠(yuǎn)超行業(yè)里 90% 的工程師了。

同時(shí)在工作中要有不怕吃虧的心態(tài),主動(dòng)去承擔(dān)更多的職責(zé);做的更多往往也意味著接受了更多的挑戰(zhàn),獲得了更多的鍛煉機(jī)會(huì)。

利用碎片時(shí)間系統(tǒng)化學(xué)習(xí)

很多人反對(duì)碎片化學(xué)習(xí),但我并不完全認(rèn)同這種看法。碎片化的時(shí)間既可以用來(lái)碎片化的學(xué)習(xí),也可以用來(lái)做系統(tǒng)化的學(xué)習(xí)。很多人都指望能夠有一天,有一大片的時(shí)間,好好的、系統(tǒng)化的把計(jì)算機(jī)知識(shí)惡補(bǔ)一遍。所以買了算法導(dǎo)論、深入理解計(jì)算機(jī)系統(tǒng)等等經(jīng)典書(shū)籍放在家里,等著有一天能夠有一大片時(shí)間,沐浴更衣、正襟危坐來(lái)好好學(xué)習(xí)。但是學(xué)了不久很快又被其它事打斷了,結(jié)果下一次又重新再來(lái)。最后往往只是把一本書(shū)的前幾十頁(yè)反復(fù)看了好多遍,其實(shí)這種才是真正的碎片化學(xué)習(xí)。

而所謂的利用碎片化時(shí)間系統(tǒng)化的學(xué)習(xí)是指制定好完善的學(xué)習(xí)計(jì)劃,利用好每一個(gè)碎片時(shí)間,比如上下班的路上、等公交的時(shí)間、坐地鐵的時(shí)間、排隊(duì)的時(shí)間,甚至是蹲馬桶的時(shí)間來(lái)按計(jì)劃的、體系化的學(xué)習(xí)提高。

持續(xù)學(xué)習(xí),堅(jiān)持閱讀,保持輸出

技術(shù)更新迭代太快,而計(jì)算機(jī)科學(xué)之復(fù)雜也遠(yuǎn)不是在學(xué)校的幾年學(xué)習(xí)就能完全學(xué)透的,這就要求我們保持持續(xù)學(xué)習(xí)。但往往很多人走出校門(mén)后就再也沒(méi)有正兒八經(jīng)的學(xué)習(xí)過(guò)、沖過(guò)電,這也是為什么我們畢業(yè)后會(huì)被那些優(yōu)秀的工程師越甩越遠(yuǎn)的原因。而我認(rèn)為最好的持續(xù)學(xué)習(xí)的方式就是堅(jiān)持閱讀了。你們看!優(yōu)秀的工程師就算是掛著鹽水也要堅(jiān)持閱讀的!?。????

另外學(xué)過(guò)的知識(shí)只有輸出出來(lái)了,才是真正的學(xué)到肚子了。向別人講述知識(shí)、寫(xiě)作等都是很好的知識(shí)輸出方式。

鍛煉自己的綜合能力

要成為一名優(yōu)秀的工程師,光有過(guò)硬的技術(shù)是不夠的。出色的完成一項(xiàng)工作往往考研的是一個(gè)人的綜合能力。良好的表達(dá)能力、出色的會(huì)議組織能力、事情的推動(dòng)能力、個(gè)人的成熟度等等都是需要我們?cè)诠ぷ髦腥タ桃獾呐囵B(yǎng)和鍛煉的。拿表達(dá)能力來(lái)說(shuō),如果覺(jué)得自己表達(dá)上有所欠缺,就可以通過(guò)寫(xiě)作、主動(dòng)在團(tuán)隊(duì)內(nèi)做技術(shù)分享等等方式來(lái)鍛煉自己。有時(shí)候,不逼自己一把你都不知道自己到底有多棒!

寫(xiě)在最后

作為一個(gè)技術(shù)上的菜鳥(niǎo),寫(xiě)這樣的文章實(shí)在是有點(diǎn)慚愧。且算是給自己定個(gè)基調(diào),與大家共勉好了,這樣也能督促自己不斷進(jìn)步。

哦,對(duì)了!還有一點(diǎn)?。?!優(yōu)秀的工程師是不會(huì)抱著手機(jī)抖音一刷一晚上的。???

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

    關(guān)注

    59

    文章

    1603

    瀏覽量

    71069
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    硬件工程師甩鍋排行榜 #電子 #電子工程師 #硬件工程師 #甩鍋的各種理由 #揚(yáng)興科技

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2026年03月06日 18:30:55

    什么是BSP工程師

    一、嵌入式系統(tǒng) 要明白什么是嵌入式軟件工程師,我們先從嵌入式系統(tǒng)(嵌入式設(shè)備)說(shuō)起。維基百科上對(duì)嵌入式系統(tǒng)的定義如下: 嵌入式系統(tǒng)(Embedded System),是一種嵌入機(jī)械或電氣系統(tǒng)內(nèi)部
    發(fā)表于 01-13 06:54

    硬件工程師都在逛的7個(gè)論壇你都知道嗎? #科普 #電子 #硬件工程師 #電子愛(ài)好者

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年12月25日 18:32:00

    (仰天長(zhǎng)嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達(dá)半導(dǎo)體 #電子工程師

    電子工程師
    MDD辰達(dá)半導(dǎo)體
    發(fā)布于 :2025年04月27日 18:21:47

    問(wèn),成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚(yáng)興科技 #搞笑

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年04月25日 17:15:37

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚(yáng)興科技

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年03月25日 17:30:51