日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

解密初、中、高級程序員的進(jìn)化之路

 

作者:黃軼
來源:juejin.im/post/5d3a6d9e51882570d50f5566
  • 程序員的標(biāo)準(zhǔn)與要求
  • 初級程序員
  • 中級程序員(阿里 p5)
  • 高級程序員(阿里 p6)
  • 程序員的進(jìn)化之路
  • 初級 -> 中級
  • 中級 -> 高級
  • 總結(jié)

程序員的標(biāo)準(zhǔn)與要求

初級程序員

僅能完成簡單模塊和項(xiàng)目的開發(fā)工作,難以勝任復(fù)雜模塊的開發(fā)。通常是入行不久, 1 年及以下工作經(jīng)驗(yàn)的同學(xué)。

能力要求

  1. 熟悉前端基礎(chǔ)知識如 html、JS、css 。
  2. 能夠使用一門 MVVM 框架進(jìn)行簡單的業(yè)務(wù)開發(fā)。
  3. 遇到復(fù)雜的組件和模塊,會找現(xiàn)有的輪子使用。
  4. 會使用百度、google 等檢索工具搜索問題。

中級程序員(阿里 p5)

在必要的輔導(dǎo)或標(biāo)準(zhǔn)流程支持下,能獨(dú)立負(fù)責(zé)一個(gè)子模塊或者一個(gè)項(xiàng)目的具體任務(wù),對及時(shí)性和準(zhǔn)確性負(fù)責(zé)。通常是 2-3 年工作經(jīng)驗(yàn)的同學(xué)。

能力要求

  1. 除了前端基礎(chǔ)知識外,熟悉計(jì)算機(jī)、網(wǎng)絡(luò)等專業(yè)基礎(chǔ)知識。
  2. 熟練掌握工作中使用的技術(shù)棧開發(fā)業(yè)務(wù)。(除了 MVVM 框架外,還能了解 webpack 的配置)。
  3. 能了解一個(gè)需求從開發(fā)-上線整個(gè)生命周期,并對各個(gè)環(huán)節(jié)負(fù)責(zé)。
  4. 具備基本的邏輯分析、問題分解、歸納總結(jié)等能力。
  5. 了解基本的數(shù)據(jù)結(jié)構(gòu)和算法,寫代碼較熟練。
  6. 知道從靠譜的渠道去查找問題,在找不到合適輪子的時(shí)候,會造一些簡單的輪子輔助業(yè)務(wù)開發(fā)。

高級程序員(阿里 p6)

具有獨(dú)擋一面的能力,能夠高質(zhì)量完成工作,能把握一個(gè)系統(tǒng)/團(tuán)隊(duì)的整體實(shí)現(xiàn),在推行過程中能提煉新的方法或方案,或?qū)ΜF(xiàn)有方案提出改進(jìn)建議并被證明有效。通常是 3 年+ 工作經(jīng)驗(yàn)的同學(xué)。

能力要求

  1. 具有獨(dú)擋一面的能力,能高質(zhì)量的完成模塊級的工作。
  2. 熟練掌握工作中使用的技術(shù)棧,并能了解它們的實(shí)現(xiàn)原理。
  3. 能夠在一個(gè)需求從開發(fā)-上線整個(gè)生命周期中找到痛點(diǎn),并能使用技術(shù)的手段解決,提升效率。
  4. 能在模塊維度對問題或需求做出分析和拆解,并做出相對合理的實(shí)現(xiàn)方案。
  5. 熟練掌握基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)和算法,代碼符合規(guī)范,邏輯清晰。
  6. 有較好的技術(shù)選型能力。

程序員的進(jìn)化之路

初級 -> 中級

通常在初級這個(gè)階段,是進(jìn)步空間最大的階段,這個(gè)階段是不存在天花板的。

編碼

