談談程式設計師成長

2022-08-11 13:39:17 字數 1742 閱讀 1043

本篇文章主要側重的是程式設計師的硬技能方面的,不涉及軟技能。

綜合上述的幾個原因,我認為對於大部分人來說,要想成為技術大牛,首先還是要明白「主要靠自己」這個道理,適當的時候可以通過請教大牛或者和大牛**來提公升自己,但大部分時間還是自己系統性、有針對性的提公升。

有人認為寫業務**一樣可以很牛逼,理由是業務**一樣可以有各種技巧,例如可以使用封裝和抽象使得業務**更具可擴充套件性,可以通過和產品多交流以便更好的理解和實現業務,日誌記錄好了問題定位效率可以提公升10倍等等。

業務**一樣有技術含量,這點是肯定的,業務**中的技術是每個程式設計師的基礎,但只是掌握了這些技巧,並不能成為技術大牛,就像遊戲中公升級打怪一樣,開始打小怪,經驗值很高,越到後面經驗值越少,打小怪已經不能提公升經驗值了,這個時候就需要打一些更高階的怪,刷一些有挑戰的副本了,成為技術大牛的路也是類似的,你要 不斷的提公升自己的水平,然後面臨更大的挑戰,通過應對這些挑戰從而使自己水平更上一級,然後如此往復。所以我認為:業務**都寫不好的程式設計師肯定無法成為技術大牛,但只把業務**寫好的程式設計師也還不能成為技術大牛。

很多人認為自己沒有成為技術大牛並不是自己不聰明,也不是自己不努力,而是中國的這個環境下,技術人員加班都太多了,導致自己沒有額外的時間進行學習。

這個理由有一定的客觀性,畢竟和歐美相比,我們的加班確實要多一些,但這個因素只是乙個需要克服的問題,並不是不可逾越的鴻溝,畢竟我們身邊還是有那麼多的大牛也是在中國這個環境成長起來的。

我認為有幾個誤區導致了這種看法的形成:

1)上班做的都是重複工作,要想提公升必須自己額外去學習

2)學習需要大段的連續時間

要想有機會,首先你得從人群中冒出來,要想冒出來,你就必須做到與眾不同,要做到與眾不同,你就要做得更多!不分哪些是我該做的、哪些不是我該做的

這一點和張一鳴說的是完全吻合的:

要知道這個世界上沒有完美的東西,你負責的系統和業務,總有不合理和可以改進的地方,這些「不合理」和「可改進」的地方,都是更高階別的怪物,打完後能夠增加更多的經驗值。識別出這些地方,並且給出解決方案,然後向主管提出,一次不行兩次,多提幾次,只要有一次落地了,這就是你的機會。

在做職業等級溝通的時候,發現有很多同學確實也在嘗試do more、do better,但在執行的過程中,幾乎每個人都遇到同乙個問題:光看不用效果很差,怎麼辦?

例如:諸如此類問題還有很多,我這裡分享一下個人的經驗,其實就是3個詞:learning、trying、teaching!

learning

trying

這個步驟就是解答前面提到的很多同學的疑惑的關鍵點,形象來說就是「自己動手豐衣足食」,也就是自己去嘗試搭建一些模擬環境,自己寫一些測試程式。例如:

當然,如果能夠在實際工作中使用,效果會更好,畢竟實際的線上環境和業務複雜度不是我們寫個模擬程式就能夠模擬的,但這樣的機會可遇不可求,大部分情況我們還真的只能靠自己模擬,然後等到真正業務要用的時候,能夠信手拈來。

teaching

一般來說,經過learning和trying,能掌握70%左右,但要真正掌握,我覺得一定要做到能夠跟別人講清楚。因為在講的時候,我們既需要將乙個知識點系統化,也需要考慮各種細節,這會促使我們進一步思考和學習。同時,講出來後看或者聽的人可以有不同的理解,或者有新的補充,這相當於繼續完善了整個知識技能體系。

這樣的例子很多,包括我自己寫部落格的時候經常遇到,本來我覺得自己已經掌握很全面了,但一寫就發現很多點沒考慮到;組內培訓的時候也經常看到,有的同學寫了ppt,但是講的時候,大家一問,或者一討論,就會發現很多點還沒有講清楚,或者有的點其實是理解錯了。寫ppt、講ppt、討論ppt,這個流程全部走一遍,基本上對乙個知識點掌握就比較全面了。

程式設計師成長之路

和同行溝通 了解最新潮流 跟蹤相關的業界變化 和人分享你的經驗和作品 1.最基礎的,卻是最重要的 c語言編譯原理 資料結構與演算法 計算理論 數學 英語 2.模仿大師 追隨大師 多看大師的設計 實現 想象下自己如何做 要認真 模仿直到你看起來像大師 3.養成優秀的 風格 命名規範 對齊方式。k rl...

程式設計師成長路線

圖書封面 我的程式設計師成長之路 程式設計師的成長經歷往往很相似,大部分的人走過了最前面相同的一段路,而有的人則走得更遠。總結自己這些年來的歷程,這也許能讓年輕的程式設計師少走一些彎路,成長得更快 或許更好一些,能讓大家從中得到一些啟發,早日進入優秀程式設計師的階段,實現夢想,釋放激情。第一階段,最...

優秀程式設計師成長之路

優秀程式設計師成長之路 比較寬的知識面,並且能夠時時補充自己的知識和完善自己的知識結構 耐心好,特別是在除錯和學習階段,世界上沒有聰明的人只有刻苦的人。做開發其實就兩件事情學習和改錯,在這兩件事情中間的開發過程其實是比較簡單的 永遠記住 是給人看的而不是給機器執行的,計算機在執行程式時是不怕累的,而...