大多數人印象中「寫程式」是只有電腦工程師才懂的專業,但隨著科技的進步,透過視覺化的塊狀模組即可完成程式設計,大幅降低寫程式的入門門檻。程式設計如同閱讀,能讓我們獲得更多知識,並培養國際思考以及解決問題的能力,透過鍵盤與滑鼠自信地面對數位創新的世界。─ 蔡總統於「2016 年電腦科學教育週」啟動儀式 (TechOrange)
在我們大聲疾呼多年後,政府終於漸漸睡醒,開始展現對深耕程式教育的重視。往前走,台灣的孩子們將從國小開始接觸這個在21世紀生存,最重要的核心能力。但事實上,學程式遠遠超過學一種技能。實際運用程式去設計、建造產品的過程,隱含著滿滿的人生道理。
我從10歲開始自學程式、組電腦,21歲與大學朋友創辦哈酷網、碩網,開始實際把程式運用在商業世界,28歲在紐約參與社群網站Sosauce、遊戲製作公司Muse的創辦,32 歲回台成立AppWorks幫助年輕人發展網路新創,可以說整個人生都與程式脫不了關係。
回頭看這趟旅程,程式教了我太多人生的智慧,以下是其中我認為最重要的,跟大家分享。
1.程式的目的不是程式
程式是讓使用者運用,幫助他們解決問題、滿足需求的工具。所以真正的目標是「問題被解決」、「需求被滿足」,而不是程式本身。一個工程師必須認清程式不是一件作品,而是過程中的介質,才能設計出真正增進用戶生活的好軟體。
2.困難的事不一定有價值
很多時候,工程師辛苦刻了一些功能,卻發現用戶根本沒有這樣的需求。另一些時候,我們發現按鈕的顏色、說明的文字、新手上路的引導、會員登入後體貼的問候,這些功能做起來很簡單,用戶卻非常在乎。人生也是,我們辛苦的付出,人家不一定有感受,但一句不經意的話,卻可能掀起社會運動。
3.新東西不一定好
人天生喜歡新事物,但在設計軟體產品的過程中,新技術往往不是最好的選擇。新技術通常有很酷炫的核心,但缺乏完整的周邊配套,甚至沒有太多工程師真的懂。因此實務運用上,往往帶來更高的成本與更大的風險。因此,聰明的工程師會選擇成熟或接近成熟的技術。
4.懶惰不是壞事
優秀的工程師往往是最懶惰的動物,正是因為懶惰,所以可以做出最方便好用、容易維護的軟體。
5.簡化才是王道
N倍複雜的軟體,帶來N平方成長的用戶教育、團隊溝通協作、後續維護成本。因此,學程式會教你力行減法的重要,KISS everything. (Keep It Simple and Stupid)