前幾天公司在討論「企業如何降低技術綁架的風險」這事,我第一時間看到,還沒意識到原來這件事跟自己也有關,原以為只是公司寫給客戶看的勸世文,後來這週跟幾個業界其他工程師好友吃飯,他們在抱怨公司發生的事,仔細一想,這根本就是「技術綁架」啊,究竟什麼是技術綁架?我認為這是所有技術人都該思考的一件事。
前幾天公司在討論「企業如何降低技術綁架的風險」這事,我第一時間看到,還沒意識到原來這件事跟自己也有關,原以為只是公司寫給客戶看的勸世文,後來這週跟幾個業界其他工程師好友吃飯,他們在抱怨公司發生的事,仔細一想,這根本就是「技術綁架」啊,究竟什麼是技術綁架?我認為這是所有技術人都該思考的一件事。
引用公司文章的說明,所謂「技術綁架」就是,當工程師在某個特定技術領域投入大量時間、精力,容易導致他們在策劃解決方案或面對新技術挑戰時,過度依賴自身已熟悉的技術,忽視其他更合適的選擇,甚至給錯老闆建議,各位看到這有沒有瑟瑟發抖,這不就是,每天都有可能上演的事嗎?
我的工程師朋友 A 就是苦主之一,那天好不容易訂了一間很厲害的烤鴨餐廳,結果師傅桌邊表演片鴨秀時,他也邊抱怨公司主管,我手機錄的整支影片 OS 都是在他在抱怨技術綁架,簡單說,朋友 A 是在台灣一間上市櫃科技公司上班,最近他們公司的某些專案,需要引進新技術,結果 A 的主管,也是公司的技術總監,因對該技術不熟悉,在沒研究之下,直接跟老闆說:「不可能做到。」還用了各種理由推拖,導致最後沒有引進。
朋友邊吃邊還氣憤的列點回答,第一,這位技術主管因只熟悉特定程式語言 ,每次提想法都直覺性杜絕其他技術,錯失很多好的解決方案,第二,那個應用新技術的方案很好,要是引進了,公司內部工作效率就可以大幅提升,人力安排也會改善,卻沒被老闆採用,第三,技術主管懂的太少,很多公司技術發展都因此而受限。A 最後的結論是:「被技術綁架真的好可怕啊」其實類似的事情,我之前也碰過,公司有個外國客戶,因為換了一個對某個技術特別偏執的老闆,就把我們團隊換掉,換成別的團隊,最後搞砸了又回來找我們。最後,同樣的任務,客戶用了兩倍時間、兩倍預算才解決。如果老闆一開始就注意到這是技術綁架的問題,就不用那麼捶心肝吧,超浪費成本的。
我認為所有的技術人、工程師都應該檢視一下自己有沒有陷入「技術綁架」的陷阱,像我本身主要精通 Ruby on Rails,雖然 PHP、JAVA 也多少會使用,但其實我在做決策時,第一時間也會先以 Ruby on Rails 作為最初考量,畢竟是我最熟悉的,若發現這個專案用 Ruby on Rails 做沒有比較好,我也不會硬要堅持,我還是會去思考老闆需求是什麼?客戶真正想解決什麼問題,因為自己不熟練就認為「不行」,等於限制了自己的視野。
至於老闆不懂技術這件事,我通常碰到比較多是客戶的老闆不懂技術,雖然解釋起來比較辛苦,但我仍會盡量給老闆兩種以上的替代方案,幫助他們釐清、瞭解進而做出好一點的決定,上述提到,朋友 A 的主管給老闆錯誤建議,其實時間一長,老闆也會發現問題出在哪,如果你是被老闆依賴的技術主管,一定得跳出自己的「技術舒適圈」,多多補充技術知識或逛逛開發者論壇。
我平常維持自己技術知識量的方法,多半都是泡在技術圈相關的社群,或是參加像 RubyConf Taiwan 這種可以在現場與套件開發人員交流的大會 ,而且 Ruby on Rails 已經有很多成功案例可參考,作為開發依據,就算碰到什麼奇怪的問題,都可以在社群發問,根本是技術攻略站,有時候,一個人的經驗很有限,但一群人的經驗就能開拓眼界,祝福各位技術人、工程師都能好好修養自我,不被「技術綁架」!