謝宗穎

謝宗穎
評價: 0(0)
3
student
1
courses
老師的話

希望大家都能吸收新知並且樂於分享

教師名稱
謝宗穎
教學特色
對於想要在工作上快速提升效率的人,我的實務經驗能夠帶給你敏捷成長
教師經歷
現為創科資訊共同創辦人兼研發經理

講師介紹

★講師的話

讓學員能夠透過 Jenkins 的操作,學習在敏捷開發流程中如何無痛進行 CI 的導入,並且搭配 Jenkins 實務上如何在專案的每一環節協助團隊運作。

尋找 JavaScript / ECMAScript and Java的設計潮流. 喜歡 Test driven 相關的development. 我認為每個人都需要學習這種技能。

 

人氣名師	謝宗穎

 

★講師專長

豐田式生產管理與軟體開發雙棲。曾參與的研討會不計其數,包括:

- CTJS 中台灣JavaScript Conference, 2016/June,

主講者包括:謝宗穎、黃保翕 Will 保哥、孫豪佑等講師。

 

- iThome Workshop - Jenkins 持續整合實戰講堂, 2016/June,

唯一講者。

 

- iThome Container Summit, 2015/Dec,

主講者包括:謝宗穎、Rancher Labs 共同創辦人梁勝、等講師。

 

- Container Summit 技術高峰會 2014,

主講者包括謝宗穎、Evan Brown、等講師。

 

實務上的 Web Full Stack 開發經驗,熟悉 JAVA 以及 Javascript 開發,對開發流程優化有高度興趣,提倡 TDD 開發方式,以及透過 CI Jenkins 進行自動化,利用 docker 輔助開發或測試環境建置,技術團隊管理者,並且喜好吸收新知並且樂於在任何場合進行分享,現為創科資訊共同創辦人兼研發經理。

 

★講師故事

程式語言,曾經並不是我的的職涯規劃選項之一,高中時唸的是機械製圖,曾經考取電腦繪圖乙級,通常若是本科系未來會唸的將是設計相關科系,另外一個比較多人的選項就是工業工程與管理,在那青澀的年紀,其實我也不知道我未來想要做什麼。

 

我很清楚設計系應該不是我想要的,可能本身就沒有什麼美感,也因此選擇了工業工程與管理,作為大學的主修科系,就在大學二年級時,意識到管理就是什麼都要學,但什麼都不精,在選擇專題題目時,毅然決然選擇系上最硬的指導教授,最硬的主要原因是必須要「寫程式」,那時候選擇學習「Java」,那是個「Java」還算新生語言的年代。

 

當然,說不擔心是騙人的,畢竟選了一條在經歷為零的道路,不過既然決定了,就必須對自己負責,硬著頭皮也必須完成大學專題,題目為:「在製品追蹤系統」,經過大三大四摸索的日子,不知不覺也寫出了興趣,雖然辛苦但也總算開發完成順利拿到畢業證書。

 

但磨練卻還沒完,因為專題成果不錯,加上指導老師是中部某 ERP 廠商的共同創辦人,所以我在大學所完成系統,也就成為 ERP 再製品相關管理的模組之一,也開始進行第一家客戶導入,還記得那過程確實是辛苦的磨練,從學生初學到成為產品需要講究穩定度,專業上也必須在短時間內,將相關功能開發到位,以符合客戶的需求,對那時候的我來說,每天都是挑戰!

 

成長確實是痛苦的,接著為了延續對產品的發展與維護,經過了研究所,研發替代役,在這產品上,投注了大約六年的時間,過程中從四位主要的團隊成員,來來去去,成長到大概 10 人的團隊,使用我們所完成的在製品追蹤系統廠商數也來到了四百多間,對於我自己而言,從初學到該模組的主要核心開發者,到管理團隊面對問題,每次的角色切換都是一次又一次的挑戰,挑戰本來不熟悉的新領域。

 

就在歷經了團隊管理的過程,本來在大學所認定不是很重要的管理知識,在這時候派上了用場,研究時所研究的題目為「豐田式生產之再製品追蹤系統」,在這段學習的過程,了解到精實生產的精神,也在模組維護開發的過程,著著實實的經歷產品開發的混亂,與人為疏失所造成的沒日沒夜的加班,也體悟到必須要想個法子終結這痛苦的循環。

 

人只有在痛苦時才會試著改變,為了想辦法避免同樣的錯誤一再的發生,進而找尋可能的方法,就在這時對「持續整合」有初步的認識,也是我第一次嘗試使用「Jenkins」的時候,還記得當初在使用「Jenkins」時,因為也是第一次使用,為了讓目前的專案能夠進行自動化建置,利用下班或是週末的時間,試著將相關建置程序利用「Jnekins」來進行,讓打包程序不再是人為處理,統一由「Jenkins」進行自動化建置,避免換檔案時的人為疏失,這也是我的持續整合初體驗,也是第一次體悟到持續整合的重要性。

 

當然持續整合還有一個很重要的議題,就是「自動化測試」,雖然在建置與打包上已經能夠自動化,但自動化測試不是簡單設置一下就可以解決的,必須從專案日常開發開始累積相關的測試案例,以便讓持續整合軟體可以在必要的時候進行自動化測試。

 

很可惜的,在我離開這間 ERP 公司前,我沒有把自動化測試導入完成,這時候我離開了中部,經由朋友推薦,進入到台北的新創公司,在公司內部進行內部創業,開始一個新的專案,與新的程式語言「Node.js」開發。

 

因為上一個工作的經驗,這次新的開始,意識到在「自動化測試」導入上在既有專案,若一開始在開發時就沒有考慮到測試,很難間單的對既有的程式碼拆解變為可測試的程式,往往再導入測試的過程,一不小心就會造成新的問題,加上案子再走的壓力,在測試的導入因為不熟悉,產出速度將會下降,也因此在上一個工作的時候,一直沒有合適的時機可以導入自動化測試。

 

在這新的開始新的專案,希望在一開始就以測試驅動開發方式 (TDD) 來進行,在這段經歷中,也確實體悟到測試的重要性,以及他所帶來的好處,在這經歷中,也讓我確確實實的經歷整個持續整合流程從建置 > 測試 > 打包 > 部署,完全自動化的過程,不需要人力介入,當我完成功能開發時,只要透過「Jenkins」就可以自動完成所有步驟,每一個環節不再由人操作,也避免人為的失誤,加上自動化測試作為品質確保的後盾,著時在開發過程中安心許多,也因此體悟若在程式開發的路上,能夠一開始就知道持續整合,與自動化測試的概念,定可以少走很多冤枉路,畢竟若能避免不必要的浪費,就能夠更專注在更有價值的事物上。

 

直到現在,離開了在北部的公司,筆者再次回到台中,跟我的夥伴創立了創科資訊,除了期許我們自己的團隊稟持著敏捷開發,與精實生產的精神,在每個專案一開始就考慮未來導入「持續整合」與「自動化測試」時可以很順利得進行,在專案的空檔經營 Agileworks 把多年的經驗,經由工作坊與企業內訓,甚至學校講座分享,把敏捷精實的精神盡可能地告訴大家,期望可以讓大家在軟體的開發路上一開始就有正確的觀念,有效率地完成任務!在程式開發的路上創造出更多有價值的軟體與服務。

 

★講師經歷

Team Lead, Trunk Studio 創科資訊

* Leading development Team .
* Conf Speaker
* Docker 
* Continuous Integration Implement.

 

Project Leder Engineer, Hiiir Inc 時間軸科技
PMD is a Facebook ads platform that support AM can easy create and manger Ads. provide ads analysis, reporting, tracking and suggestion.

* test driven develop
* test as spec for document
* use nodejs for server side
* angular js for front end
* implement CI for auto testing and auto deployment
* management a team with 8 members

 

Senior Programmer, DSC 鼎新電腦
2006 – 2012 (6 years)
SFT(Shop flow Tacking System) major programer

相關教學課程