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

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

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

如何成為一名專家級開發(fā)工程師?

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

什么是“專家”?成為“專家”需要多長時間?

在我開始討論如何成為一名專家之前,我們一起來花上30秒時間,看看專家的定義,還有成為專家需要多長時間?

在使用某一技能三個月后,你還不是專家,即便使用時間是三年,你還不是。馬爾科姆·格萊德威爾在《 異類:不一樣的成功啟示錄 》一書中指出,成為一名真正的專家,需要10000小時。10000小時!如果一天用10小時,每天都學(xué)習(xí),則大概需要3年時間。如果一天5小時,一年學(xué)習(xí)200天,則大概需要10年時間。10年!

根據(jù)這一說法,我想起來,我曾在有3年開發(fā)經(jīng)驗時,自認為是一個專家級或高級開發(fā)人員。如今,在2010年我已有約10年經(jīng)驗,我已經(jīng)知道,自己已經(jīng)掌握多少東西,還有多少東西尚未知曉?,F(xiàn)在,我已覺得自己不再是一名專家了。

此外,在過去10年當(dāng)中,這一行業(yè)(Java企業(yè)級開發(fā))已經(jīng)發(fā)生了翻天覆地的變化,所以我過去掌握的技能,已不再“風(fēng)光”。所以,即便你是專家,你可能也會發(fā)現(xiàn)自己正在過時,不得不重頭開始。

還有一件事:你不可能是全才(即:各個領(lǐng)域的專家)。這也就是說,你或許在某一技能上比張三優(yōu)秀,但張三在另一技能上或許比你優(yōu)秀。你不可能在任何方面都比別人優(yōu)秀或比不上別人。你總是能從他人身上學(xué)到東西。(更不能因為別人使用的技術(shù)和你不同而去攻擊他人,只要別人不是一無是處,你就可以從他們那里學(xué)到很多東西。正所謂,“三人行必有我?guī)煛?。這也是《成為一名優(yōu)秀程序員所需要知道的那些事》之一)。我曾經(jīng)遇到過一些開發(fā)人員,他們總以為自己在全方面都比他人優(yōu)秀似的,即便事實并非如此。

事實上,這通常就是區(qū)分新手的一種方法。不管是在線上還是線下,新手總是相信自己知道一切,并會至始至終地爭辯。他們的爭辯相當(dāng)絕對,比如“這個總是比那個要好”,或“這就是解決事情的唯一方法”等。專家則幾乎不會那樣做。他們知道,一切事情取決于具體情況(也就是“具體情況,具體分析”),開發(fā)人員所掌握的技能,公司所選擇的工具,公司政策,個人喜好等等。沒有經(jīng)驗的開發(fā)人員(和普通人)一般都認為“世界是非白即黑”。而專家知道,世界還充滿了灰色區(qū)域,甚至還有其他大量顏色和色調(diào)。

如何成為一名專家

對于大多數(shù)你需要學(xué)習(xí)的技能,這里有四個步驟,以助你成為一名專家。在大多數(shù)情況下,你可以按照順序完成如下步驟,也可以從上至下重復(fù)如下步驟:

1. 學(xué)習(xí)技能;

2. 實踐技能;

3. 討論技能;

4. 傳授技能;

學(xué)習(xí)技能

在你掌握一門技能之前,你必須先學(xué)習(xí)相關(guān)理論。你可以通過書籍和教程,或課程教育,或綜合前面這些方法來學(xué)習(xí)理論。

實踐技能

一旦你掌握了技能相關(guān)理論,你需要在現(xiàn)實中運用該技能。通過實踐,你會知道你所學(xué)的理論,哪些地方正確,哪些地方有誤。當(dāng)然了,你在大學(xué)中所學(xué)到的理論,通常在現(xiàn)實中并不奏效,或者根本不適合你所處的環(huán)境。

討論技能

