技術人成長的一點思考

ForestXie發表於2017-06-16

今天的話題,會比較主觀一些,基於我過去10多年工作的切身感受,裡面的內容不見得對每個人都適用,將這些想法寫出來,也是自勉,希望我自己能沿著這條路繼續走下去,不忘初心。

作為一名技術人,技術能力的每一點提升來自於每天工作的積累,越是基礎的只是越應該投入精力去學習,並保持持續的熱情。基礎的知識來源於大學的專業課,包括但不侷限於以下幾門:

1. 《資料結構》

2. 《演算法》

3. 《計算機網路》(TCP/IP、HTTPS、七層模型,Web Socket等)

4. 《編譯原理》 (語義分析,編輯器,解釋程式)

5. 《計算機體系和作業系統》 (儲存管理,程式,檔案系統,I/O等)

這些課程,坦白的說,我是工作以後,才慢慢體會到它們對我成長的幫助的,這些年我學各種技術之所以能做到比較快的掌握,也就是靠這些基礎知識給我的啟示,用現在的話語來說,你的技術認知升級了,學什麼都能歸納到同一條線上來。

掌握這些基礎知識的真正好處在於,你已經建立了一套屬於自己的技術OS,後來所有你學到的語言或者框架,都是跑在你OS上的APP,你的OS能提供足夠好的系統介面,那麼APP就能很輕鬆的接入,後續也能持續高效的迭代這些APP。

建立了知識體系,通過工作中的實踐來修正體系中的各個知識點,這和目前機器學習的思路是一樣的,我們大腦裡的各個技術模型是需要訓練不斷修正的,然後找到適合自己的最優解,確定模型-->訓練模型-->使用模型,最後,才能真正在工作中排上用場。

專案經驗是經歷建立在你的知識體系下的,每個人的知識結構決定了他能在專案中的產出量,反過來說,同一個專案,同一個角色,因為知識結構的不同,在這個專案結束後,不同的人能獲得的提升也會不同,而本次專案獲得的提升,決定了下一個專案或者未來更大的專案的產出和獲得,這也是為什麼同樣兩個應屆生,在工作多年後,可能會有巨大的差別。所以,要成長得更快,需要先建立知識體系,然後靠每一個專案來最大化專案經驗值。這不是有句老話嗎,十年工作經驗,還是一件事重複了十年,就在這裡。

記得過去有個同學問我,怎麼快速的學習“自己不知道的技能”,甚至是“自己不知道自己不知道的技能”(比較拗口),其實很簡單,找到一位或者一群比你強的技術人,和他們在一起,你就可以。加入靠譜的團隊,尋找到一位好領導或者出色的同事是實現個人快速成長,實現彎道超車的最佳實踐。我個人職業生涯最受益的,就是在不同的階段能遇到一些優秀的同事和前輩,從他們身上學習和借鑑到很多寶貴的經驗。

最後,保持一顆好奇心,對自己未知的技術領域總是願意去嘗試,對各種TroubleShooting能樂觀積極的去解決,用開放的心態不斷放空自己,從而獲得更廣闊的技術視野。

(未完待續)

掃描二維碼或手動搜尋微信公眾號: ForestNotes歡迎轉載,帶上以下二維碼即可

技術人成長的一點思考


相關文章