V5fdga7t7t6qhszl8axf

高銘秀

我有9年的iOS,4年的Backend資歷。曾任中階App、後端工程師、外包接案、App部門負責人等職位。 興趣為攝影、手排汽車、重機這類「即使今日有電腦介入,其表現仍無法超越人類」的活動。時刻提醒自己,在這瞬息萬變的資訊世界,仍要努力保持自己的關鍵能力。

App工程師、Web後端工程師
Taipei,TW
[email protected]

+886 920132980

技能


Web Service

Python Django framework 

Django Channels 

Swift Vapor framework 

Java Spring boot framework 

Restful Style API


Crawler 


Scrapy


App

iOS: 

Objective-C

Swift1~5

Cocoa Touch framework

SwiftUI

RxSwift, RxCocoa, Combine


Android:

Java

Android databinding framework 


Cross - Platform: 

Flutter framework (Dart Language) 


HTML Hybrid Plugins: 

Cordova framework 

AppCan framework





Others

DB:
MySQL, SQLite, PostgreSQL
PostGis


NoSQL:

MongoDB

Firebase Realtime Database


Deploy:

AWS(EB, EC2, RDS, S3) 

Google Cloud Platform 

Heroku 

Docker、docker-compose、Docker Swarm



經歷

KKday, Senior iOS Developer

2021 / 9 - 2021 / 12

  • Optimize CI/CD on Jenkins 
  • Setup self hosted Jenkins nodes. 
  • Build jobs with Jenkins Declarative Pipeline on multiple nodes concurrently. 
Automation 
  • Setup fastlane certificate and provisioning profile management. 
  • Feature to encrypt / decrypt sensitive information and store on repository. 
  • Design efficient fastlane scripts to: 
    • Build once and test on multiple devices. 
    • Archive once and export IPA with multiple code signings. Project dependency, 
  • UML graph generator. 
iOS (Swift) Development 
  • Feature development and bug fix. 
  • UI components refactor and customization. 
  • Analyze our project's xcworkspace dependency and remove unnecessary framework linkings in each xcodeproj. 
  • Pull request review. 
  • App architecture discussion, implement. 
  • MacOS app development for internal usage.


PKLOTCORP(車麻吉), iOS Team leader, Senior iOS Developer

2019 / 12 - 2021 / 9

Infrastructure: 

  • Maintain Jenkins master node running on MacOS. 
  • Develop shared Fastlane actions, lanes for different iOS projects internally. 
