在程式設計的路上,你是否逐漸對層出不窮的技術生厭?面對著資訊管道中屢屢重複的主題,是否開始感覺破碎而重複,或者總只是瀏覽著每一條標題,卻一點也沒有引發點開閱讀的想法?
逐一取消訂閱技術週刊之類的訊息管道,是熱情的消逝,還是另一個階段的開始?
重複而破碎的訊息
身為開發者,多半都會建立自己的訊息來源,以便吸收各種新知,避免落後於世界的資訊洪流,然而,這種感覺已經有好一陣子了,我看著各種資訊管道中的標題鏈結,卻一點也沒有點進去的欲望,偶而點閱開來,也多半沒看幾段就關掉頁面了,最後也漸漸地察覺到,經常都只是為了瀏覽這些技術管道來源而去瀏覽,花費的時間累積下來越來越可觀,實際吸收的訊息卻越來越貧乏。
隨著這類感覺越來越強烈,我開始下意識地在瀏覽各種資訊管道中的標題時,思考著為什麼這些標題我不會點閱,甚至會令我生厭的原因,逐漸地歸納出來的原因之一是重複,就算是不同的資訊管道,類似甚至是相同標題的鏈結其實會重複出現,訂閱的管道越多,重複的機會越高,於是我逐一退訂許多訊息來源,只留下幾個標題點閱率還比較高的幾個管道。
重複的感覺也來自另一方面,每個技術的出現,都聲稱會解決某個問題,然後引來諸多鎂光燈與許多開發者的追捧,不久之後,就又會出現另一個技術,聲稱可以更完美地解決某某事,然而,實際上它們解決的是相同或相類似的需求,久而久之,許多開發者面對這種現象,多半會有的感覺是「想想大家每年都在追的東西,好虛無,錯過也不會怎樣」,某天我就在這種感覺又出現時,在Twitter寫下了「現在的世界就是,複雜然後重複,不斷地重複著重複的複雜!」。
雖然減少了資訊管道的訂閱,重複的資訊因此減少了,然而,生厭的感覺依舊存在,對於會點閱開來的文件,我總是想著「只有這樣嗎?背後的原因是什麼?是不是還有別的做法?」有時我會進一步點開文件中附上的參考鏈結(如果有的話),有時我會在網路上搜尋相關的內容,試圖將破碎的片段拼湊起來。只不過,為了系統性地將資訊組合起來,時間上的成本覺得越來越高,有時終日搜尋卻苦無結果,引發的空虛感相當強烈。
語言技術不重要了嗎?
或許資訊不斷重複的感覺之一,來自於自己廣泛的興趣。就程式語言來說,不同語言總是有不同的思考方式,同樣一個概念,在不同語言中,可能有相同或不同的做法,後者特別令人感到興奮,這代表著未來面對相同問題時,我可以有不同的思考方式,實現時,也可以有多種語言的選擇。
除了語言,程式庫或框架也是有類似的情況,實際上,性質上相近的技術,彼此之間都會相互學習、吸收優良的元素然後進化,不過,有些最原始的概念,在本質上並不會改變,隨著開發者接觸過的語言、程式庫或框架越來越多,會開始發現這些本質上不變的概念重複出現,而這些技術基本上無論哪個都能解決問題的話,久而久之,確實會開始有種「語言不重要」、「技術不重要」的感覺。
有時,破碎的資訊會加深這種感覺,特別是在面對一些特定領域的語言、程式庫或框架時,往往苦於瞭解的並不是語法、API或流程本身,而是這些元素究竟是基於哪些領域中的知識而百思不得其解,或者明明知道是某些領域知識,卻苦無足夠的基礎來理解,這時往往就會體會到,在這些語言、程式庫、框架之中,重要的是領域知識!
我沒辦法確切記起,面對著各個管道的資訊來源,這種重複而破碎的感覺是從何時開始,後來,我找到了一種解決方式,拿起一本書(或打開電子書),系統性地閱讀當中的內容,通常這可以平撫這種感覺。
特別是在因此而理解了某個主題或獲得啟發之時,先前浪費時間面對重複、破碎資訊的空虛感,往往就會被充實感取代,我留意到,那種充實感,確實往往來自於某個特定的領域知識。
軟體業是魯蛇的救贖?
是什麼時候,一個開發者會開始覺得語言技術不重要了呢?近日在瀏覽ptt的Soft_Job版時,看到一個有趣的標題〈軟體業真的是魯蛇的救贖嗎??〉,我心裡想著,豈止是魯蛇的救贖,就今日鼓吹程式設計的潮流來看,它還可以挽救學習熱情、解放被禁錮的創意、改變偏鄉的未來,甚至加強國家的競爭力呢!
這並不是在嘲諷,畢竟我本身就是離開電子電機領域,在軟體業自學還算有成就的人,雖然過去並沒有魯蛇這樣的名詞,當初我確實就像是電子電機的魯蛇。
程式設計的東西,有著學習管道多、易獲得成就感、不限時間地點、易於傳遞交流、初期犯錯成本低等各種優點,再加上現今潮流仍是程式設計,工作機會相對來說,確實是比較廣且多元,如果真能正面地運用,確實有人能達到上述的成果。
只不過,真的在軟體業中待過若干時日以上的開發者,當然知道並不是每條魯蛇都能獲得救贖,就如我常在說的「三到六個月訓練後就可以拿到的工作,表示三到六個月後就會有可能被另一批人取代」,如果不能持續地提升自己的能力等級,進一步到達重視領域知識的階段,談什麼救贖、解放創意、改變未來、加強競爭力,都是枉然吧!
另一個階段的開始?
如果喜歡程式設計,無論是一開始就在程式開發這條路上,或者是半途離開既有道路而投入這個領域,面對程式設計,總會歷經對程式回饋感到興奮、對嘗試感到有趣、對獲得新技術感到滿足等的蜜月期,接著就會進入挫折不斷的撞牆期,有幸度過的話,通常就會進入平順成長的階段,從技術上獲得的開心、滿足仍然會有,不過,比較能夠持平以對。
接下來,或許就是我目前的這個階段了,面對重複而破碎的技術,引不起興趣,對於特定領域的知識反而會感到好奇,而想要去系統性地瞭解。
與其說語言技術不再重要,不如說,對技術本質上的一些元素太過熟悉了,現階段最迫切想要知道的,反而是如何獲取特定領域中的知識,因為你知道一旦理解了,使用熟悉的技術元素來加以解決,並不會是個問題。
如果你像我一樣,面對重複而破碎的資訊來源,開始生厭甚至不耐,或許也可以減少或暫停在各資訊管道上做無意義的瀏覽,那只會浪費時間!
如果開始有著語言技術不重要了的想法,或許可以想想:會不會背後其實代表著,你想要進一步知道的是某些特定領域的知識,然後系統性地去學習、吸收?別在網路上胡亂搜尋、拼湊,最好可以找到一本書(或一門課程),這樣可以減少浪費時間的空虛感。
至於語言技術重要嗎?二分法的謬誤!這並不是在領域與技術之間二選一的問題,當瞭解一個領域知識之後,可以從領域的角度來看待技術時,其實能夠更清楚知道需要哪種選項。重新思考在這個階段的我,其實只是在面對資訊管道中呈現的標題鏈結時,更能清楚地知道,哪些會是想要進一步付出時間來瞭解,而哪些不是!