軟體工程師在做什麼?為什麼我想當軟體工程師?
這是一個我仍在思考的問題,這邊紀錄我當前的想法而非結論。
- 學習
我很喜歡從未知到已知的過程,從理解問題開始,了解手上的工具並建構解法 - 建構服務
編寫程式碼在Server上執行,接受請求,轉換成對人有意義的資訊 - 編寫知識
- OOP, Data schema 是在對世界建模,反應著我們對世界的理解
- 程式碼流程,反應的是對流程、商業運作的理解,將混亂化作具體可被執行的演算法
- 處理複雜性
這可以在所有設計的原則上看到- Abstraction
- Easy to change, Don’t repeat yourself
- 回饋感
這個想法是基於自己過去讀統計時,讀完一個觀念不確定能用在哪裡,也不確定自己有沒有真的理解,沒有很明確的回饋,告訴我這個觀念是否已經被吸收了。
然而程式的錯誤是很明確的,容易知道自己投入的方法是否有問題,並且能夠透過回饋去修正。
困惑
- A never ending craft
我一直很好奇軟體作為一種創作的媒介,它的性質是什麼?還有這些性質對人的影響是什麼?
不像是一個木雕或工藝品,在完成後有一個成品的狀態,帶有穩固性。軟體似乎永遠沒有完成的一天,永遠有bug、永遠要加新東西、永遠要應付變動、永遠沒有完成的狀態,是一個極度流動的媒介。
這樣的感受,就像是在海邊蓋沙堡一樣,維持著一個隨時會垮掉的結構,讓我有種不穩定焦慮,了解到價值難以累積,成果懸在半完成狀態的感受。