編碼是初級階段最需要經(jīng)常做的事情,古話說孰能生巧,寫代碼也是同樣的道理。

  • 寫什么的樣代碼
  • 在公司要多做業(yè)務(wù),嘗試不同的業(yè)務(wù),目標(biāo)是讓自己先成為一個(gè)熟練工。下班后也可以折騰點(diǎn)小項(xiàng)目做,可以選擇自己感興趣的內(nèi)容,嘗試自己實(shí)現(xiàn)一遍。
  • 如何寫代碼
  • 學(xué)會模仿,參考大牛的編碼風(fēng)格,照葫蘆畫瓢。如果公司有代碼規(guī)范,跟隨著公司的代碼規(guī)范走,如果沒有,參考業(yè)界規(guī)范,并用工具(如 eslint)約束自己。遇到一些不會寫的,哪怕找到可以參考的代碼,跟著抄一遍也行。

工作

大部分時(shí)間都在工作,那么如何合理的利用好 8 小時(shí)工作時(shí)間呢。

  • 熟悉業(yè)務(wù) 不要僅僅埋頭寫代碼,也需要對業(yè)務(wù)了解,認(rèn)真參與需求評審環(huán)節(jié),明確自己所做的任務(wù)。
  • 熟悉工作流程
  • 要熟悉從需求-開發(fā)-聯(lián)調(diào)-測試-上線的每個(gè)工作環(huán)節(jié),認(rèn)真按照規(guī)范來執(zhí)行,對上線要有敬畏心。
  • 提升效率
  • 工作的時(shí)候,盡量不要被打斷,可以安排一個(gè)免打擾時(shí)段,比如下午的 2點(diǎn)-4點(diǎn),只編碼而不去處理其它事情。減少在群里 灌水和斗圖的時(shí)間。
  • 加班
  • 可以接受合理的加班(比如為了趕某一個(gè)需求加班一陣子),不接受沒有任何補(bǔ)償和調(diào)休的日常加班(996),因?yàn)槿粘?加班會壓縮你學(xué)習(xí)和生活的時(shí)間。

學(xué)習(xí)

初級階段是需要通過大量的學(xué)習(xí)來提升自己的能力。

  • 明確自己的學(xué)習(xí)目標(biāo) 學(xué)習(xí)是為了提升能力,能讓你勝任更復(fù)雜和有挑戰(zhàn)的工作。
  • 應(yīng)該學(xué)習(xí)什么內(nèi)容 前端基礎(chǔ),JS、CSS、HTML 反復(fù)學(xué)習(xí)。工作中用到的一門前端 MVVM 框架。了解一些廣度知識,比如 HTTP、正則表達(dá)式、Web安全、性能優(yōu)化、設(shè)計(jì)模式,數(shù)據(jù)結(jié)構(gòu)和算法。
  • 找到合適的學(xué)習(xí)方式
  • 看書+編碼:購買經(jīng)典的書籍閱讀,并作為平時(shí)寫碼的參考工具,看書和編碼是一個(gè)反復(fù)的過程,基本就是看書->編碼->看書->編碼循環(huán)個(gè) 3-4 次,這個(gè)過程就是在不斷修煉內(nèi)功。
  • 視頻:慕課網(wǎng)的入門實(shí)戰(zhàn)視頻,根據(jù)自己的需求購買,要充分學(xué)習(xí)自己購買的每一個(gè)視頻,認(rèn)真的跟著老師學(xué)習(xí)一遍寫一遍,遇到不懂的要積極提問,學(xué)習(xí)在于深入而不在于多。視頻比書籍的好處在于更貼合實(shí)踐,也更貼合公司業(yè)務(wù),另外,課程的升級和更新也更加靈活。
  • 官網(wǎng)文檔:學(xué)習(xí)每一個(gè)新的技術(shù)棧,入門最好的方式是通過它的文檔學(xué)習(xí),可以系統(tǒng)的過一遍文檔,手敲它每一個(gè)示例。
  • 社區(qū):慕課網(wǎng)手記、掘金、CSDN、InfoQ 等中文社區(qū),利用碎片化時(shí)間看一些高質(zhì)量文章學(xué)習(xí)。
  • GitHub:學(xué)會 GitHub 的使用,知道 clone、fork、pull、push 等基本操作。
  • 花更多的學(xué)習(xí)時(shí)間 如果想比別人成長的快,就得花比別人更多的時(shí)間用來學(xué)習(xí)(這也是為什么不鼓勵(lì)日常加班),尤其是初級這個(gè)階段,成長曲線是非常快的。
  • 知識沉淀 俗話說好記性不如爛筆頭,可以養(yǎng)成寫博客的習(xí)慣,把學(xué)習(xí)的內(nèi)容用文字的形式記錄下來,整理成文,并按學(xué)習(xí)的技術(shù)方向做歸類。

