蘋果(Apple)公司近年積極推廣自家程式語言Swift,它同時兼顧開發速度和執行效能,Swift Taipei創辦人John(林鈺翔)過去赴美出差的期間,看到國外Swift社群的蓬勃發展,與會人員不乏Facebook、Google等大公司開發者,也讓他看到這個新語言的未來性,下定決心要將這股風氣帶回台灣。
Swift是Apple在2014年推出的年輕語言,它承襲了其他語言的優點,同時兼顧開發速度和執行效能,推出後迅速在國外掀起學習的熱潮,不僅蘋果公司重金打造適合初學者程式練功的 Playground,連知名的史丹佛大學也改用Swift來教授2015年及之後的iOS課程。
John致力經營技術社群,不僅在Swift技術尚未普及前,就參與Swift官方教學書《The Swift Programming Language》中文版編譯,並獲得蘋果官方肯定,更於今年初創立Swift Taipei技術社群,同時積極拜訪不同技術社群(Swift Girl 、CocoaHeads Taipei),挹注Swift社群的學習動能。
與蘋果緣分甚早,首戰業界告捷
John台大電機系畢業,遠從iPhone OS 2 (iOS的前身)時代就投入蘋果陣營,大二開始即自行接案,第一個案子是替保全監視錄影產品建置client端的應用程式,首次接案即順利將作品完成,在業界第一步走的相當穩健,他笑稱,工作上並未碰到什麼技術層面的難題,反而是在溝通上比較常遇到一些問題,像是如何說服團隊成員去採用某項特定的技術。退伍後,他在LIVEhouse(前身為網路卡拉OK平台iKala(愛卡拉))、SpoonRocket等團隊歷練過,現在加入iChef團隊,致力打造世界最強餐廳POS(端點銷售系統)。
John退伍後先到愛卡拉團隊,負責K歌平台iKala的iOS應用程式開發,之後該公司轉進直播市場,推出LIVEhouse.in直播平台,John改為協助網站建置,初期beta版約有八成都是出自於他的手中。
挑戰跨國團隊,學習讓數字說話
離開LIVEhouse之後,John到了SpoonRocket這間美國公司,是提供快速訂餐外送服務的團隊,他表示,在這裡體驗到了本土團隊與跨國團隊的文化差異,SpoonRocket的一切營運決策都以數據為依歸,讓數字說話,目標很明確,但過去台灣公司不會特別去注意使用者行為,企業主往往依直覺做決策,沒有特別紀錄消費者的使用數據回饋,因此無法透過回饋的資料對出相對應的決策調整。
由於外賣行業激烈競爭及融資出現問題,SpoonRocket的服務在今年初正式關閉,也讓John把更多心力放在社群經營上,除了固定三週一次的Swift Taipei聚會之外,也會到其他技術社群(CocoaHeads Taipei)進行主題分享,或是到Swift Girl協助新進開發者解決學習上碰到的疑難雜症。
赴美看見Swift的未來,盼掀起國內學習風氣
Swift Taipei固定每三週舉辦一次,每回活動固定會由John分享產業最新動態,透過Swift週報單元介紹過去幾週有什麼語法變更或其他相關訊息,John表示,Swift Taipei自今年一月成立,最初是因為先前在SpoonRocket的赴美出差期間,看到國外的Swift社群已經相當活躍,但當時國內iOS社群仍聚焦在Objective C之上,希望透過這個社群凝聚國內的Swift學習資源。
目前iChef也積極導入Swift,先前iChef技術長更帶領團隊成員集體去進修Swift課程,John指出,現在的新功能偏向改用Swift開發,因為它是Apple公司近年大量投入開發資源且積極推廣的新語言,不像Objective C有太多包袱,Swift則是去蕪存菁下的產物。
John表示,目前Swift Taipei聚會活動的與會人數相當穩定,但是過去活動中分享的內容多數偏向hardcore,對於新進開發者來說比較難消化,因此,未來也希望提供一些比較適合新手學習的主題,期盼Swift Taipei能讓不同程度的人都能學習到新知識。
求知若渴,不被技術洪流淹沒
談到新進工程師需要具備的特質,John認為想要跨入程式開發的人,應該需要具備不服輸的精神,進行實作中,若是遇到問題切莫抱持不求甚解的心態,並且要有自學的慾望及能力,面對技術板塊移動迅速的產業,對於新技術必須要有強烈的求知慾,同時也要具備解決問題的能力,才不會被技術洪流淹沒。
除此之外,基本的英文閱讀能力也是必須的,主要是中文的資源相對的少,最新的技術幾乎都只能透過英文的文件或文章學習到,若是只看中文撰寫的技術文,能吸取的知識是相對貧瘠的。有鑑於此,John也希望能替國內的Swift開發者提供更多的中文學習資源,因此,他也致力於Swift中文版的編譯作業,在Apple公司推出Swift官方教學書《The Swift Programming Language》後,John就自己默默的進行中文翻譯工作,Apple官方隨後也跟他接洽相關翻譯作業,並且表達支持他的中文編譯工作。
工程師除了應該俱備上述的特質外,針對不同的公司,也會要求額外的開發技術,以iChef為例,由於是提供餐廳結帳的POS解決方案,這類商用的應用程式很注重測試,所以在尋找新的工程師時,首重應徵者寫測試的能力,必須要能在程式碼中寫入相對應的測試。
最後,John認為在學習一門程式語言的過程中,一定要搭配大量的實作練習,很多看似簡單的功能,往往在實作時才會發現它的困難點,唯有親自動手練習寫出這些程式碼,才有辦法理解其中的奧妙之處,這也是新進開發者的必經之路,建議搭配蘋果官方出的The Swift Programming Language進行,若是在實作過程中遇到無法自行突破的問題,除了可以透過Stackoverflow尋求解答,也能夠到Swift Taipei等實體社群尋求協助。
Swift Taipei: