現在已經有越來越多創作者,為了加速自己的製作流程,都會或多或少寫點程式來幫助自己優化。
這些創作者們非常清楚瓶頸在哪裡,而且因為他們想要花更多時間創作的慾望,這種動力和求知慾有時候會比工程師自我學習本身來得強烈,甚至可以比工程師更精準地找到解決方法。
看看文件、打個 API,完成一些簡單的應用跟日常工作,這些事情並不需要太大的工程能力,只要一些程式基礎就能輕鬆上手。
這也讓我反思,身為一位工程師應該要怎樣在這種狀況下立足?
當我們跟創作者使用同一套程式語言、同個 Library,解決同樣的問題,人家雖然寫扣醜了點,但比你更有優勢找到問題和解決方案。 當然我知道像是架構、工程化、高流量或是專業程度比較高的領域還是需要經驗跟專業累積,不過這倒也是很好的時機,可以好好思考一下在未來每個領域之間的邊界不再涇渭分明,每個人都可以同時有複數個技能與領域知識,身為一位工程師可以怎麼做?
在這種情況下,如果要繼續往下走,我覺得可以從幾個角度切入:
- 紮實且深厚的計算機科學基礎
- 在除了程式本身以外的一個領域挖深挖廣
- 多接觸除了寫程式以外的事,行銷、產品、管理、溝通、自我經營。
談談好和弦在前幾個禮拜的影片 — 上字幕吧。雖然跟音樂有點離題,但我很驚訝的是他願意把自己的想法轉化為行動的精神,甚至還把它傳到 github 給大家使用跟修改。
這個功能很簡單,會寫程式的工程師們應該都可以在短時間做出來,但我會說更重要的是想法還有行動本身。
這個點子你想得到嗎?更不用說一看到程式碼就想重構跟 Over Engineering 的工程師們,做半天連功能都還做不出來。
而且如果仔細看一下程式碼,其實也沒有那麼難懂,頂多就是變數放在外面不是那麼好管理而已,但我覺得這些程式碼非常的直白簡潔,沒什麼複雜的抽象。
仔細看一下好和弦的頻道,你會發現他身上充滿了優秀工程師的特質,邏輯清晰、條理分明、熱愛分享、行動快速,就連在業界本身都是一件難能可貴的事了,更何況是跨領域。他用鋼琴打電話、解碼影片、用 google 翻譯寫了一首歌、寫了一個字幕產生器、五度圈,有些程式碼我猜可能連工程師們還不一定寫得出來。
好和弦是我非常喜歡的 YouTube 頻道,從高中畢業之後就有不斷在收看,也從當中學到不少實用的樂理知識。
其實學習一個領域,從而衍伸出來的一套學習方法,跟寫程式沒有太大的差別,所以你可以發現明明對方不是本科系,卻一樣可以在那麼短的時間內上手,掌握必要的知識,就是因為在其他領域的訓練。
我在前一份工作中親眼見證這件事。
而創作者們花了大量的時間來產出作品,如果在業界生存下來,必然掌握了一套自己的法則與 know how。因為對方同時有另外一門領域的專業,所以可以更快看到解法或是問題的癥結點。
難道這就代表工程師從此喪失價值了嗎?當然不是。
這個現象反而可以去蕪存菁,一些沒有實力的草包工程師很快就會被比下去。
雖然創作者也開始寫程式是件好事,但是他們往往只是為了解決眼前的問題,而不一定知道原理或效能,這時候就是工程師的價值所在了,但我會說隨著電腦效能過剩,有時候這種價值也不一定可以彰顯出來。
另外就是比較困難的大型題目了,像是 GPS、大數據、機器學習、電腦視覺等等,光靠短暫的學習可能不夠,而是需要投注大量心力鑽研的知識,就是工程師們無可取代的地方。除此之外還有比較底層的知識,作業系統、萬年不變的資料結構與演算法等。
我相信除了好和弦之外,一定還有很多創作者都已經踏足程式領域,感覺會是個很有趣的現象,期待更多創作者分享他們學程式的心得。