日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
技術(shù)的成長:如何從畢業(yè)生到技術(shù)專家?

過去的一個月里,在幫助其他部門進行畢業(yè)生培訓(xùn)。從名稱上說是培訓(xùn),但是實際上則是 訓(xùn)戰(zhàn) 結(jié)合。不想一下子給太多,這篇文章會給的建議是:

  • 尋找持續(xù)成長的動機
  • 塑造整潔的編碼習(xí)慣
  • 建立定位問題的方式
  • 學(xué)習(xí)既有的模式
  • 頻繁性自我總結(jié)

只憑這五點來說,與《福格行為模型》所定義的三要素也是頗為相似的:

  • 要素1 動機(Motivation):找到實現(xiàn)愿望的黃金行為
  • 要素2 能力:讓行為簡單到隨時順便都能做
  • 要素3 提示:善用錨點時刻讓行為立刻發(fā)生

如果再簡化來說,也可以采用和我一樣的模式,通過基本簡單的行為:每天寫代碼,每周做總結(jié)(通過文章)。

再次定義專家

再回到我們這篇文章的主題里,如何從畢業(yè)生到一個技術(shù)專家?專家是基于研究、經(jīng)驗或職業(yè)并在特定研究領(lǐng)域具有廣泛知識或能力的人。這樣的定義是如此的簡潔,以至于一個工作經(jīng)驗豐富的人都可以稱上得是專家。在這種定義之下,一個 996 的程序員的開發(fā)經(jīng)驗,可謂不比一個 965 的人差。

于是乎,我還更喜歡,我在在那篇《專家 x 抽象 x 類比》里,我們也定義了專家應(yīng)該做點什么?

所謂的專家嘛,就是在擅長的 “領(lǐng)域” 里,構(gòu)建了具有范疇化(歸類)的概念空間,并可以通過類比靈活地完善自己的概念庫。

在這個定義之下,我們行業(yè)的技術(shù)專家便是指,在軟件開發(fā)領(lǐng)域,具備豐富的軟件開發(fā)相關(guān)的知識(即概念)或者是經(jīng)驗。擁有自己的軟件開發(fā)相關(guān)的知識體系(概念庫),并且能持續(xù)不斷地完善。比如說,你是個后端專家,那么你能理解后端開發(fā)中的大部分概念,以及這些概念之間的關(guān)系。諸如于:

Spring Boot是一個可以用于幫助我們開發(fā) 微服務(wù) 的框架; 微服務(wù) 是一種基于服務(wù)的 分布式 架構(gòu)風(fēng)格/ 架構(gòu)模式 ; 架構(gòu)模式 是模式的一種,其中采用最廣泛的是 設(shè)計模式 ; 分布式架構(gòu) 通過遠程協(xié)議連接多個 部署單元 。

基于 Spring Boot 構(gòu)建的應(yīng)用可以是一個部署單元,通過 持續(xù)集成 構(gòu)建 , 并 持續(xù)部署 到 容器化平臺 上。

能知曉整個體系的相關(guān)概念 ,并清晰地知道概念之間的關(guān)系,再有一定的經(jīng)驗,我們就是入門級 “專家”。而后,一旦來了一些新的概念,我們還需要能將它們納入到我們的體系中。諸如于最近在后端開發(fā)領(lǐng)域又重新火起來的 Cells-based architecture,它也是一種架構(gòu)風(fēng)格,同等于微服務(wù)架構(gòu)。我們所能構(gòu)建的是一個領(lǐng)域的思維框架,它可以幫助我們對所有的知識分門別類。

1. 尋找持續(xù)成長的動機

首先,我們要思考的第一個問題是,為什么我們要成為一個技術(shù)專家?

不管動機水準的高低為何,人們?nèi)裟芫S持一定的動機水準,則不但能維持追求該目標的行為,也能維持心理上對該目標的渴望,直到人們知覺到該目標達成為止。 —— 維基百科

六年前,我參加過一個 Management 3.0(有興趣的讀者,也可以翻看《管理3.0:培養(yǎng)和提升敏捷領(lǐng)導(dǎo)力》)。雖然,這個培訓(xùn)確信了我不適合這個無聊的工作。但是,培訓(xùn)/書中介紹了一個 CHAMPFROGS 模型,它可以用來幫助我們尋找內(nèi)在的動機。它由十種激勵因素( 好奇心,榮譽,接受,精通,力量,自由,親和力,秩序,目標,地位 ),包括內(nèi)在動機、外在動機或兩者兼有的因素組成。(有興趣的讀者,可以翻看: https://www.infoq.com/news/2013/11/intrinsic-motivators/ )

你也可以嘗試一下,從上面的十個動機,按一、二、三的順序,挑選出最與你匹配的動機。進而,你就可以發(fā)現(xiàn)你成長的動力在哪里。我記得多年以前,我的主要動機是好奇心、自由,其中有一個我已經(jīng)忘了,估計也不重要了。

總有人會說:“hi,我成為技術(shù)專家的專家是賺更多的錢”。那么,問題來說,你如何定義多和少,怎么去衡量它們呢?對于打工人而言,你賺的錢多數(shù)時候,并不是靠你的能力決定的,而是你的行業(yè)決定的。所以,久而久之,將賺錢作為成長的目標,你會失去這種動力。因為,你的技術(shù)成長并不會從收入上得到回報。

2. 塑造整潔的編碼習(xí)慣

整潔的代碼意味著很多事情,你可以從《代碼整潔之道》得到更多相關(guān)的知識。作為一個剛?cè)胄械某绦騿T,在代碼上充斥著大量的問題,諸如于:

  • 無用的注釋
  • 注釋的代碼
  • 混亂的代碼風(fēng)格
  • 缺乏設(shè)計/重構(gòu)的代碼
  • 缺乏自動化測試,導(dǎo)致大量的println? 或者console.log
  • 不會使用工具加速開發(fā)。如 IDE 快捷鍵、snippets、emmet 等
  • ……