一旦你使用技能已有很長一段時間,并且發(fā)現(xiàn)自己能解決很多需要該技能的問題,那這時候你應(yīng)該和其他經(jīng)驗人士討論它了。討論使用該技能的最佳方法,技能相關(guān)理論的局限是什么,還可以增加什么東西等等。簡而言之,討論如何進一步推動該技能。(比如一個API,如何優(yōu)化/改進它等。)

傳授技能

向他人傳授技能,無疑是完善自身技能的一種好辦法??赡苡泻芏嗍虑橹活欀隽?,但并未考慮為什么要那樣做。因為必須(向他人)解釋你的方法,這會迫使你自己重新思索“為什么要做”和“做了什么”。

此外,你的技能上或許有些邊邊角角事從來都不需要掌握的。(比如,Web服務(wù)規(guī)范的邊邊角角)。因為要傳授自己的技能,這迫使你也要掌握這些空白了,這會讓你更上一層樓。

如何成為一名專家級的開發(fā)人員

既然我已經(jīng)談?wù)摿巳绾纬蔀橐幻毡橐饬x上的專家,我將進一步談?wù)撊绾纬蔀橐幻麑<壹壍拈_發(fā)人員。

作為一名開發(fā)人員,你將很可能在特定行業(yè)(至少有一段時間)做軟件開發(fā),使用特定的平臺。如果不是,如果你一直在選擇工具或行業(yè),就像一些Web開發(fā)人員一樣,那么你很可能將永遠不會成為一名真正的專家。你會成為萬金油或三腳貓(在某些方面還是挺有用)。如果你沒有專注某一平臺或行業(yè),而你又想成為一名專家,那你要學(xué)會專注了。

1998年,那是一個春天,我開始做Web應(yīng)用,開始了我的職業(yè)生涯。我發(fā)現(xiàn)自己一直在更換著工具,也就是說我并沒有真正擅長于某種工具。我只是一直在為新工具而戰(zhàn)。后來,我決定專注一門面向?qū)ο笳Z言和一個平臺,并選擇了Java。那時候還沒有.Net。所以從1999年開始,我一直只用Java。

在成長為專家的路上,你必須要選擇一個平臺,可能還有一個行業(yè)。行業(yè)并不特別重要,但擁有業(yè)務(wù)領(lǐng)域知識,這將真正增強你的實力。

在你學(xué)習(xí)一個平臺時,你可以選擇一門語言來入手。比如,Java語言。在你學(xué)習(xí)語言之后,則需要學(xué)習(xí)一個平臺(包括所有的API和工具)。在Java中,有兩大平臺:標(biāo)準(zhǔn)版(J2SE)和企業(yè)版(J2EE)。(編者注:還有微型版(J2ME))

一旦你開始掌握選擇的平臺,你應(yīng)當(dāng)開始學(xué)習(xí)獨立于平臺的技能,比如模式設(shè)計、分布式系統(tǒng)設(shè)計、系統(tǒng)機構(gòu)和可用性等等。在你取得進步時,你將要花更多的時間來學(xué)習(xí)這些技能。這是好事。因為這些技能不受平臺限制,更容易轉(zhuǎn)移新的技術(shù)平臺。

最后,你或許會脫離軟件開發(fā),轉(zhuǎn)入到諸如項目管理或架構(gòu)師的完全不同的業(yè)務(wù)領(lǐng)域。請謹記,一旦你停止使用你的開發(fā)技能,你的專家之路將更加長遠了。

下面有一張關(guān)于你的“專家之路”的圖表。你從最低端開始,逐層上升。藍色層表示獨立于平臺的技能。其他顏色層表示特定的平臺。即便下圖中并沒有你的平臺,你也可以自行添加。

如何成為一名專家級開發(fā)工程師?
(圖:“專家之路”:語言 -》 平臺 -》 獨立于平臺的技能)

你必須根據(jù)你所處的行業(yè)、所在的公司和所使用的平臺來填入具體的工具和技術(shù)等。這些事情,我無法一勞永逸地為各位一次性做好。

