程式設計師的自我修養 持續演進

2021-09-27 04:11:58 字數 2411 閱讀 8122

我覺得程式設計師是乙個很有意思的職業,從事創造性勞動,不是在學習東西,就是在解決問題!可是有時我們過得也並不輕鬆,大多數時候總被這樣那樣的困難、麻煩困擾著!這裡是我平時在每次沮喪到成功的實踐中的一點心得,我發現許多任務作也是有規律和經驗的,按照這些經驗,總能讓自己從緊促的節奏中走出來,獲得更多信心和慰藉。希望自己能牢記他們,作為對自己的提示!時常也能根據這些反省一下,我把它們稱為程式設計師的自我修養!

工具真的可以改變你對一件事情的看法和層次:

作為乙個碼農對於這個概念的理解源於最初自己在使用idea看原始碼,工具很好很強大,只是多數時候我們不知道有什麼工具,或者我們根本不會用.idea的強大就是繼承\方法呼叫都能以非常快速的方式分析出來,而不需要我們手動新增,之前看**的節奏很慢,看著看著就不知道自己調到**去了,這是一種非常蠢的看**的方式,使用工具的時候輕鬆輕鬆解決這些問題.

這裡的工具其實存在於很多地方,小的軟體類似vim之於linux,git之於版本管理,大的說包括開源的框架spring,各種資料庫技術,訊息佇列框架,分布式框架,容器技術,編排技術,這些無不是因為某個不方便原因,別人開發出來的工具。

解決問題你就要嘗試,嘗試工具,保持擁抱工具,你會發現也許有一條路,並不那麼費勁,也不過如此!

如果你覺得乙個事情做起來很困難,請嘗試找找工具,如果工具找不到,發現尋找很困難的地方,或許這就是乙個我們生活中的上商機,工作進步的引子,學習的乙個契機,請抓住!

入職三年,帶人做專案已經接觸了許多人,從最開始的職場菜鳥到乙個獨當一面的程式猿,再到別人的導師\專案負責人,接觸的人越多,越覺得積極主動的重要性!

如果能做到這些,想不出眾都難!最怕的新人就是你不找他 他永遠不找你!遇到問題喜歡自己乙個人搞,不去想想應該怎麼做更快!

自主學習是很重要的事情,但是這個世界不是所有的事情都適合自主學習的!

業務的東西,沒有資料,你學不會,只有多問多思考;

技術的細節,你能自己搜尋自己處理就自己處理;

看**總會有一些點,你覺得特別麻煩,覺得看到這裡就不懂,生活中也總有些不方便,讓你想去放棄一些事情!

但是往往提高也是從這裡開始的,如果你能關注到那些讓你不適應不知所措的點,發現其中的原因也許就多了一次學習的機會進步的機會;

發現要學習的東西多了後,記憶力就特別的差,好的新的概念,新的知識,今天看了,明天忘記!

這個時候想想是不是應該換種思維方式記憶,可能你的最後的救命稻草就是圖記憶的方式了

畫個圖,盡量基礎細節!然後描述這張圖,你會發現你還能記住不少東西的!

我發現有許多問題,都是有很多思維定式的原因在裡面!

表面很簡單的問題,一旦我們陷入乙個思維定式,會發現短期內,這個東西真的很難!!!但是能有多難呢?可能就是乙個表示式,括號我們沒有看到,語法完全錯了;可能是一種本該合理我們卻忽略了地情況;甚至有些時候就是乙個標點符號少寫了!

當我們把目光一直朝著功能看的時候,可能在不通的時候看看周圍!

總會有一瞬間,覺得乙個東西很棘手,但是你要相信那只是一時的思維蒙蔽了我們的眼睛,這裡有兩個思路,能很好的解決這些問題

兩個解決問題思路:

你的**一定會出問題,所以一定要正式單元測試,正視發現它的流程,通過邊緣檢查、單元測試、判定空,等方法,讓自己的方法好好的經過一輪測試!

這樣能最大範圍的減少問題!

因為一定會出錯,所以一定要重視單元測試!重視每一次異常暴露出來的問題,哪怕只有一點,可是也許就是這一點可能帶來更多風險!切記!單元測試,正常流程!異常流程!邊界值!期望輸出目的輸出!多個方面考察自己的**!你會有更多成功的地方!

由於每個人的理解能力不能,同樣的任務,交給不同的人,可能理解和完成都存在差異!這是很正常的現象,就像夏農取樣定律一樣,訊號傳遞是有損耗的,人也是如此。

見識過一些技術大牛,聽過不少課程,我發現牛人都是有許多相通的地方的,比如說基礎很好!花哨的東西有很多,分布式,大資料,機器學習,人工智慧,但是技術的瞬息萬變中,還是蘊藏著許多不變的東西。比如你的數學要好,你的英語要6,比如對作業系統底層原理精通,再比如熟讀tcpip原理,在於資料結構與演算法!技術潮流可能每年都在變化,但是技術的思想還是那些我們上的基礎----高等數學、概率論、復變函式,專業上來說無非就是網路原理、演算法導論、計算機系統、作業系統等。

事實上主流的技術方向不過也是在這些基礎上玩出來來的新花招,比如redis正是計算機快取在業務領域的乙個借鑑;再比如分布式,不過就是將cpu多核的特性應用在了多個電腦的平行計算;還有訊息佇列,怎麼看它的可靠性保障都和tcp的傳輸有點像!

技術這條路上你的底層基礎決定了你的高度和廣度,這是不爭的事實!

在此我也希望自己立下自己的flag,作為乙個非計算機專業的coder,用未來的兩年,好好去研究那些計算機領域、大學裡的基礎課,先寫下來:

程式設計師的自我修養

一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...

程式設計師的自我修養

一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...

程式設計師的自我修養

對合作夥伴的尊重與包容 每個人的水平必然是不相同,大家各有擅長,並且在不斷進步中。所以遇到同事或者合作的友商犯了比較低階 對你來說可能是 的錯誤是很正常的事情,我們更多的是應該給與尊重與包容,而不是嘲笑或者消極對待。在不斷的鼓勵同事和合作夥伴之後,能感受到大家對我的信賴,特別是和友商的合作變得非常的...