程序員自我修養之效率與原理抉擇

一 追求效率
    第一份碼農是在一家傳統的通訊it公司,雖然是一家股份制公司,但是我所在的地方,福州只是個小分部,而且我所在的小組只有寥寥幾人,一隻手即可數的過來,除非是有新項目,纔有從其他產品線調人過來。所以我呢,需求,測試,運維,維護和開發都有涉及,開發有涉及後臺和前臺,前臺包括web和app.五線程工作的我,十分注重效率,因爲白天要維護微信羣、QQ羣、郵件和地市的電話,還要和客戶談需求,只有晚上和白天間隙才能做開發工作,況且需求接連不斷,無論怎麼做都做不完。任務繁重,那一年多10點下班是常有的事,奮命工作的我終於得到領導的認可,誇讚我的工作效率高。
爲啥效率高呢,類似的功能就是複製過來,修修改改,功能完成就行,比如App接口,照着一個格式,修改出入參就行。對於底層原理從來不關注,因爲我覺得工作是結果導向,只要出結果就行,不管你過程。可是單純的追求效率是正確的嗎?
 

二 追求原理
    從效率轉向對底層原理關注,主要有兩個原因。第一個是找第二份工作的過程,前後陸陸續續面試了十幾家公司,由於之前的工作主要是當業務程序員,而且使用的是公司自己封裝的框架,而面試的主要內容就是ssh等主流框架、多線程、設計模式、hashmap以及微服務等幾乎答不上來,深受打擊。這也讓我思考我之前的工作模式是否正確,效率是否是第一位。第二個是學大數據的過程,最直接的是那些算法聽不懂,其次是使用python是做的一些數據處理,因爲數據處理都有涉及到一些數據結構的內容。這兩個原因讓我想到十分恐怖的一句話,所謂的十年經驗就是將一年經驗重複使用十年。對於就算資深的業務程序員,只會增刪改查,35歲後如果再找工作是十分困難痛苦的,因爲你的年齡上去了,而能力卻沒有上去。招式牛逼只能領先一陣,內容厲害才能大幅領先對手。程序員的內功就是數據結構和算法,雖然很多程序員在日常工作中用不上數據結構和算法,但是如果你在一家成熟的公司,或者BAT這樣的大公司,面對的是千萬級別或者億級別的用戶,開發的是TB、PB級別數據的處理系統。性能開發幾乎是開發工程中時刻要考慮的問題。一個簡單的Arraylist、LinkList的選擇問題,就可能產生成千上萬倍的性能差別。這個時候,數據結構和算法的意思就會完全凸顯出來。

三 總結
    愈發覺得自己的基礎不夠牢固,就算建再高的樓,都隨時有倒塌的風險,基礎纔是能決定我上限的根本,僅以此篇勉勵自己,學好數據結構與算法。以下幾點是以後在工作中需要注意的點。

 1),適當放緩需求進度,在不影響整體需求的情況下,多加註意平常代碼的執行效率,只是完成功能那是遠遠不夠的。

  2),每一週都要總結,每週末要對之前作的功能模塊進行評估,看看是否有能改進的地方。

  3),將《數據結構和算法之美》課程吃透,打擾地基 。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章