怎么知道自己該學(xué)習(xí)什么,查看招聘廣告不失為一個好辦法??纯醋畛S玫墓ぞ吆图夹g(shù)?閱讀一些在線軟件雜志,看看行業(yè)人士討論最多的技術(shù)是什么?泡相關(guān)論壇和博客,看看他們最常問的問題是什么?還有,人們談?wù)撟疃嗟募夹g(shù)是什么?總之一句話,什么技術(shù)是明天的熱點?

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

    關(guān)注

    1

    文章

    91

    瀏覽量

    14941
收藏 人收藏

    評論

    相關(guān)推薦

    OpenAI從谷歌DeepMind挖角三高級工程師

    近日,據(jù)Wired最新報道,OpenAI在人才爭奪戰(zhàn)中取得了顯著成果,成功從競爭對手谷歌DeepMind“挖角”了三高級計算機視覺和機器學(xué)習(xí)領(lǐng)域的專家。 據(jù)悉,這三工程師分別是Lu
    的頭像 發(fā)表于 12-04 14:13 ?305次閱讀

    求LORA技術(shù)開發(fā)工程師合作

    求LORA技術(shù)開發(fā)工程師合作
    發(fā)表于 09-02 10:21

    找STM32硬件開發(fā)兼職工程師

    上海做傳感器的公司,找STM32硬件開發(fā)兼職工程師,會硬件開發(fā),嵌入式軟件開發(fā),可項目外包。有意聯(lián)系:15900460170
    發(fā)表于 06-22 19:12

    嵌入式軟件工程師如何提升自己?

    嵌入式軟件工程師如何提升自己? 作為一名嵌入式軟件工程師,在這個充滿機遇和挑戰(zhàn)的領(lǐng)域里,如何提升自己顯得非常重要,它決定了你未來的發(fā)展方向和成就。接下來,我們起探討
    發(fā)表于 06-12 11:20

    索尼誠邀軟件工程師參與PS免費手游平臺設(shè)計

    據(jù)悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動娛樂正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負責(zé)設(shè)計PlayStation的免費手機游戲平臺。
    的頭像 發(fā)表于 05-23 17:08 ?736次閱讀

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領(lǐng)域中的種專
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語言則是嵌入式系統(tǒng)開發(fā)中最常用的編程語言之。成為
    發(fā)表于 04-07 16:03

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語言則是嵌入式系統(tǒng)開發(fā)中最常用的編程語言之。成為
    發(fā)表于 03-25 14:12

    單片機如何通過代碼控制硬件:一名工程師的分享

    今天跟大家聊聊單片機是怎樣通過代碼來操控硬件的。作為一名單片機工程師,我們平時的工作就像是給單片機編寫“指令集”,讓它按照我們的意圖去驅(qū)動各種硬件設(shè)備。
    的頭像 發(fā)表于 03-06 14:46 ?1532次閱讀
    單片機如何通過代碼控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程師</b>的分享

    次平臺開發(fā)工程師的“熱辣滾燙”:愛星物聯(lián)使用流程

    hello,我是一名平臺開發(fā)工程師小王,近期了解到愛星物聯(lián)平臺的開源版即將發(fā)布,有點小期待,不過平時我都是用公版平臺完成系統(tǒng)搭建和產(chǎn)品控制的,來看看我是如何進行這“熱辣滾燙”的新流程
    的頭像 發(fā)表于 02-26 11:44 ?468次閱讀
    <b class='flag-5'>一</b>次平臺<b class='flag-5'>開發(fā)</b><b class='flag-5'>工程師</b>的“熱辣滾燙”:愛星物聯(lián)使用流程

    如何搞崩個硬件工程師心態(tài)?試試對ta說這幾句

    硬件工程師
    揚興科技
    發(fā)布于 :2024年02月20日 18:05:49

    優(yōu)秀電源工程師需要哪些必備技能?

    就帶大家細數(shù)下優(yōu)秀電源工程師具備的那些技能。、新手必備課程成為一名電源高手需要扎實的理論基礎(chǔ),涉及電路原理、語言編程和控制理論等多個學(xué)科
    發(fā)表于 01-29 11:29