上上個週日和咱們大學的傳奇人物,研究生在華科,目前在華爲的學長聊了一會。收穫確實很多,果真優秀的人總有一些過人的地方。ios
既然答應了這週六要分享我從學長那裏學到的一些乾貨,那今天就來簡單說說吧!程序員
我已經很盡力精煉本身的話語了,中間反反覆覆修修改了好幾遍。web
因此,仍是建議你們必定要看完,內容不是不少,相信你必定會有收穫!面試
01 練好基本功,勿過於追趕技術時髦
必定要把基本功的修煉放在首位。高樓大廈起于堅實的地基,頂尖的程序員一樣起於過硬的基本功。數據庫
哪些算是程序員的基本功呢?編程
-
技術方面:計算機技術基礎知識、優秀的編碼實踐、系統設計、設計模式、定位問題的能力等等。 -
非技術方面 :對業務的理解能力、抗壓能力、表達能力等等。
如何修煉本身的基本功呢?設計模式
-
不斷學習,提高本身的認知。 -
不要單純爲了完成需求而完成需求,還要考慮代碼質量好比可讀性、bug 數量、可否對擴展友好等等 -
常常總結覆盤。 -
理論+實踐並行。
02 儘可能多溝通交流,提升表達能力
一直以來,不少人對程序員的主觀印象就是:不愛交流、表達能力不行。瀏覽器
我也觀察過身邊的一些很優秀的程序員,我發現他們中的很大一部分人都喜歡默默搞本身的事情,不太喜歡溝通交流,有的甚至在交流方面有點問題。緩存
不善於溝通交流、表達能力不行的話,你面試的時候都吃虧的不行(相信你的身邊也有不少技術雖然通常,可是比較會說的小夥伴找的工做比那些真正編程能力強的人都要好不少)。安全
講一個大學同窗小 A 的例子,我以爲挺可惜的!
在大學的時候,小 A 是技術方面讓我最佩服的一位同窗。然而,他後來找的工做卻很是差(某外包)。小 A 真的是那種典型的不擅長也不喜歡溝通交流,可是技術很是厲害的程序員(高中就開始學習編程,領先咱們一大截。大二的時候花了不到一週就寫了一個功能比較完善的校園通)。
我嘗試了不少次和他交流關於如何準備面試之類的話題,可是效果很通常。每次和他交流其實挺費勁的,一直他說的話不是特別清楚,二是眼神處處遊走,沒有重點。
咱們有不少同窗都向他提過這個問題(主要也是爲了他好,但願他不要浪費了本身的技術,能夠找個好工做),可是,這種東西不是別人說了就能改的。
不愛溝通交流很大程度是受性格因素的影響比較大。固然,不少人不喜歡交流,是以爲交流可能會打破本身制定的工做計劃或者影響到本身的工做效率。
不喜歡溝通交流和表達的人,通常也會更難受到上級的青睞。不少時候你作的工做比別人多,你本覺得你能夠得到更多承認和獎勵,可是,到最後每每收穫的承認度和獎勵卻沒有別人高。
作好本職工做是咱們的份內之事,若是你能偶爾抽出一些時間,多和你的同事、上級或者 leader 交流問題的話,你所能獲得的確定是遠遠超過你所付出的那一會時間。
03 根據事情的重要程度安排優先級
說實話,在這一點上,我本身剛工做那會作的並很差,也常常由於沒有處理好事情的優先級被 diss。
不知道你們會不會有時候在一個不那麼重要的事情上,耽擱好久,雖然這件事情不是很重要,本身也知道要先去作最重要的事情,但就是想把當前的事情作完爲止。
如何安排工做上的事情的優先級?
給幾點建議你們參考一下,整體原則仍是重要的事情優先。
-
客戶、線上、安全問題最優先 -
對於後續開發依賴比較大的業務優先 -
工做量小,流程比較長的優先好比帳戶認證,資源申請等等
04 學會安排本身任務,學會制定計劃
工做以後,你會發現本身的時間少了太多太多太多。
大部分時間都會感受天天忙忙碌碌,後頭看,殊不知道本身究竟作了啥!
前幾天本身剛想學習的某個技術、剛想看某本書,忙着忙着卻又忘記了。
因此,你須要學會合理安排本身的任務。
我我的比較推薦 Trello 做爲我的任務管理工具。
據我所知國內外不少項目都是用 Trello 來作項目管理的。
我平時使用 Trello 記錄一些本身想寫的文章或者代碼,以及一些讀者的投稿狀況和我的忽然冒出來的想法。
下圖是我平時用 Trello 記錄本身要寫的文章或者代碼的效果。我還會按照優先級來排列每個任務和想法。
而後,平時的一些小任務我是經過滴答清單來記的(主流操做系統都有對應版本,而且還有網頁版、瀏覽器插件版)。
最後,再來安利一下番茄工做法! 番茄工做法是我一直在用,而且也常常安排給身邊朋友的一個時間管理方法,簡單易操做,而且效果極好。
維基百科是這樣介紹番茄工做法的:
番茄工做法原理:每次專一一段時間(通常是 25 分鐘)結束搭配一次休息(通常是 5 分鐘),屢次專一(通常爲 4 次)結束搭配一次長休息(通常爲 15 分鐘)。勞逸結合,有助於提升工做效率。
我天天會根據事情的重要程度以及難易程度給我當天要作的全部事情排一個優先級,而後按照番茄工做法一個一個地去完成。每一次專一的 25 分鐘時間內,我都會保證本身只作這一件事情。空餘的 5 分鐘休息時間,我通常會簡單看看郵件、作作眼保健操或者起來站一會放鬆一下。
個人番茄任務管理工具是在 Apple Store 上 花錢購買的 Be Foucused 的 Pro 版。
不是 Mac 電腦的也不要緊,再給小夥伴們再推薦一個多平臺(ios、andriod、mac、win)均可以使用的任務管理工具:番茄土豆 。
05 深刻學習,學會總結沉澱
作我們這一行,不少人最喜歡抱怨的就是:「我天天都是在作重複的 CRUD 工做啊!沒啥意思。」、「這個公司的項目不行,沒用到某某高大上的技術」......
然而,不少這樣抱怨的人連特麼 CRUD 都寫很差,寫個基本的業務功能一測賊多 Bug。
我在剛工做那會也是這樣的。不過,如今再聽到別人這樣抱怨的時候,我通常都會首先以爲這我的有點浮躁,不知道如何學習提高本身。
單純把業務代碼寫好真的沒那麼容易,抱怨本身每天作 CRUD 工做以前,必定要先看看本身 CRUD 的代碼寫好沒。
另外,就單純一個 CRUD 的工做,只要你善於學習,仍是能從項目中挖掘到不少值得你學習的點。 舉個例子,你項目用的是 JPA ,你把 JPA 玩的很溜了以後,是否是能夠考慮去研究一下 JPA 的底層原理呢!還好比說,項目某個模塊的響應速度太慢,本身是否是能夠考慮經過某些手段好比 SQL 優化、DB 參數調優、JVM 參數調優、索引、讀寫分離、緩存等手段來優化一下呢!
真的!就單純一個最基本的 CRUD 的項目要考慮到的點就已經夠多了。必定不要眼高手低,成天就想着微服務、高併發,總以爲「低級」的開發工做配不上本身的身份了。
再來聊一下回顧總結。
不少時候,咱們作一個項目,作完了以後就感受本身就和這個項目沒有關係了。項目上學到的一些東西或者能夠改進的地方,徹底不想花時間總結。
以致於,不少年以後,你學到的東西仍是比較零散的,不成體系。 別人詢問你「有沒有從上個項目學到點什麼?」的時候,本身卻無法回答。
不會進行思考總結,你作再多的項目,瞭解再多的技術又如何?可能就只是表面上好看而已,有些東西永遠都成爲不了本身的。
對應到咱們平時學習技術的時候也是同樣,記得必定要多總結思考!
06 要有 Owner 意識
工做以後,常常聽到你們夥開批鬥會的時候說:「某某 Owner 意識不行!」、「某某頗有 Owner 意識啊!」。
什麼叫有 Owner 意識呢? 我舉幾個例子你們應該就明白了。
-
某天客戶忽然在羣裏詢問了一個問題,你及時在羣裏迴應了客戶。這就叫有 Owner 意識。 -
以爲項目某個模塊的數據庫表設計有問題,本身私下進行了深度思考,並給出了優化方案,以後找到技術 Leader 說明了本身想法。這就叫有 Owner 意識 -
以爲項目某個模塊的技術方案有問題,本身找到技術 Leader 進行了溝通。這就叫有 Owner 意識
什麼叫沒有 Owner 意識呢? 我舉幾個反例你們應該就明白了。
-
某天客戶忽然在羣裏詢問了一個問題,你看到了問題,可是以爲本身的工做還沒作完或者以爲這事不重要,乾脆就僞裝沒看見。這就叫缺少 Owner 意識。正確的作法是積極主動地推進問題的解決。若是本身沒能力解決或者實現沒時間解決的話,能夠聯繫相關的同事幫忙解決。 -
以爲項目某個模塊的數據庫表設計有問題,本身就直接找到 Leader 開始抱怨:「這特麼表設計的什麼鬼啊!」。這就叫缺少 Owner 意識。 -
以爲項目某個模塊的技術方案有問題,本身睜一隻眼閉一隻眼,沒有找技術 Leader 溝通,技術方案肯定以後,卻常常抱怨技術方案設計的不夠好。這就叫缺少 Owner 意識。
有 Owner 意識,並非說讓你們都去當「奮鬥逼」,故意在上級面前多表現一下。而是說,但願本身可以對工做更加負責,更加積極主動地參與項目的建設。
07 總結
對於上面每一點建議的理解,每一個人可能都不同。
若是你以爲上面某一點對你有用的話,不要關了這篇文章以後你就忘記了,建議你必定要記錄下來。從當下開始就去努力踐行。
最後,再來回顧一下這 6 點建議:
-
練好基本功,勿過於追趕技術時髦 -
儘可能多溝通交流,提升表達能力 -
根據事情的重要程度安排優先級 -
學會安排本身任務,學會制定計劃 -
深刻學習,學會總結沉澱 -
要有 Owner 意識
週末愉快!2020-09-19 晚 8:09
本文分享自微信公衆號 - JavaGuide(JavaGuide)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。