提問

在初級階段,免不了經(jīng)常遇到問題,會提問也是一門技術(shù)活,好的提問姿勢能讓你事半功倍。

  • 不好的提問方式
  • “這個(gè)報(bào)錯(cuò)是什么意思?”;缺乏思考,沒有體現(xiàn)自己關(guān)于問題的思考過程。
  • “為什么我的代碼和你的一模一樣,就是運(yùn)行不了?”;缺乏上下文,應(yīng)告知代碼是編譯不過還是運(yùn)行不起來、錯(cuò)誤提示信息、相關(guān)代碼、可能出錯(cuò)的代碼分析。沒有足夠的上下文,神仙都不知道如何解決相關(guān)的問題。
  • “為什么 xxx 能(不能)yyy”;問的問題本身就是一個(gè)錯(cuò)誤的結(jié)論,通常是只是看到了現(xiàn)象,而沒有分析問題的本質(zhì)。
  • 好的提問方式
  • 首先你在提問之前,自己應(yīng)該經(jīng)過充分的思考,并學(xué)會把問題拆解,在拆解的過程中就會把問題的復(fù)雜度降低。其次要善用搜索引擎,把關(guān)鍵字提取出來去搜索引擎上去搜索,先嘗試自己去解決問題。
  • 如果仍然不能解決,可以將問題的相關(guān)上下文、截圖及必要標(biāo)識及自己的思考過程、查找到的相關(guān)資料,以及自己的分析發(fā)送給想要幫助你的人,并能提供最小化復(fù)現(xiàn)的問題。
  • 最后,請將你的問題及解決方案重新整理,并告知幫助你的人問題已經(jīng)解決,重新整理解決問題的過程會幫助你理清思路、從而對問題有著更深的理解。

中級 -> 高級

到了中級階段,基本上意味著你可以在大公司缺人的時(shí)候進(jìn)入大公司工作了,如果想成為大公司不可拒絕的人才, 那你還需要朝著高級階段努力。

編碼

沒錯(cuò),到了中級階段,你想要提升最重要的途徑還是要編碼。

  • 寫什么的樣代碼
  • 和初級不同,除了做業(yè)務(wù)之外,你也參與開發(fā)做一些偏技術(shù)類型的項(xiàng)目,比如參與組內(nèi)組件庫的開發(fā),一些通用 JSSDK 的開發(fā),這些會對你的技術(shù)要求會更高。
  • 有機(jī)會去參與平時(shí)使用到的一些開源技術(shù)棧的共建,比如想實(shí)現(xiàn)每個(gè) feature 但現(xiàn)有開源庫不滿足,實(shí)現(xiàn)難度不大的情況下可以去提一個(gè) pull request。
  • 如何寫代碼
  • 學(xué)會模仿,除了參考大牛的編碼風(fēng)格,還要琢磨他們的編碼思路,多思考他們?yōu)槭裁催@么做。
  • 學(xué)會組件化、模塊化的開發(fā)方式,學(xué)會復(fù)用和封裝,減少 CV 的操作。
  • 對自己的代碼質(zhì)量負(fù)責(zé),可以經(jīng)常組織 code review。

工作

