為什麼應該投資程式設計師的學習?

2015-01-09    分類:程式設計師人生、首頁精華6人評論發表於2015-01-09

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

一個真實的故事

我們正在和客戶開會,他提出了一個有關於專案的想法。他想讓我們給他提供一個能支援其專案技術要求的系統架構草案。關於這一點,我也明確地告訴他,增值開發需要對架構重新調整。

當我提及找一個合適的架構也是一個需要學習的過程,他一下子打斷了我,並說了下面這句話:

難道我還得支付你學習的費用嗎?

為了節約時間,我告訴他,我指的是業務領域,我們只有充分理解之後才能提供正確的架構。

你希望你的專案是由一個不熟練的團隊開發的嗎?

除非你高薪外包,否則大多需要一個軟體開發團隊為你工作。如果這個專案已經跨越了一年或更多的時間,你會怎麼看待這個貌似一直都沒有提升水平的團隊?

軟體開發是公認的知識驅動型產業之一,然而很多人不知道為什麼會認為開發人員很容易掌握解決任何給定問題所需要的一切技能。

程式語言在不斷地進化。關係型資料庫在不斷地增加新的功能。新出來的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
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章