如果在工作一兩年之后,你依舊還是這樣,就需要警惕一下?;镜木幊塘?xí)慣都沒有養(yǎng)成,離專業(yè)的程序員的距離就更加遙遠。而這些簡單的問題,大部分都可以通過 IDE 來幫助我們發(fā)現(xiàn),如 Intellij IDEA 這一類的工具。

所以,我建議新手程序員應(yīng)該優(yōu)先考慮現(xiàn)代化的 IDE,從工具上花的錢,早晚會通過其它方式賺回來的。

3. 建立定位問題的方式

我們一直在說,程序員大部分是 ctrl + c/ctrl +v ,即 Copy and paste from Google/Stack Overflow/GitHub。但是呢,能做到這一點的程序員,本身并不多。學(xué)會使用 Google,是作為程序員的一個很大的門檻,而大部分人都跨不過這個門檻。另外一個門檻,便是訪問 GitHub,大量的可學(xué)習(xí)的代碼在上面。

從查看問題的角度來說,我們可以發(fā)現(xiàn)新手經(jīng)常:

  • 忽略到錯誤信息上顯而易見的信息,如 error 等。
  • 不會有效地看錯誤信息。只看最后的結(jié)果,或者截錯圖。

從分析問題的角度來說,我們還可以發(fā)現(xiàn)新手們:

  • 不會去查看官方的文檔。哪怕官方文檔真的是最好的。
  • 不懂得如何查看文檔。
  • 忽視從錯誤信息搜索,是最有效的手段。
  • 不懂得如何使用關(guān)鍵字搜索。即采用相應(yīng)的技術(shù)術(shù)語,如:Spring Boot JPA Query
  • 不知道 GitHub issue 可以搜索

而在定位問題上,雖然對于新手有點難,但是依舊可以做一些嘗試。諸如于通過 review 代碼變更、回退,或者是自動化測試來幫助我們定位問題。

4. 學(xué)習(xí)既有的模式和最佳實踐

對于新手來說,值得注意的是,我們在這一個階段遇到的問題,大部分都是一些已知問題,往往可以搜索到資料來解決。大部分困擾你已久的問題,往往在書上,或者通過 Google 就可以得到這樣的答案。

也因此,在多數(shù)時候,我往往會通常買書來快速熟悉一個現(xiàn)有的領(lǐng)域。沒有什么能比,買知識更劃算的知識。雖然說,互聯(lián)網(wǎng)上也包含這些知識,但是搜索是需要成本的。對于編程來說,大量的知識已經(jīng)被先輩們總結(jié)過。與其再自己湯坑,還不如直接買本書方便。所以,不妨去尋找一些書單,諸如于: https://www.douban.com/doulist/121444657/

廣泛意義上的模式是一個好東西,比如如何去分析問題、拆解問題等等。

你也可以多去搜索看看,新手程序員的建議。

5. 頻繁性自我總結(jié)

不要把日報、周報視為自我總結(jié) 。這是的總結(jié)是指對于技術(shù)、模式等的總結(jié),它可以是:

  • 如何應(yīng)用某個框架和模式的總結(jié)
  • 如何一步步采用某種框架的總結(jié)
  • 分析某個框架的原理的階段性總結(jié)
  • ……

編程生涯很長,我們使用過或者將使用的技術(shù)很多。新的技術(shù)層出不窮,絕大部分的新技術(shù)都是基于已有的改進。與此同時,我們學(xué)習(xí)過的大量有趣的東西,并不會在工作的時候用上,或者用到的概率很多。

而如果我們不去記錄這些有意思的東西,通過代碼托管網(wǎng)站或者博客的方式,那么我們再次遇到它們的時候,就需要重到再來。所以,可以多做一些總結(jié),以便于將來使用上。

其它:專家的知識詛咒

也是好久沒有接觸畢業(yè)生,所以過程中陷入過 知識詛咒 的問題。即如果我們很熟悉某個對象的話,那么我們會很難想象,在不了解的人的眼中,這個對象是什么樣子的。。簡單來說,就是無法預(yù)知畢業(yè)生的平均水平,需要多次的解釋,才能將問題解釋清楚。

對于我的文章來說,這個問題也是由來已久的。只是對于我來說,要解決這個問題并不容易,也不是我的義務(wù)。博客一直在那,或許,多年以后,讀者就能自行理解。

對于專業(yè)的程序員來說,也存在類似的問題。我們習(xí)以為常的內(nèi)容,在一些新手看來,往往是無法理解的,我們也很難解釋清楚。在解釋的過程中,還有可能帶入了更多的概念,導(dǎo)致新手程序員更加困惑。諸如于,我在解釋一個幾百 M 的文件提交到 Git 中,為什么會存在的時候,引入了 blob、索引等一系列的概念。這時候的效果反而不如右鍵 .git 目錄查看一下大小,來得簡單得多。


分享標題:技術(shù)的成長:如何從畢業(yè)生到技術(shù)專家?
當前鏈接:http://m.5511xx.com/article/copogsc.html