科技公司應(yīng)為程序員提供怎樣的幫助
編者按:格雷格·波拉克(Gregg Pollack)是 Code School 的 CEO 兼創(chuàng)始人,Code School 是一個通過生動有趣的內(nèi)容為現(xiàn)有開發(fā)者以及致力于成為開發(fā)者的人們提供教育的在線學(xué)習(xí)平臺。
每當(dāng)我問起軟件開發(fā)者如何提高自身的技術(shù)水平時,總會得到各種各樣的回答——做業(yè)余項(xiàng)目,瀏覽 Hacker News,收聽技術(shù)播客,參加在線教育課程。往往一個人的答案還不止一種,而且這些事情大多都是在下班以后做的。
然而我很少聽到這樣的回答:公司在他們的學(xué)習(xí)過程中扮演著重要的角色。
非常有趣的是,科技公司和創(chuàng)業(yè)公司常常給人才開出驚人的薪酬福利,在員工完成工作最重要的方面上——持續(xù)學(xué)習(xí)——卻沒有提供幫助。由此我擴(kuò)展出了一個重要的話題。
編程與大多數(shù)工作不同
許多工作需求的知識基礎(chǔ)比較靜態(tài),但是軟件開發(fā)并非如此。技術(shù)總是在不斷進(jìn)步,因此如果開發(fā)者致力于做到***的話,他們也應(yīng)該一同進(jìn)步??梢赃@么說,對于編程這份工作而言,學(xué)習(xí)的重要性不亞于寫代碼。
舉個例子,新語言、新框架的出現(xiàn)并不是什么稀罕事——蘋果的 Swift 語言就是***的例子——這可能會改變一位開發(fā)人員未來一段時間內(nèi)使用怎樣的編程語言。
當(dāng)我回顧自己的職業(yè)生涯時,我發(fā)現(xiàn)大學(xué)里我學(xué)的是C++,工作時學(xué)習(xí)了 Perl,自學(xué) Java 從而找到了更好的工作,然后自學(xué) Ruby on Rails 創(chuàng)辦了自己的咨詢公司。通過學(xué)習(xí)新技術(shù)、新語言,我才能保持作為一名開發(fā)者的競爭優(yōu)勢,也取得了非常成功的職業(yè)生涯轉(zhuǎn)變。如果不是堅(jiān)持學(xué)習(xí),我不可能達(dá)到現(xiàn)在這樣的成就。
所有開發(fā)者都有這樣的學(xué)習(xí)動力嗎?恐怕不是。那么如果開發(fā)者沒有緊跟技術(shù)發(fā)展趨勢的話,會產(chǎn)生怎樣的后果?他們開發(fā)的產(chǎn)品以及他們效力的公司最終都將蒙受損失。代碼會因此更難維護(hù),執(zhí)行時間更長,或者編寫代碼使用的舊語言/舊框架其它開發(fā)人員都不愿意再使用了。對于任何公司而言這樣的情況都十分可怕,不過下點(diǎn)功夫的話這個困難也會迎刃而解。
公司應(yīng)當(dāng)如何支持開發(fā)人員的持續(xù)學(xué)習(xí)
大多數(shù)由公司驅(qū)動的教育解決方案實(shí)施方便,價格合理。而且即便價格不菲,生產(chǎn)力或員工幸福指數(shù)的提升肯定也讓它顯得物有所值。
一開始,你能做的最簡單的一件事就是向員工重申可以在工作時間內(nèi)學(xué)習(xí)。對于開發(fā)人員來說,在工作時間里不“工作”,抽空學(xué)習(xí)教程或者閱讀 Hacker News,難免會感到不安,但是你與老員工、新員工溝通方式的簡單改變就可以掃除這樣的恐懼。
另外一個完全免費(fèi)的解決方案就是鼓勵結(jié)對編程。一方面,結(jié)對編程已經(jīng)被證明能夠***限度地避免 bug,提高代碼質(zhì)量,另一方面***時間見證另一位開發(fā)人員如何解決問題也是學(xué)習(xí)提高的***途徑之一。
另外,一些公司已經(jīng)實(shí)行了繼續(xù)教育措施,確保技術(shù)團(tuán)隊(duì)在相關(guān)領(lǐng)域中擁有大致相同的知識基礎(chǔ)。開發(fā)團(tuán)隊(duì)中知識的差別能夠?qū)ιa(chǎn)力造成毀滅性的打擊(更不用說士氣了),因此開設(shè)官方的學(xué)習(xí)項(xiàng)目是一個減少不滿情緒的好辦法。
Code School 的每個月當(dāng)中,我們都會抽出一天來進(jìn)行一個我們稱為“提高”(betterment)的項(xiàng)目。這一天中,我們只做一些、開發(fā)一些或者學(xué)習(xí)一些能讓我們得到提升的東西。比如參加一個打字班,閱讀某一本書,開發(fā)開源的業(yè)余項(xiàng)目,學(xué)習(xí)新語言或新框架。這一天為我們公司從教育、創(chuàng)意和士氣上帶來的提升一直都超出我們的想象。
我們還會為員工付錢,讓他們每年參加一次當(dāng)?shù)貢h、一次外地會議,并且?guī)椭徺I圖書、在線課程、研習(xí)班等等學(xué)習(xí)資料。我認(rèn)為,對于許多科技人才而言,他們會覺得這些比免費(fèi)的 Netflix 訂閱或者在辦公室拜訪桌上足球更有意義(而且這些東西也太老套了吧)。
這些只是我的幾個想法。最終每家公司都需要針對公司、針對團(tuán)隊(duì)、針對如何達(dá)到***學(xué)習(xí)效果摸索到最適合的解決方案。
學(xué)習(xí)型團(tuán)隊(duì)更能創(chuàng)新
鼓勵學(xué)習(xí)的工作環(huán)境還夠帶來一項(xiàng)副產(chǎn)品,那就是對產(chǎn)品以及整個公司的生命周期產(chǎn)生積極影響。它能夠培養(yǎng)出永遠(yuǎn)使用***的工具(而不是大家最熟悉的工具)來工作的文化。
那些為尋找創(chuàng)造性解決方案應(yīng)對難題準(zhǔn)備更完善的組織更有可能獲得成功。盡管打造成功公司取決于很多方面的原因,但是建立一個持續(xù)學(xué)習(xí)的團(tuán)隊(duì)將會讓你領(lǐng)先于那些把技術(shù)人才當(dāng)作碼農(nóng)而不是學(xué)習(xí)者的公司。
事實(shí)上,這兩方面的能力所有的開發(fā)者都要具備。