想要進(jìn)階,需要在工作方面有些產(chǎn)出。

  • 業(yè)務(wù)思考
  • 要明白業(yè)務(wù)和公司的目標(biāo),參與到需求的早期階段中,同時(shí)也要多思考業(yè)務(wù),想著有沒有通過技術(shù)手段來提升業(yè)務(wù)價(jià)值,比如移動(dòng)端的白屏?xí)r間減少,可以帶來很好的用戶體驗(yàn),提升用戶的留存率。
  • 技術(shù)思考
  • 思考業(yè)務(wù)開發(fā)中的一些痛點(diǎn),如何用技術(shù)手段去優(yōu)化業(yè)務(wù)的開發(fā)流程,提升開發(fā)效率,比如為業(yè)務(wù)量身定制一款腳手架工具。
  • 優(yōu)化工作流程
  • 不僅要熟悉從需求-開發(fā)-聯(lián)調(diào)-測試-上線的每個(gè)工作環(huán)節(jié),還要多思考每個(gè)環(huán)節(jié)有沒有可以提升的點(diǎn),特別是上線過程,比如能不能做到自動(dòng)化,能不能做到小流量上線,能不能及時(shí)回滾代碼。
  • 技術(shù)分享
  • 把工作中遇到的一些問題的解決方案、學(xué)習(xí)的一些新技術(shù),產(chǎn)出的一些技術(shù)項(xiàng)目總結(jié)下來,作為組內(nèi)技術(shù)分享和輸出,這樣一是可以總結(jié)沉淀你的技術(shù),二是可以讓大家能知道你做的東西,并活躍組內(nèi)的技術(shù)氛圍,三是鍛煉自己的表述能力,這個(gè)能力在大公司的晉升述職中非常重要。

學(xué)習(xí)

中級階段仍然需要通過大量的學(xué)習(xí)來提升自己的能力。

  • 明確自己的學(xué)習(xí)目標(biāo)
  • 學(xué)習(xí)是為了提升自己的硬實(shí)力,不僅僅能夠提升工作效率,還能讓自己更好的服務(wù)于業(yè)務(wù),升職加薪。
  • 應(yīng)該學(xué)習(xí)什么內(nèi)容
  • 研究工作中所用到的工具鏈,不僅僅是運(yùn)行時(shí)的 MVVM 框架,還可以是編譯時(shí)的 webpack,必要的時(shí)候去研究其中的源碼實(shí)現(xiàn)。
  • 深入學(xué)習(xí)一些廣度知識,比如 HTTP、正則表達(dá)式、Web安全、性能優(yōu)化、設(shè)計(jì)模式,數(shù)據(jù)結(jié)構(gòu)和算法,并把它們應(yīng)用到你的工作中。
  • 找到合適的學(xué)習(xí)方式
  • 看書:找到所學(xué)習(xí)方向的經(jīng)典書籍閱讀,適當(dāng)做一些學(xué)習(xí)筆記。
  • 視頻:如慕課網(wǎng)的進(jìn)階實(shí)戰(zhàn)視頻,根據(jù)自己的需求購買。
  • 官網(wǎng)文檔:可以嘗試去看一下英文文檔。
  • 社區(qū):StackOverflow、HackerNews,慕課網(wǎng)手記、掘金等,除了利用碎片化時(shí)間看一些高質(zhì)量文章學(xué)習(xí),也可以往上面發(fā)布一些優(yōu)質(zhì)文章。
  • GitHub:關(guān)注 trending,參與開源社區(qū)的共建,并嘗試自己造一些輪子。
  • 學(xué)習(xí)時(shí)間與深度
  • 在中級階段,你仍然需要花很多時(shí)間去學(xué)習(xí),這個(gè)時(shí)候要注重自己學(xué)習(xí)的深度了。
  • 知識沉淀
  • 俗話說好記性不如爛筆頭,可以養(yǎng)成寫博客的習(xí)慣,把工作中深入學(xué)習(xí)到的一些非敏感知識記錄下來并發(fā)布,而不僅僅去發(fā)布一些基礎(chǔ)知識的學(xué)習(xí)了。
  • 技術(shù)視野
  • 除了自己工作中的使用的技術(shù)棧之外,也要了解同類其它優(yōu)秀的開源技術(shù)棧,從多個(gè)維度(feature 完整性、文檔、上手難度、維護(hù)力度、生態(tài)等)去做對比。
  • 要保持對新技術(shù)的敏感的關(guān)注,并時(shí)刻思考這些技術(shù)能否為自己的業(yè)務(wù)帶來價(jià)值,在需要的時(shí)候做合理的技術(shù)選型。

總結(jié)

所謂技術(shù)能力其實(shí)就是解決問題的能力和學(xué)習(xí)能力,所以無論你在哪個(gè)階段,甚至是更高的階段,不斷提升這兩個(gè)能力都是你應(yīng)該一直要做的事情。

分享到:
標(biāo)簽:程序員
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定