l

2019年1月11日 星期五

我想用Scala

Jan. 11 8:34~9:21

螢幕截圖 2019-01-11 09.14.04


數年前Teddy帶幾個學弟開發一個系統,討論完需求後,學弟A建議採用Scala語言。

雖然Scala同時具備物件導向語言與函數導向語言的優點,但在當時Scala還是一個相當新的語言,採用的專案不多,會的人更少。Teddy擔心除了學弟A以外,Teddy自己與其他團隊成員還需要時間學習Scala,可能會模糊專案目標並且影響開發時程。另外,萬一學弟們畢業後,日後系統維護找不到懂Scala的人也是一個問題。再加上使用新語言雖然很酷,但新語言通常有很多「雷」等著不怕死的人去清除。為了 怕麻煩 降低專案風險,於是Teddy建議學弟還是保守一點,用實驗室最熟悉的Java語言來開發這個系統。

多年後函數語言已融入主流的物件導向語言之中,物件與函數的「混搭風」成為主流的開發模式。不知怎麼的幾天前突然想起多年前的這個故事,驚覺到隨著年齡增長,年輕時的冒險犯難精神不知道消失到哪裡了

年輕時剛出社會寫程式,剛好趕上第一波網際網路大爆發時代,Java、Java Applet、JavaScript、HTTP、HTML,這些當年的「新技術」在學校完全沒學過(學校教的是Pascal、C/C++、Fortran、組合語言),但工作上就是要用到,怎麼辦?沒怎麼辦,做中學就是了,專案需要用到什麼技術,就去學什麼技術。當時雖然開發軟體的經驗不足,但企圖心與衝勁十足

***

N年後,多做了一些專案、多讀了一點書,也多了一層鮪魚肚,漸漸補足了當年缺少的軟體開發與軟體生命週期管理的經驗。但隨著手中抓住的東西越多,很多時候反倒捨不得打破現況,去追求那些最新的、風險最高的新東西。

高風險通常伴隨著高失敗率與高收益。人在年輕時應該找機會多冒險、多累積失敗經驗,從失敗中學習。公司也是,特別是新創公司。

那年紀大了怎麼辦!?只能不斷提醒自己:「取捨風險與利益,不要事事都打安全牌,也不要變成自己年輕時所討厭的老屁股XD」。或者,變成支持年輕人去冒險犯難的老人,也是一種不錯的選擇。

***

友藏內心獨白:快速失敗,不斷學習。

1 則留言: