寫程式之外,傑出軟體工程師所需的六項能力

如果具備上述能力,還需要擔心工作的問題嗎?如果業界有很多高生產力的人才,還需要這麼擔心競爭力的問題嗎?
評論
An illustration picture shows a projection of binary code around the shadow of a man holding a laptop computer in an office in Warsaw June 24, 2013. REUTERS/Kacper Pempel (POLAND - Tags: BUSINESS TELECOMS) - RTX10ZBN
評論

本文原刊登於台灣大學資工系副教授洪士灝的 Facebook。Inside 獲授權轉載。

這篇【會寫程式還不夠,矽谷傑出軟體工程師都有的 5 種能力】說得不錯,值得想深耕軟體技術領域、以技術立身的人一讀。這也是我在矽谷工作時的切身經驗,因此我一直希望訓練學生這些高生產力的傑出軟體工程師所具備的能力:

一、不害怕探索陌生程式語言
二、精通 Debug
三、開發節省時間的工具
四、優化重複性工作的速度
五、發展系統性思考模式
(請自行閱讀該文)

我前些日子寫過一篇【博士滿座的系統優化團隊】,略講了一下我之前在矽谷工作的團隊。我十一年前從矽谷回到台灣教書,原本想把這些工程研發能力的重要性傳達給學生,卻發現號稱電腦王國的台灣,在軟體工程的領域的研發文化竟是意想不到的淺碟。明明是國外重視的工程技術,國內卻乏人問津。學界標榜要世界一流,只好抄捷徑,從理論著手;業界要快速賺錢,沒時間研發,要的是現成的解決方案,所以在軟體界,產學的落差很大。

要知道,產學落差影響最大的是學生和工程師。講難聽點,教授可以一輩子在學術的象牙塔裡優遊自在,不用太在意學生的出路;老闆和主管把握時機賺飽了錢,之後可以把產業當投資遊戲來玩。但如果在學校沒有受到足夠的工程訓練,成為工程師之後又沒有機會做深入的研發案,可能一輩子只能「逐水草而居」,接些門檻不高的專案,難以成為傑出的軟體工程師和系統架構師,結果就是一直為人代工、為人作嫁。

礙於視野,一般學生常常以為解決困難的理論問題、寫出酷炫的應用才了不起,程式設計競賽得獎的是神人,不大明白軟體和系統工程的概念,不大知道高生產力的意義性。如果一直做為人代工、為人作嫁的工程師,或是成為主管、老闆、理論型學者,是您想要過的日子,那麼您大可不必繼續看下去了。

以下是我的個人經驗談,分別對應到以上的五項能力:

1. 我很早就建立起程式設計能力,在高中時自己學了約十種程式語言,學到後來覺得學新的程式語言沒什麼了不起,只是很有趣、很簡單、很有用。所以只要有空、有需要、有機會,就很自然地會學到新的語言。尤其在平行處理、分散式系統和異質計算一直有新的語言出現,需要有不害怕探索陌生程式語言的能力。

2. 然而我必須說我從來就不是很擅長特定的程式語言,也不是很精通程式設計,我很少設計新的演算法,但我看很多人寫的程式碼,而且擅長 Debug,這是設計師和工程師的重要差別之一。在解決平行處理和系統效能優化的工程問題時,會遇到很多一般程式所沒有的 Bug,而且很難抓,尤其是所謂的 Performance Bug,更是需要傷腦筋,有時候還需要一些方法論和工具才行。

3. 因為平行程式的 Bug 很難抓,複雜系統 Performance 不好分析,所以需要開發出能幫開發者節省時間的工具。我的博士論文裡面敘述如何以工具蒐集程式的靜態與動態資訊,以工具進行分析和優化,甚至設計工具去將程式和系統建成模型(model)後做進一步的模擬。我在矽谷 Sun 公司做系統優化工作時,用了非常多的效能分析工具;現在帶領學生開發從晶片設計到超級電腦的輔助工具,都覺得工具特別重要。

4. 除了工具之外,要進一步省下大部分時間(所以日子可以輕鬆點),必須觀察或預判工作中大量重複的部分,設法將之優化。好比優化程式的效能。就是找到關鍵的迴圈,再以各種手段(編譯器選項、改寫程式碼、平行化、GPU、硬體加速器等等)去加速它。同樣的想法也可應用在工作和生活上,要重複同一工作很多次,可不可以寫一個小程式(Script)去自動化工作的執行和結果的分析? 如果每天重複做某些事,能否換個方式讓這些工作變得有效率?

5. 即便是簡單的系統,也有「牽一髮動全身」的問題。很多時候,做了一件所謂優化的工作,未必會得到好處,搞不好先看到壞處。複雜的系統就像人體和社會,出了問題要吃藥、要修法,但藥不能亂吃,法不能亂修,需要有「系統性思考模式」: 了解每個變因可能造成的正面和負面的結果,乃至於變因之間、變因與系統之間的交互影響。對複雜系統來說,做這件事的難度很高,所以我才會一直想研究方法論和發展工具,來提高生產力。

容我再補充第六點:

六、化繁為簡、有條不紊與人溝通。很多工程師很難與人溝通,有些滿嘴都是一般人或老闆聽不懂的術語,有些則是會做不會講。各位到矽谷看,大部分的高級工程師都能言善道,能夠把艱澀難懂的技術,依據對方的程度,用對方能聽懂的語言表達。如果不能表達清楚的話,再怎麼厲害,作為工程師的成就也有限。
擁有高度生產力的工程師,是國家真正的技術力和國際的競爭力,這是瑞士、荷蘭、以色列、芬蘭這些國家走的路線,而不是靠低工資和加班工作。我發現台灣過去的薄利多銷的路線已經不單只是衍生出業界現在必須面對的問題,經濟壓力和普遍過勞的現象也造成不少社會文化的問題,影響健康、降低生活品質、讓文化層次停滯不前。

在我個人能力範圍所能做的,是設法提高我學生的工程素養,有機會就協助某些有志提昇技術能力的業界人士。但大家可能要先有個認識,這些能力往往都不是一般人到研究所和業界學個一年兩年能夠出師的。以我個人的駑鈍之才,到了國外念博班和工作時有緣遇到艱難的工程問題,才得以略窺門徑,然而在台灣要如何才學到這些技能呢?

我沒有簡單的答案,這也不是容易的事,我之前談過多次,包括最近一篇【系統人才的出路】。我只是相信,以目前台灣的環境來說,這是一條值得鼓勵嘗試的路,如果在學校和業界有機會面對艱難、前瞻的工程問題,才有機會練到功夫。網路上很多明師,不一定要拜師才能學藝。

反過來說,如果只在乎速成,在學校不願挑戰艱難的工程問題,到了業界又沒有機會遇到前瞻的工程問題,我想就很難發展上述的能力,這也是當前台灣業界非常缺乏系統架構師、軟體架構師的原因。

但這些原因都不是真正足以阻擋一個能欣賞工程技藝的、願意認真學東西的人,有機會花幾年時間深入做系統研究,自然會學到上述能力,Jim Huang 就是一個好例子。如果具備上述能力,還需要擔心工作的問題嗎?如果業界有很多高生產力的人才,還需要這麼擔心競爭力的問題嗎?


智慧照護新革命!AI 機器人成為智慧醫療助手

高齡化浪潮來襲, 2025 年台灣將步入超高齡社會,65 歲以上人口佔比超過 20%。高齡化加上少子化,衍生勞動力短缺不足,經濟部工業局推動「電子資訊智慧製造服務系統推動計畫」,加速服務型機器人產業發展,借鏡日本智慧長照現況,把科技導入照護場域,提升更好的生活品質。
評論
Photo Credit:經濟部工業局
評論

日本是全球高齡化程度最高的國家,而台灣高齡化的腳步愈來愈快,僅剩不到 5 年的時間準備。因應長期照顧與醫療照護需求,各單位紛紛投入 AI 應用服務,解決人口結構改變問題。綜觀以 AIoT(物聯網 + 人工智慧)為核心的智慧醫療趨勢,可輔助醫療流程、節省人力成本,更提升照護服務效率,為高齡化社會帶來了新的解方。

Photo Credit:經濟部工業局
台日照護機器人交流會邀請各界分享照護機器人開發與應用案例與經驗。

人工智慧產業前景看好

人類壽命越來越長,智慧醫療正逐步顛覆傳統醫療模式,從遠距醫療、機器人、物聯網到穿戴式裝置,龐大潛在商機吸引國際科技大廠投入。台灣醫療服務水準居亞洲領先地位,尤其是資通訊科技實力鏈結全世界,創新能力與解決方案屢屢獲得市場矚目。當人工智慧遇上健康醫療,擴展未來醫療的無限可能,對社會大眾都有切身影響,不僅引領新一波商業浪潮,也創造出更多的照護服務模式。

