1. 程式人生 > >程式設計師如何在30歲後越老越吃香?

程式設計師如何在30歲後越老越吃香?

程式設計師是一門靠手藝吃飯的工作,最根本的就是技術能力。從初級到高階,從高階到資深,從資深到架構,就像爬樓一樣,站的越高需要看到的視野越開闊。30歲前程式設計師靠體力,30歲後需要靠腦力,需要靠技術視野開啟更廣闊的職業生涯。程式設計師們很苦惱,技術層出不窮讓人應接不暇,需要不停學習新的技術避免被淘汰,但是僅僅靠學習新技術就好了嗎?所謂的技術視野到底是什麼,又如何去提升呢?

1 驅動力

 

首先需要明白做一件事情一定需要一定的驅動力,那麼對於提升技術視野的驅動力在哪呢?

興趣
興趣愛好是最好的老師,所以興趣是第一驅動力。如果你對一門技術充滿好奇心,你一定想盡辦法弄清楚它的原理,並且迫不及待的進行實踐。

谷歌有一個20%的計劃,規定員工可以拿出20%的時間從事自己興趣愛好的事情。於是從中誕生了Gmail, Google Glass等創新性的產品。這些產品的誕生第一原動力就是興趣愛好!

態度與使命
興趣不等於工作,日常工作往往枯燥乏味讓人提不起勁,這時候靠什麼支撐,可以多想想自己的態度和使命。每一件事情做完後可以反思,是否用了100%的能力,不要留有遺憾。做事也需要有使命感,比如阿里的"讓天下沒有難做的生意"、騰訊的"科技向善"、美團的"Eat better, live better",每一家偉大公司都有一個偉大使命,讓你的日常工作和公司使命關聯起來,瞬間是不是覺得自己在從事一項拯救地球的事業。

機遇和危機

吳軍在<浪潮之巔>一書中描述了科技行業在過去幾十年的巨大變化,基本上每隔十年都會迎來一次科技浪潮,90年代是PC時代產生了微軟,00年代是網際網路時代產生了谷歌、百度,10年代是移動網際網路時代產生了Facebook、微信,下一個十年就在眼前,沒有人可以知道未來十年的技術方向是什麼,也許是人工智慧? 是AR,VR? 是腦機聯通?
對於程式設計師而言,技術的浪潮迫使大家要不斷學習,如果不能成為時代的弄潮兒就會被後浪拍在沙灘上。舉個前端技術的例子,最開始是HTML+CSS++JS三件套,後面JQuery解決瀏覽器相容問題,然後出現MVVM框架Backbone,再到目前三大框架React、Vue、Angular,同時還有NodeJS可以讓前端從事部分後端工作,跨平臺從hybrid到RN到Flutter,平臺從PC Web到移動端,再到小程式再到PC桌面端。可以看到短短10年內前端技術就發生了翻天覆地的變化,如果你不能緊跟技術的變化,那麼很快就會被淘汰。

2 方法 - 個人篇 

   

求知慾
這個和興趣驅動力是一樣的,要提升技術視野就需要自己永遠保持對新事物的好奇心,要對新技術保持敏感度,如果聽到不了解的事情要有興趣弄明白,興趣永遠是最好的考試。
保持和外界交流的渠道,例如參加公司行業的會議、培訓,廣泛的閱讀,多多跟蹤領域內有名的行業專家的部落格,關注行業著名的技術會議,例如Qcon、GMTC、Archsummit,也可以瞭解大廠的開發者會議例如WWDC、Google IO、Facebook F8等等,這些會議資料都是對外免費開放的。

避免捨近求遠
大家往往會追求高大上的酷炫技術,但很多時候都是淺嘗輒止瞭解不深入。其實很多開拓技術視野的機會就在身邊,例如我們都會用的git程式碼倉庫,裡面涉及的Graph的儲存、index技術、檔案系統等等。我們可以多多觀察日常接觸的技術,挖掘其中的實現原理,往往可以開拓你的視野。
參與開源社群也是提升技術視野的一個好辦法,可以從日常經常使用的框架入手,通過提issue或者PR參與進去,加入前期的討論一定會有幫助。

追求極致
對於技術需要精益求精,遇到問題不要簡單滿足於通過Google 或者 Stack Overflow找到解決方案,而要弄明白具體原因。往往日常工作中瑣碎的問題中潛藏著不少可以挖掘的技術點,遇到問題不逃避,問題背後可能是你巨大的盲區,解決這個問題,將意味者你掌握一個新的領域。
經常重構系統,每次重構都是漸進式的,每次重構都要追求比以前更好,在重構中能夠採用新的技術、新的架構,從而擴充自己的知識體系。

加深對技術的理解
每一個技術都是為了解決某些問題而產生的,對於每項技術都應該瞭解其背景,瞭解其試圖解決的問題域和了解技術如何解決這些問題。例如在多平臺跨端這個問題上面,RN的出現就解決了原來Hybrid方式依賴瀏覽器渲染慢、不夠流暢的問題,於是通過Virtual Dom渲染原生元件提升了渲染效率和使用者體驗。Flutter在此基礎上更進一步,直接基於自身跨平臺的渲染引擎來繪製UI,解決了RN在多平臺體驗不一致的問題。
在調研學習一項技術的時候,可以代入思考,技術提升之關鍵點先思考,後對比,然後反思,很多時候思路比實現更重要。

觸類旁通
任何新技術不是空中樓閣,要了解技術血緣關係和演進的歷史,由點到面形成知識圖譜。很多時候技術也是跨學科,例如神經網路演算法和生物學其實是很有淵源的,目前大熱的神經網路系統最初的設計靈感就是來自人類大腦神經元的連線方式。

3 方法 - 團隊篇

 

一個好的團隊氛圍可以讓提升技術視野變得事半功倍,需要打造學習型團隊
• 鼓勵團隊成員瞭解和學習前沿技術,並樂於分享
• 鼓勵同學不放棄,遇到問題不是簡單繞過,而且需要努力弄明白深層次原因
• 學習與實踐結合,將新的技術應用於專案中
• 團隊的成長就是你的成長

4 有用的資源

Github: 碼農交友平臺,提升視野、交友學習不二之選

國內知名的會議:

  • QCon全球軟體開發大會:https://qcon.infoq.cn/2019/beijing/
  • GMTC全球大前端技術會議:https://gmtc.infoq.cn/2019/beijing/
  • ArchSummit:https://archsummit.infoq.cn/2019/shenzhen/

國外知名開發者大會

  • 蘋果開發者大會:https://developer.apple.com/wwdc19/
  • Google IO谷歌開發者大會:https://events.google.com/io/
  • F8 Facebook開發者大會:https://www.f8.com/

國內外知名公司部落格

  • 阿里:阿里中間團隊、阿里雲系統部落格、餓了麼前端
  • 騰訊:騰訊alloy team、騰訊CDC
  • 頭條:頭條技術部落格
  • 百度:百度使用者體驗中心、百度EFE技術體系
  • 美團:美團點評技術部落格
  • 攜程:公眾號 攜程技術中心
  • 360:奇舞團前端團隊
  • Google:Google blog
  • Facebook:Facebook開發者部落格
  • Amazon:亞馬遜開發部落格
  • 微軟:微軟VisualStudio部落格

有興趣同學可以關注微信公眾號奶爸碼農,不定期分享投資理財、IT相關內容: