按讚看精選好文
粉絲團按讚:
在臉書上追蹤我們的訊息
留給孩子金山銀山,不如給他這7種好習慣! 人生說到底,都是活給自己看的! 所以,千萬別忘記做人最重要的,就是「做自己」

一位工程師的 人生體悟:程式,不只是技能,因為當中有著滿滿的「人生道理」!

12月 2016年21
收藏

(圖片來源:stastic)

 

作者:Mr. Jamie

 

大多數人印象中「寫程式」

是只有電腦工程師才懂的專業,

但隨著科技的進步,

透過視覺化的塊狀模組即可完成程式設計,

大幅降低寫程式的入門門檻。

程式設計如同閱讀,能讓我們獲得更多知識,

並培養國際思考以及解決問題的能力,

透過鍵盤與滑鼠自信地面對數位創新的世界。

─ 蔡總統於「2016 年電腦科學教育週」啟動儀式 

 

在我們大聲疾呼多年後,政府終於漸漸睡醒,

開始展現對深耕程式教育的重視。

往前走,台灣的孩子們將從國小

開始接觸這個在 21 世紀生存,最重要的核心能力。

但事實上,學程式遠遠超過學一種技能。

實際運用程式去設計、建造產品的過程,

隱含著滿滿的人生道理。

 

繼續看下去...

 

(贊助商連結...)

 

程式教了我太多人生的智慧

我從 10 歲開始自學程式、組電腦,

21 歲與大學朋友創辦哈酷網、碩網,

開始實際把程式運用在商業世界,

28 歲在紐約參與社群網站 Sosauce、

遊戲製作公司 Muse 的創辦,

32 歲回台成立 AppWorks 幫助年輕人發展網路新創,

可以說整個人生都與程式脫不了關係。

回頭看這趟旅程,程式教了我太多人生的智慧,

以下是其中我認為最重要的,跟大家分享。

 

程式的目的不是程式

程式是讓使用者運用,

幫助他們解決問題、滿足需求的工具。

所以真正的目標是「問題被解決」、

「需求被滿足」,而不是程式本身。

一個工程師必須認清程式不是一件作品,

而是過程中的介質,

才能設計出真正增進用戶生活的好軟體。

 

困難的事不一定有價值

很多時候,工程師辛苦刻了一些功能,

卻發現用戶根本沒有這樣的需求。

另一些時候,我們發現按鈕的顏色、

說明的文字、新手上路的引導、

會員登入後體貼的問候,

這些功能做起來很簡單,用戶卻非常在乎。

人生也是,我們辛苦的付出,

人家不一定有感受,

但一句不經意的話,卻可能掀起社會運動。

 

 

新東西不一定好

人天生喜歡新事物,

但在設計軟體產品的過程中,

新技術往往不是最好的選擇。

新技術通常有很酷炫的核心,

但缺乏完整的周邊配套,

甚至沒有太多工程師真的懂。

因此實務運用上,

往往帶來更高的成本與更大的風險。

因此,聰明的工程師會選擇成熟或接近成熟的技術。

 

懶惰不是壞事

優秀的工程師往往是最懶惰的動物,

正是因為懶惰,

所以可以做出最方便好用、容易維護的軟體。

 

簡化才是王道

N 倍複雜的軟體,

帶來 N 平方成長的用戶教育、

團隊溝通協作、後續維護成本。

因此,學程式會教你力行減法的重要,

KISS everything.

(Keep It Simple and Stupid)

 

(圖片來源:Vixen Daily)

 

系統思考

程式往往不是一個獨立存在的個體,

而是由許多互相連動的模組、物件、平台所形成的體系。

因此,學習設計程式的同時,

也勢必會增強系統思考的能力,

幫助你理解單獨模組的優化

不一定能提昇整體戰力,

以及找到系統內槓桿點等重要人生觀念。

 

沒有情緒、只有邏輯

人是理性與感性兼具的動物,

但機器卻只有 100% 的理性。

因此當你的程式無法 Compile (編譯過關),

跟機器生氣、求情、說謊都是沒用的。

只有學會摒棄自己的情緒,

用完全合乎邏輯的方式,

才能通過他們嚴格的關卡。

在過程中,你也學會了如何運用 EQ。

 

問題的根源都是自己

當程式掛點、當用戶的問題沒解決、需求不滿足,

你並不能怪罪用戶、也無法推卸給機器,

只能怪自己沒有做出好的選擇、

設計出對的架構、寫出可靠的程式。

人生也是一樣,

問題都根源於自己過去某個時點

做出的選擇,沒什麼好責怪別人。

 

 

速度與債

在設計早期版本軟體時,

為了求快、求提早取得市場反饋,

工程師往往會用較粗魯的方式完成功能,

因此欠下所謂「技術債」。而後,

當產品獲得市場歡迎,用戶量持續成長,

償還這個技術債所需的時間與人力就會日益膨脹,

就像現實生活中的負債會生利息一樣。

因此,工程師要懂得在對的時間點,

把前債還清,才不會在日後造成永不超生的後果。

經歷過幾次這個過程,

你將學會用成熟的態度去面對選擇、負債、償還。

 

可以一時繞過麻煩,

但無法永遠逃避它

這跟技術債的概念很類似,有時候,

工程師可以用 Work Around 暫時繞過問題,

但它不能取代解決問題本身。

遲早,你必須正面面對、解決它。

 

永遠幫自己留條後路

程式做久的工程師,往往會養成習慣在迴圈,

或是需要長時間的執行程序中,

幫自己留一個跳出的路徑,

免得事情出狀況時,無法搶救。

在人生中,永遠想好後路也是很重要的觀念。

 

 

用小里程碑激勵自己

在做一個大系統時,

如果花數週、數月的時間埋頭苦幹,

卻一直沒辦法看到成果,

很難維持自己在意志高昂的狀態。

厲害的工程師會把它切割成許多小片段,

每個階段完成都有可運作的部份成果,

利用這些小里程碑來讓自己保持熱情。

 

專注的重要

專心的設計程式 1 小時,

生產力恐怕抵過邊做邊玩 10 個小時。

 

團隊合作的重要

無論一個工程師再強,

也無法一個人完成一個大系統。

與其他人組織、協做、發揮整體戰力,

是工程師必修的功課,

也是所有人一生中必修的功課。

 

一天中的種種觀察, 我常分享在 Facebook,

歡迎收聽Mr.Jamie 臉書。

本文由 Mr. Jamie 授權轉載 原文於此

本文受著作權保護,請勿侵權。

(責任編輯:CMoney編輯/Luke)

 

菁英軟體工程師戰鬥營

熱烈招生中!

想學程式、成為工程師

卻怕自己沒基礎、學不好嗎?

別擔心!

CMoney 菁英軟體工程師戰鬥營

只要夠熱血,從0開始也能學程式!

 

不但全程免費,同時邀請學、業界師資

培養你的程式力,提高競爭力!

 

馬上行動>>立即報名!

活動詳情:菁英軟體工程師戰鬥營 營隊介紹

有問題歡迎私訊粉專:從0開始學程式!

或是寄信到:engineertraining@cmoney.com.tw

 

 

好文章 分享給朋友吧~

粉絲團按讚:
在臉書上追蹤我們

熱門文章排行

    最新文章分享

      熱門標籤

      熱門作者

      文章分類