醫療與科技結合,帶來新變革也帶動數位時代轉型新契機,未來將有更多關於智慧醫療的布局,解決人口高齡化的社會問題。從另一個面向來看,人口快速老化促使長期照護需求,服務人力是建置完整體系的關鍵因素,衛福部在政策面不斷調整適當的滾動式管理。目前長照 2.0 擴增老年照護服務,以及任何年齡的失能身心障礙者,從長照人力需求來說,缺工現象嚴重,照護機器人將成為醫療、長照的主力。

台日照護機器人交流會

為提供台灣照護場域導入智慧科技之契機,在經濟部工業局指導下,服務型機器人聯盟與台灣智慧樂齡照護創新科技產業大聯盟於 5 月 6 日攜手舉辦「台日照護機器人交流會」,邀請各領域專家分享實務現況,作為研發製造與場域運用參考。經濟部工業局林青嶔簡任技正表示,隨著科技迅速發展,智慧醫療創新服務產業生態系逐漸茁壯,5G 落地、AI 應用更多元,機器人正在改革醫療世界。

圖2_經濟部工業局林青嶔簡任技正表示,超高齡社會即將來臨,透過服務型機器人創新科
Photo Credit:經濟部工業局
經濟部工業局林青嶔簡任技正表示,超高齡社會即將來臨,透過服務型機器人創新科技能解決照護人力議題。

「台灣和日本一樣,面臨急速老化的超高齡社會,因此對於熟齡及身障者的照護非常重要。呼應長照 2.0 政策,應用科技打造更多元化、人性化的服務,AI 及智慧機器人的運用更是未來顯學。」林青嶔簡任技正分享觀點,這場交流會聚焦台日相關經驗分享與討論,加速業者與國際連結。台灣具有精密機電與 ICT 產業供應體系的優勢,發展機器人科技的腳步正迎頭趕上歐美日等國家,尤其是服務型機器人產業,將是台灣製造業的明日之星!

圖3_因應疫情,透過網路視訊方式進行交流,雙邊合作討論熱烈。
Photo Credit:經濟部工業局
因應疫情,透過網路視訊方式進行交流,雙邊合作討論熱烈。

促成更多元的服務應用

透過「台日照護機器人交流會」,日本 ATA 協會五島清國部長、日方企業 Reif 與 Whill,以及台方微星科技、全智通機器人、福寶科技分享照護機器人的開發與普及應用現況,透過創新科技解決照護難題。照護機器人的開發,必須掌握使用者需求、符合未來照護趨勢,再藉由實體實驗場域的調校,完美融入生活當中。微星科技、全智通機器人、福寶科技旗下的產品已分別應用於物流、醫療、清潔等領域;因應新冠肺炎疫情的「低接觸」服務型態需求,更加快普及速度。

圖4_日本ATA協會五島清國部長強調照護機器人必須貼近使用者,幫助提升生活品質。
Photo Credit:經濟部工業局
日本 ATA 協會五島清國部長強調照護機器人必須貼近使用者,幫助提升生活品質。

服務型機器人的創新應用在不同領域逐漸成形,經濟部工業局透過政策資源、科專計畫等大力推動服務型機器人產業化,協助企業轉型發展機器人新事業動能或新創公司設立,包括微星、東元、佳世達、凌群等企業。另外,2018 年成立的「服務型機器人聯盟」,由資策會服創所與台灣智慧自動化與機器人協會(智動協會)合作發起,結合政府及民間力量整合產業鏈上中下游資源,共組國家隊搶攻國內外市場。

服務型機器人聯盟今年度規劃「2021 ROBO COM 蘿蔔控」創意實證競賽,延續場域實證的精神,擴大研發能量及市場化企圖。聯盟持續引入資源,推動機器人業者和學研團隊合作,展開技術及實務交流,共同激盪具市場潛力的創新方案。


 「2021 ROBO COM 蘿蔔控」服務型機器人創意實證競賽資訊

  • 報名期間:即日起至 5 月 15 日
  • 競賽期間:6 月 15 日 - 9 月 30 日
  • 報名資格:不限年齡、學生團隊、社會人士、非營利組織、地方社團乃至公司行號都可組隊報名
  • 組隊資格:接受個人挑戰或多人組隊,團體至多6人

立即前往活動報名頁面了解更多!

經濟部工業局 廣告