為什麼應該投資程式設計師的學習?
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
一個真實的故事
我們正在和客戶開會,他提出了一個有關於專案的想法。他想讓我們給他提供一個能支援其專案技術要求的系統架構草案。關於這一點,我也明確地告訴他,增值開發需要對架構重新調整。
當我提及找一個合適的架構也是一個需要學習的過程,他一下子打斷了我,並說了下面這句話:
難道我還得支付你學習的費用嗎?
為了節約時間,我告訴他,我指的是業務領域,我們只有充分理解之後才能提供正確的架構。
你希望你的專案是由一個不熟練的團隊開發的嗎?
除非你高薪外包,否則大多需要一個軟體開發團隊為你工作。如果這個專案已經跨越了一年或更多的時間,你會怎麼看待這個貌似一直都沒有提升水平的團隊?
軟體開發是公認的知識驅動型產業之一,然而很多人不知道為什麼會認為開發人員很容易掌握解決任何給定問題所需要的一切技能。
程式語言在不斷地進化。關係型資料庫在不斷地增加新的功能。新出來的NoSQL資料庫可能大多數人都不曾用過。成功的框架在不斷地推出新的版本。新技術(例如響應式程式設計和微服務)出現的同時,其他一些以前我們不屑一顧的技術則在不斷地增加其魅力(例如函數語言程式設計)。
想要掌握所有的技術和方法,不花時間是不可能的。
什麼時候應該考慮提升程式設計師的水平?
當然也有那種對程式設計充滿激情的程式設計師會將他們的業餘時間都用在了看書、閱讀技術文章、學習新技術上面,但你不能否認的是,這樣的例子真的不多。
大多數程式設計師會選擇在工作過程中學習所有需要使用的知識,而如果你不能給他們投資,那麼他們在這個團隊中永遠也不會成長。
最合適的時間和地點是在工作時學習軟體技術。
遺憾的是,並不是每個在這一行的人都贊同我的這個看法。企業主不願意花資源(時間和金錢)來培養他們的開發人員。
這可能是看待問題的角度不同,因為很多人覺得這種投資是得不到任何直接或間接回報的——純粹是在浪費資源。但是如果你計劃周密,它就很容易變成一種盈利的投資。
以盈利為目的的學習
高品質的軟體需要紮實的知識和專業性的判斷,但是積累技能需要的並不僅僅是閱讀。你得成為一名積極主動的學習者,用最大的限度獲取知識。
我曾經是一個被動的學習者,只是閱讀書籍和文章,雖然知道個大概,但實際上並沒有什麼大的進步。
當我提筆寫這篇部落格的時候,我發現教學相長也是一種學習技能的好方法。
當我成為一個活躍的StackOverflow的使用者時,這種感覺就更加明確了。
當我開始做一個開源專案時,我終於明白,原來學習只是艱苦工作的一個副作用。
上面這些經歷讓我深深理解了什麼是主動學習。
從商業角度看,我們不難預見,這類投資的收益可能來自:
- 一個更加熟練的開發團隊能在失敗風險更低的情況下操作更加複雜的專案。
- 在掌握了一定的技術之後,可以為大家提供專業的培訓和諮詢服務。
- 寫書,通過自助出版程式出售。
還有一點就是,專業類的技能總是特別暢銷。
投資於開發技能絕對物有所值。很多開發人員都喜歡那種能促進自我成長的工作環境,所以這一招其實也有利於於留住員工。
開始這個學習的旅程並沒有人們想象的那麼困難,下面我將介紹一些我非常欣賞的有關於主動學習的活動:
準備培訓材料
比方說,你想要在你的公司推廣特定的核心技術技能,那就可以分配給部分開發人員去研究和準備有關於這個課題的培訓材料。
講習班的效果會比一個簡單的演示要好。在準備好培訓材料之時,其實你已經對相關知識和培訓基礎有了一定的積累。然後就可以就此技術開始提供培訓或諮詢服務了。
公司部落格
每一家軟體公司都有其積累的經驗,但是很少有人能真正和其他人分享。這時候,開個公司的技術部落格或能有助於相互之間的交流。高品質的部落格可以顯示出你的專業知識和專業能力。
你還可以與DZONE/JavaCodeGeeks建立戰略作夥伴關係,這樣也可以促進你的業務發展。
在StackOverflow上回答問題
StackOverflow的作用很多人都會低估。如果你真的想要成為某個領域的專家,那麼你就應該開始往那個特定的方向回答問題。在你回答問題的同時,也在鞏固自己的知識領域。
總而言之,重複是學習之母。
開源專案
如果你想要提高你的設計和編碼技巧,那麼你就應該踏足開源專案。
框架的作者大多非常地嚴謹,他們的程式碼審查可以教會你很多最棒的程式設計實踐。如果你的公司經常需要使用某一種開源技術,那麼回過頭去好好學習一下是很有必要的。對待框架問題最好的途徑就是老老實實地解決掉它。
沒有人比它的維護人員更瞭解這個框架的了。
寫文章和賣書
你可以將你的經驗都概括在書中。寫書也是一種非常有意思的學習過程。只有當你寫完的那一刻,你才能說你真正地掌握了這方面的內容。
亞馬遜提供了一個自助的出版程式,有需要的話可以它的幫助。
結論
學習可以讓你的公司增加競爭優勢。產品代表的就是公司,軟體產品的質量反映了開發團隊的專業程度。
最後,我要告訴你的是,你投資的並不僅僅是個人,也是在投資自己的公司。
譯文連結:http://www.codeceo.com/article/why-you-should-pay-developers-to-learn.html
英文原文:Why you should pay developers to learn
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 為什麼程式設計師應該儘早投資於決策技能 - Reforge程式設計師
- 為什麼程式設計師在學習程式設計的時候什麼都記不住?程式設計師
- 為什麼軟體工程師應該學習哲學?軟體工程工程師
- 為什麼Python程式設計師需要學習Linux系統?Python程式設計師Linux
- 為什麼程式設計師應該有一臺Mac個人電腦程式設計師Mac
- 為什麼程式設計師應該有一臺 Mac 個人電腦程式設計師Mac
- 程式設計師為什麼要持續學習(升級版)程式設計師
- 為什麼我害怕資料結構學得好的程式設計師?資料結構程式設計師
- 一名合格的程式設計師應該是什麼樣子程式設計師
- 為什麼Linux運維工程師必須學習Shell程式設計?Linux運維工程師程式設計
- 為什麼程式設計師一定要學Linux程式設計師Linux
- 從業人士談為什麼UX設計師應該具備心理學知識UX
- 為什麼資料科學家應該開始學習Swift?資料科學Swift
- 女程式設計師,為什麼比男程式設計師少???程式設計師
- 為什麼每一個爬蟲工程師都應該學習 Kafka爬蟲工程師Kafka
- 【1024程式設計師節】程式設計師,你學程式設計的初衷是什麼?程式設計師
- 程式設計師,為什麼如此迷茫?程式設計師
- Android程式設計師為什麼要去學Java後臺Android程式設計師Java
- 不想做程式設計師學習python有什麼用途?程式設計師Python
- 學習程式設計先學什麼程式設計
- 程式設計師你為什麼這麼累?程式設計師
- 好程式設計師分享Java轉行大資料該怎麼規劃學習?程式設計師Java大資料
- 1024為什麼是程式設計師日程式設計師
- 好程式設計師:web前端解答為什麼要學JavaScript程式設計師Web前端JavaScript
- 為什麼程式猿都應該學點linux命令?Linux
- 為什麼大資料工程師比Java程式設計師工資高大資料工程師Java程式設計師
- UI設計師需要學習什麼呢?UI
- Java程式設計師應該在2018年學習三種JVM語言Java程式設計師JVM
- 你想成為什麼級別的程式設計師?程式設計師
- 【Java併發程式設計】一、為什麼需要學習併發程式設計?Java程式設計
- 為什麼要成為「無敵」程式設計師?程式設計師
- 為什麼成為一名程式設計師?程式設計師
- 轉行學習web前端開發程式設計師應該具備的條件Web前端程式設計師
- 程式設計師程式設計入門一定知道!程式設計師需要學什麼?程式設計師
- 【1024程式設計師節】為什麼有些程式設計師下班比你早?程式設計師
- 你該怎麼做才能成為應屆程式設計師中的「佼佼者」?程式設計師
- 小白程式設計師想走後端方向,該怎麼學習計算機基礎知識?需要做什麼?程式設計師後端計算機
- 大前端時代,我為什麼支援前端程式設計師學習原生技術?前端程式設計師
- 程式設計師與產品之間應該如何配合,什麼時候技術為重,什麼時候產品為重?程式設計師