iOS: 
  • Team leader, there have been at most two iOS developer in my team. 
  • Technical survey and participate in the system analysis before the start of new features. 
  • Mainly maintain and develop new features for our main iOS App product which have about 300,000 active users. 
  • Also have following development experience: 
    1. Apple Notification Service extension
    2. iOS Widget
    3. iMessage Sticker pack extension
    4. iOS CarPlay
    5. Self-service refueling AppClips base on Cocoa UI. (Proudly, We are the first three to release App Clips in Taiwan and appear on Apple's website about iOS 14 new features section. ) 
    6. Refactor AppClips above from Cocoa UI based to SwiftUI based. 
App: 
  • https://apps.apple.com/tw/app/車麻吉/id1332581201 
  • https://apps.apple.com/tw/app/全國加油站/id1426238552 
  • https://apps.apple.com/tw/app/國雲停車泊車趣parc/id1472963874


睿世軟體科技 iOS, Backend

2019 / 3 - 2019 / 11

Backend:

  • Java Spring framework + Quartz Scheduler cluster supported scheduler project.
  • Apache Groovy 撰寫同時具備CI/CD, GUI需求的程式碼產生器 Gradle Task
  • 以 Scrapy 幫羽球社製作搶羽球場用的爬蟲。
  • 使用Docker、docker-compose進行開發。
  • 舉辦公司內部技術分享介紹 Docker 

Infrastructure(Mobile Team): 

  • 完成 Mobile Team 的 Gitlab、Gitlab Runner、Minio、Docker Registry 基礎環境建置
  • 設計、優化 iOS、Android CI/CD 流程(dependency install, swift lint, unit/ui testing, deploy...etc)
  • 完成適用 Gitlab CI 之 Gems, Pods 快取機制
  • 完成 Fastlane 自動化憑證管理(Advanced,not only using `match` action.)
  • 完成 Fastlane 自動化更換 Xcode Project Source, Resource 進行專案重包
  • 完成 Fastlane 自動化截圖並上傳靜態網頁

App:

  • 擅長函數響應式編程( Functional Reactive Programming ),使用RxSwift做App開發。
  • 擅長架構設計
  • 導入 Moya 網路抽象層、App Mock Data Development/testing
  • 設計基於 URLCache 的公司產品 API 快取機制

果子云數位科技 iOS, Backend

2018 / 1 - 2019 / 3

Backend: 

  • 以 Vapor (Swift語言撰寫的Web框架),完成公司內部出勤系統 - 出勤LineBot機器人。 
  • Python Django 後端工程師,熟悉Django REST framework、channels2、asyncio開發。
  • 使用Docker、docker-compose進行開發。
  • 內部分享 Python ,Scrapy, Django


App:

  • 整理並提出API需求予後端,改善、模組化部門使用後端API的流程 (可詳見Github上相關之兩個Cocoapods套件)
  • 研究 iOS 實行「熱更新」之可行性,嘗試使用Python、Dart、Lua等語言實現相關 Demo。
  • 擅長函數響應式編程(FRP),會使用RxSwift來做App開發。

Web、iOS、Android外包接案

2016 / 11- 2017 / 11

前一份正職生涯中,公司缺乏有力的後端配合App部門,產品開發停滯。 我意識到了後端對於App產品的重要性,遂離職自行學習Web後端技能,立即應用在撰寫API給承接的案件使用,APP則發包友人或自行開發。

聖僑資訊 App 部門組長

2015 / 7 - 2016 / 10

負責管理公司數個主力App產品的開發與維護,與一名Android工程師、一名App助理一同工作。

元智大學電通學院 Android 課程助教,2015 / 1 - 2015 / 6

承上,第二年開始擔任Android開發課程的助教,為期一學期。

元智大學通訊系 專題生,2014 / 8 - 2015 / 6

雖然大學本科是光電系,但選修 Android 開發課程時受教授發掘,應邀至通訊系實驗室做專題約一學年,寒暑假期間月薪24k。 專題內容主要為低功耗藍芽4.0方面。

聯成電腦iOS程式實戰課程 學員

2013 / 1 - 2013 / 4

出於果迷對於iOS的興趣,報名電腦補習班 iOS App 課程,學習當時以Objective-C所撰寫的 ios 程式開發課程。

元智大學光電工程學系 - 系上唯一程式相關課程的作業打手,2012 年 1 月 - 2012 年 6 月

「C++的作業交不出來就交給Apple(大學綽號)與他的MacBook,之後再請他吃宵夜」- 此為外包接案之濫觴

Side Project

I Live Badminton 我想打羽球(爬蟲)
Python Scrapy 搶球場專案,目標為「最快狠準地搶走內湖運動中心的場地」,具備簡單的OCR認證碼辨識登入與錯誤重試機制。自動化的部分,一旦接近排程時間就會使用Gitlab CI將建置好的docker image部署至多台Runner,為羽球社搶球場超容易!

https://github.com/arthurgau0419/i_love_badminton
Company@2x 67c196720a5800ba562dd8b30b5f08c1e73e95cf2e870bd86ebec657897e3b20

CutCut 美髮服務媒合平台(Django Backend Project)

Django 後端專案,與公司寫iOS的同事共同開發的共享經濟平台,提供髮型設計產業與使用者一個完整的系統,進行美髮作品分享、髮型設計師預約、退款等服務保障。


*Well-documented API:

https://cutcut-backend.herokuapp.com/swagger/ 

https://cutcut-backend.herokuapp.com/redoc/

Company@2x 67c196720a5800ba562dd8b30b5f08c1e73e95cf2e870bd86ebec657897e3b20

pod 'Moya-Pretty'

在iOS開發上,知名套件「Moya」對「Alamofire」進行了抽象層的封裝,但卻因為套件本身的定位,未將實用的 Codable 功能實作於抽象層內,Moya-Pretty 解決了這個問題,遵守CodableTargetType協定的泛型抽象層可直接將Model轉為Request Body送出、再將Response Body以Model返回。 另外也以Cocoapods Subspec設計,亦提供Object Mapper (Mappable協定)、XML轉換、PromiseKit、RxSwift等選擇性支援。


https://github.com/arthurgau0419/Moya-Pretty

Company@2x 67c196720a5800ba562dd8b30b5f08c1e73e95cf2e870bd86ebec657897e3b20

pod 'OBSwaggerClientSupport'

針對Swagger Codegen所產生之程式碼,以Swift POP (Protocol Oriented Programming) 特性延伸其功能,在不修改Codegen代碼的情況下,賦予Codegen所產生之API抽象層i18n、PromiseKit、RxSwift等支援。

Company@2x 67c196720a5800ba562dd8b30b5f08c1e73e95cf2e870bd86ebec657897e3b20

接案經歷、上架作品

HID Over GATT 藍芽鍵盤(Android) 2017 年 12 月 - 2018 年 2 月

透過藍芽BLE於 Android 裝置上實現HID協定,將裝置模擬為藍芽鍵盤,由於使用HID協定,mac/windows僅需安裝藍芽4收發器與驅動,不必再安裝其他軟體即可使用。

清潔手 物業媒合平台(SA、Django Backend、也撰寫雙平台APP所需之連接API程式碼),2017 年 9 月 - 2018 年 9 月

媒合清潔打掃服務「提供者」與「需求者」的平台,基於spatial database提供快速且有效率的地理查詢功能。負責製作系統後台、金流、API、API文件,並以協作開發方式支援ios/ android APP工程師以swift, java撰寫連接後端API的抽象層功能。

六合彩碰數計算機(iOS),2017 年 9 月 - 2017 年 10 月

方便賭徒下注的計算機。

機房溫度亮度監測 APP(Android),2017 年 9 月 - 2017 年 10 月

使用廠商的Android開發板連接廠商的Sensor,登入後能連續監控並上傳機房亮度、溫度的Android App。

雲林科大美肌專題 APP(Android),2017 年 9 月 - 2017 年 10 月

使用 OpenCV 進行影像處理之濾鏡APP,內含幾個簡單的濾鏡與美肌功能,一週內幫助了一名科大學生如期畢業。

社群平台開發(Web後端、後台、iOS、Android監製),2016 年 11 月 - 2017 年 10 月

社群平台開發,發包內容為後台、API、iOS、Android,參考自IG, FB等,UI/UX 則委請設計師製作。

一傳十 安全手機傳真 APP(iOS),2015 年 11 月 - 2015 年 12 月

於APP上拍照並透過OpenCV對文件影像進行二值化處理,並以 1 bit monochrome bmp 高效率傳送檔案。

聖僑 SJCam媒體上傳工具 APP(iOS, Android監製),2015 年 8 月

於聖僑資訊任職期間製作之APP,原理為透過 Url Scheme 從Browser呼叫App,透過App對特定連結進行圖片、影片、錄音檔案上傳。(上傳連結放在GET URL中又無加密,非常不妥)

聖僑 TIMTOS 工具機展覽 APP(iOS),2014 年 9 月 - 2015 年 3 月

2014年台北工具機大展,貿協委外開發之導覽APP,具備多家廠商資訊與媒體內容可供參展者查詢。

聖僑 私有雲 形象APP(iOS),2015 年 3 月 - 2015 年 11 月

包含聖僑雲型錄在內,額外又具有圖片、影片線上瀏覽、離線下載功能的通用形象APP產品,可帶入不同簽約廠商的媒體內容進行上架。

聖僑 雲型錄 HTML Hybrid型錄APP(iOS),2014 年 5 月 - 2015 年 7 月

使用HTML5進行Hybrid開發的通用型錄APP產品,可線上瀏覽型錄或將相關靜態頁面儲存至本機進行瀏覽,可帶入不同簽約廠商的媒體內容進行上架。

蓋德科技 防丟天使 APP(Android),2014 年 5 月 - 2014 年 6 月

學校修習的 Android 開發課程才進行至1/3時,便手癢在外面接的案子,使用藍芽GATT與防丟器進行配對與管理,四週內即完成開發並順利結案。

家的配色魔法師 APP(iOS, Android監製),2013 年 10 月 - 2014 年 2 月

由於使用電腦繪製室內設計預覽圖能達到很高的精確性,便融合「紙娃娃」換衣服的概念,可在APP內以不同圖層疊合出喜歡的室內設計風格。



參考連結


GitHub:

https://github.com/arthurgau0419


清潔手 物業媒合平台(Android):

goo.gl/FF7Abb


一傳十 安全手機傳真APP(iOS):

 goo.gl/omDrR5


聖僑 TIMTOS 工具機展覽APP(iOS):

goo.gl/ZDFPQa


SJCAM (iOS):

goo.gl/wh2wZ5


私有雲(iOS):

goo.gl/HGDjNH


雲端型錄(iOS):

goo.gl/cfVTWS


家的配色魔法師(僅存Android):

goo.gl/YpJsPV



Powered By CakeResume