試圖從程序員到軟件藝師(讀《Java編程思想》有感)

當我拿到這本書時,看到作者的一句最讓人心動的話:“嘗試將程序員從操作系統的體制中解放出來,朝着軟件藝師的方向發展。”

我對此的理解是,程序員不應該僅限於熟練在各個操作系統間來去自如地玩弄着自己的各種巨幅的代碼篇章,而應該朝着這樣的方向發展——將編程看成是一項藝術行爲,把自己的各個項目成果看成就是自己精心打造的一個藝術的結晶。當然這裏的程序員可能更加類似於產品設計人員了,而非專注代碼的程序員了。

但是在我看來,在科技不斷的發展過程中,越是底層的東西可能越來越會沉澱下來。就像數學,在21世紀之前,數學的絕大部分基礎性的定義及定理都基本成形了,沒有或者說少有改進的地方,除非誕生了一個數學中的某個具體分支的學科的開山鼻祖,他新發現了並定義了一個新的學科,那麼在他這個領域確實還有很多東西都是空白,需要有更多的人爲之積澱新的血液。當然了,數學的發展歷史遠遠超過了計算機的歷史,但是這幾十年我們也見證了計算機以驚人的速度在不斷髮展。

因此我們有理由相信,就像現在很少但絕對是長年甚至一生專注於研究機理深奧且複雜的基礎數學,計算機學科將類似越來越需要更少的人來爲他的基礎理論服務,大多數人還是把這些基礎理論或說現成的底層代碼拿來就用,而不假思考。當然了,如果你對基礎的東西也感興趣並深有研究,對這些東西你當然可以向對待“拿來主義”一樣嗤之以鼻,並且可以提出批評改正的地方。但是呢,這樣一來,我們可能將花大量的時間專注於底層效率的提高或者漏洞的減少等細節,當然了,如果你的最終產品是屬於要求安全性極高的類型的話,這也無可厚非。而我所強調的是這些之外的產品類型,這些產品類型基本是面向個人的(其實其他的情況我沒有考慮過,所以暫且不議),這樣的話一定是很強調用戶體驗的,而用戶不關心我們程序員的具體實現方法及過程。這就在無形中爲我們提供了設計這樣一類產品的建議:一切以用戶體驗爲第一目標,其他都是次要的。

其實,我想說的是,我作爲一個程序員,但發展的目標是面向個人用戶的產品設計師。但是我想作爲一個產品設計師,懂得一定的技術是必要的,再加上靈感,就很可能設計出好的產品。這裏我想到曾經在知乎網上看到一個人對技術的理解——“技術是什麼,其實從認知上來說,技術就是“解蔽”,俗話說就是看清某樣事物的運行過程,當然看清之後,人們就可以加以利用,發明設計和創造更好的運行方式或者說產品。”正如聞名遐邇的蘋果集團創始人喬布斯這樣一個頂尖級設計大師,就從他曾經創造個人電腦一事可以看出起碼他是知曉甚至熟知這一運行過程的,再憑着他敏銳的觸覺和過人的智慧,便設計出各種令人驚豔的產品。

因此,我的目前努力方向就是打好技術的基礎,同時不斷關注各種產品的設計思路及思想。將來成爲一個軟件藝師,最自豪的一件事莫過於設計出一項令大多數人滿意甚至叫好的產品,當然這樣不斷創作作品的的過程也是最能體現個人的價值,這不就是人生最有意義的一件事嗎?

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