軟體開發者六要

popgis發表於2022-11-24

作為一名軟體開發者,需要具備一些基本的素質,下面就來聊聊從業多年來我自己的感受。

一、一定要熱愛技術

不管做什麼事情,如果你是被動地去做,一定是做不好的。只有真正感到了其中的樂趣,你才可能堅持不懈;只有你抱有一腔熱情,才可能摩擦出火花。所以,做技術興趣很重要。

興趣不是天生的,也是可以培養的。就像學音樂,當你不懂樂譜的時候,在初學時可能是會感到痛苦和煎熬的,但是當你能夠得心應手時,就會逃出初學階段的折磨,逐漸進入到享受的過程中。就拿我們最簡單的學習用鍵盤打字一樣,也必然會經歷一個與困難鬥爭的過程。在這個鬥爭的過程中,有的人比較有毅力,或者把這個過程當作一種快樂而非痛苦,這些人就容易成功,步入自己所眺望的殿堂。有的人只想著痛苦或缺乏毅力,則會輕言放棄。

之所謂:“一念成佛,一念成魔”,全在一念之間。

二、要有較強的學習力

軟體技術不但知識範圍寬而廣、大而深,而且知識的更新換代也非常快。在這個開源盛行的時代,全球的從業者都在不斷貢獻,同一個工具或軟體常常以月為單位更新,有的可能以周為單位更新。開發語言也是不斷推陳出新,比如,近年被推崇的Go、TypeScript等語言。單機應用之後又出現了分散式系統,分散式之後又出現了微服務,微服務之後又出現了雲原生。從IaaS到PaaS到SaaS再到FaaS最後XaaS。……。新的技術不斷湧現,新的行業應用也不斷翻滾,移動網際網路之後,又出了物聯網,物聯網之後又出現了區塊鏈。VR、AR、MR、XR虛擬現實技術蓬勃發展,大資料、機器人、人工智慧突飛猛進,……。如果你沒有很強的學習力,壓根兒就趕不上時代的發展,遲早會被社會和技術所淘汰。

之所謂“活到老”,需要“學到老”。

三、要有禪的定力

知止而後有定;定而後能靜;靜而後能安;安而後能慮;慮而後能得。  ——《大學》

止、定、靜、安、慮,最後可得。

軟體研發人員一定要能“坐的住”。只有坐的住,問題才能得以解決,只有坐的住才能善始善終。

四、一定要細緻認真

系統是由一個個的應用組成的,應用是由一個個模組構成的,模組又是由一個個檔案組成的,而一個程式檔案是由一行行程式碼組成的,一行行程式碼是由一個個跳動的字元組成的,一個個字元又是由一個個位元組組成的,一個個位元組就是由0和1二進位制陣列合而成的。就像這個大千世界,由大到小、由表及裡、由宏觀到微觀,組成了一個複雜而又多變的世界。所以,寫程式碼是一個精細活兒,牽一髮而動全身。

寫程式依靠機器,但確實也是一門手藝活兒,它如同彩繪五彩斑斕,如雕花刀刀玄妙,如緙絲“寸絲寸金”,如雕玉精琢細磨。

好的程式碼是藝術品,不好的程式碼如同惡魔。

五、要有較強的邏輯思辨力

寫程式碼是為了完成某項功能,多項功能合起來可以完成某項業務。沒有實際用途的程式碼是無用的程式碼。有的業務複雜,自然程式碼邏輯也就會複雜。即使再簡單的一行程式碼,也是有邏輯的,即使表示的不是業務邏輯,也有其編譯與執行的內部邏輯。所以,程式設計師必然需要具備較強的邏輯思維能力。

分析問題時你經常需要對程式碼進行觀察、比較、分析、綜合、抽象、概括、判斷、推理、......等等。有時你需要歸納,有時你需要進行演繹。如果涉及到計算,你還需要用到數學知識進行統計分析,圖形影像處理、機器學習、人工智慧、......無不需要複雜的演算法、建模與設計。

程式碼是應用的物料,架構是程式的骨架,邏輯是系統的靈魂。所以,程式設計師需要頭腦清晰,邏輯思維縝密,寫出來的程式bug才可能少。

六、要有紮實的基礎知識

作為一名程式設計師,基礎的知識是必不可少的。

  1. 要懂計算機的組成和原理。
  2. 要掌握兩門以上的開發語言。
  3. 要有作業系統的基本知識。
  4. 要懂資料庫,包括關係型資料庫和非關聯式資料庫。
  5. 要熟練運用常用的開發工具,如VSCode IDE、maven等
  6. 要針對選擇的技術方向,熟悉熱門的幾個開源專案和元件庫。

以上是我對軟體開發者需要具備的基本素質的個人看法,歡迎你留言討論,發表你的看法和見解。

相關文章