關於我

~人生無大志,只有寫程式~
~長期以咖啡廳為行動辦公室的打雜程式人 ☕︎~

博客:https://wenchan3918.github.io

Experiences

2019/3月 - 2022/3月 (3年)

j5create 凱捷國際
職稱: 軟體工程師
職務內容:

APP開發,參與過電子紙產品雛形開發,透過BLE協定將手機上的圖片上傳到裝置,過程中與韌體工程師一起優化BLE傳輸速度,對BLE連線與傳輸方法有一定暸解。

  • Android APP UI與功能開發。
  • 圖片轉碼,將手機圖片轉換成灰階影像資料,再將灰階資料二次轉換成裝置所需的二進位顯示格式。
  • BLE傳輸優化,經由韌體工程師分享BLE詳細協定參數,了解到如何調整Android BLE參數以增加傳輸頻率,在提高傳輸頻率時,相對會降低穩定性與裝置耗電。

使用C/C++開發韌體,參與過AI攝影機產品開發,與AI工程師合作將訓練模型整合到嵌入式系統,以驅動IPU運算單元進行手勢辨識。

  • 了解嵌入系統的Boot、kernel與app編譯並燒入到裝置,第一次完成嵌入系統編譯過程,推薦書本: 精通嵌入式 Linux 程式設計
  • 嘗試優化測試流程。每次要驗證一個功能就需要進行編譯與燒入,整個過程將近2分鐘,協助團隊找到UART檔案更新工具,透過UART只要更新app執行檔案即可而不用每次重新編譯與燒入映像檔案。使用Xmodem協定以及lrzsz工具
  • 嘗試Rust、Go編譯,驗證是否可用更高階程式語言進行開發以節省開發時間。最後還是採用C/C++,理由為協力廠商只有C/C++範例以及團隊對其他高階語言的熟悉度不足。

軟體授權稽核平台,公司出售軟韌體解決方案需要一套後台進行註冊與授權軟體啟動,協助建置平台以方便管理授權廠商生產紀錄。

  • 採用Python on Django技術進行快速建模與後台管理頁面。
  • 整合C lib授權碼函式庫到Python, Python與C lib透過Ctypes進行溝通。
  • 將Nginx、PostgreSQL、Django服務容器化,建構簡易部署腳本將服務建構到AWS EC2。

2017/9月 - 2019/1月 (1年4個月)

詮鐠科技股份有限公司
職稱: 全端工程師
職務內容:

新創產品Smart Drive產品研發,負責Android APP應用開發。Smart Drive特色為將含有USB介面但沒有網路功能的終端裝置建立一個虛擬多媒體來源。

  • Android APP UI與功能開發。
  • 實作UDP網路廣播以搜尋附近Smart Drive裝置。
  • 整合Google drive雲端授權與檔案讀取。
  • 將雲端授權Token以及相關配置透過Socket傳送到Smart Drive。

參與Softbank外部儲存碟App研發,負責實作iOS APP。

  • iOS APP UI與功能開發。
  • 實作公司生產手機隨身碟連接至iPhone並可以瀏覽隨身碟檔案。
  • 實作Document Extension可以掛載外部隨身碟檔案內容,透過Local Server機制進行檔案掛載。
  • 將雲端授權Token以及相關配置透過Socket傳送到Smart Drive。

參與Smart Key專案研發,為智慧鎖廠商評估一套結合藍芽Mesh與網路共享與授權智慧鎖。

  • 負責後端開發,第一次嘗試使用Go+Gin進行後端實作。
  • 實作家庭群組模型、裝置管理模組、群組與裝置授權機制。
  • 實作API功能並交付APP端工程師進行串接。
  • 整合Firebase,進行智慧鎖狀態改變之即時推播手機訊息。

2016/4月 - 2017/9月 (1年5個月)

瀚邦科技股份有限公司

職稱: iOS工程師
職務內容:

為公司客戶開發iOS外接隨身碟APP應用,公司主要提供USB與儲存解決方案給品牌商,並為品牌商進行APP應用開發。

  • iOS APP UI與功能開發。
  • 實作公司生產手機隨身碟連接至iPhone並可以瀏覽隨身碟檔案。
  • 實作Document Extension可以掛載外部隨身碟檔案內容。

2012/4月 - 2016/3月 (5年1個月)

勝義科技有限公司
職稱: Android/iOS程式工程師
職務內容:

維護與改版公司內部APP產品。

  • Android/iOS APP UI與功能開發。
  • 參與計程車計費器 Android APP改版,與同事共同優化UI與計程車路程計算公式,並使用Git進行版本控管。
  • 參與超速照相器偵測 iOS APP開發,實作車速顯示、前方測速照相機警示功能。

參與東森購物策略合作,協助公司完成千萬廣告策略合約。此合作需協助東森購物完成第一版原生購物APP。

  • Android APP UI與功能開發,主要功能:產品模組、購物車模組、線上直播模組與多會員整合模組。
  • 跨公司技術合作,甲方公司提供API文件供我方公司進行串接,過程有許多技術討論,學習到如何有效且完整表達問題與需求方式。
  • 在有限時間需完成APP開發,需透過一些技術手段減少部分重覆設定而決定採用One Activity進行開發,模組頁面都封裝成Fragment,以減少每次新增Activity頁面時需要在Manifest做設定。
  • 如期完成APP多項功能模組,並與對方多位工程師進行交接,完整敘述整個開發架構與實作頁面說明。

職稱: 策略發展部專案經理(2014年)
職務內容:

參與公司廣告平台(AdLocus)流量開發任務,因公司廣告平台業務擴張導致廣告流量無法完全執行廣告預算,而需有人負責擴展廣告流量。

  • 主動承擔廣告流量擴展任務,從RD轉換到FAE進行跨領域挑戰,並成功為公司帶來倍數成長的流量。
  • 多次參與創業小聚與其他技術論壇,與其他開發者進行名片交換獲取下次合作拜訪。
  • 撰寫爬蟲,抓取Google Play上各種APP類型的資訊,例如APP下載量、APP類型與開發者Email,將此資訊整合到公司後台方便後續拜訪聯繫。
  • 撰寫有效廣告合作行銷案,從『業界最高分潤』無效文案演化到『每月10萬包版』成功文案,成功簽下多家百萬APP開發者。
  • 成功合作案例如:擁有千萬下載的大陸正點科技APP、台灣食在方便[百萬下載]、觀察天氣[百萬下載]、即時路況影像[百萬下載]。
  • 成果得到上級主管認同,並獲得兩人資源進行協助與擴展拜訪次數。

2009/10月 - 2011/11月 (2年)

亞普達國際商務有限公司
職稱: 前端/後端工程師
職務內容:

負責小型商業客製網站開發,協助公司將SEO置入客戶網站。

  • 使用PHP進行後端開發,前端使用jQuery進行互動實作。
  • 第一年紮實學習到PHP如何寫後端,兩年內累積數十件中小型網站作品,過程中熟悉網站常用的功能實作,例如:最新消息、留言板、產品劉覽、購物車模組與第三方金流串接流程。
  • 嘗試開發一個通用框架以加速開發速度,透過簡單描述檔案即可生成資料庫模型與後台頁面,可在1~2週內完成一個小型網站。

Education

2005/9 ~ 2007/6

國立臺灣科技大學
資訊工程學系 學士(二技)
台北市大安區基隆路四段43號

2000/9

高苑技術學院
電子工程系 副學士(五專)
高雄市路竹區中山路1821號

Side Projects

個人博客 🎉2022/11月首次開張🎉
使用Hexo+butterfly+github.io架設個人博客網站。
成就感:

  • 紀錄過去所玩所做的大大小小專案,方便自己做技術查詢。
  • 練習寫文章能力,面對未來的技術文件技能需求。
  • 練習表達能力,能將技術用自己理解方式進行說明。
  • 技術研究備忘,解決常常忘記的技術關鍵字。
  • 英文練習,每篇文章下方紀錄相關關鍵字,可進行輸入練習。

LangGO背單字

  • Go + Gin框架成功轉移至Python on Django框架。
  • 推測Google排名演算法,成功操作將App推至Google Play教育類型排行第一名。

成就感:

  • 成功驗證有效排行操作方法,2020年連續一週Google Play教育類型排行第一名。
  • 得到上百則使用者的正向回饋訊息。
  • 廣告收益小確幸,每日收到好幾個便當~

多種開發語言專案管理工具
全端工程師常常會同時需要用多種語言進行專案開發,使用各種語言適合的IDE(例如Xcode、Android Studio、PyCharm、GoLand、AppCode)進行專案開啟。若對要修改較舊專案,常常會須再花時間去找專案的位置。

成就感:

  • 方便自己在不同語言專案間切換,並且可以在不同IDE間切換,節省許多時間。

道路管理系統
客戶需要一個系統來管理道路回報案件、案件派工維修等e化流程。透過APP進行道路巡查與回報毀損案件,再由內勤人員進行審核與分派案件給協力廠商。當車巡人員使用APP錄影進行道路巡查時,後台也需要觀看即時影像與巡查員軌跡。

學習:

  • 繁雜的道路巡查流程文件,與PM花了許多時間進行討論。
  • 每個流程需在各種角色轉換,實作與測試花了許多時間。
  • 需同時負責前端與後端開發,時間分配上難度高。
  • 將Nginx、PostgreSQL、Django服務容器化,建構簡易部署腳本將服務建構到AWS EC2。

托嬰系統
為托嬰業主進行中心系統開發,需交付破百隻API給APP以及規劃RBAC會員機制、多種系統模組設計、導入Docker。

成就感:

  • 老師直接的需求回饋,進行需求改進得到老師的正向回饋。
  • 完成複雜的角色與權限設計經驗。
  • 得到老師的正向回饋訊息。

學習:

  • 了解RBAC角色機制,解決業主需要跨單位、跨角色時有相對應的權限授權。
  • 完整撰寫Swagger文件經驗。
  • 會員資料轉換經驗,客戶原本有v2系統,需要將v2的家長、老師、主任等對應的學校、班級、個人資料轉換到新系統,透過Django command將資料匯出,再由新系統command進行匯入。
  • 將Nginx、PostgreSQL、Django服務容器化,建構簡易部署腳本將服務建構到AWS EC2。

Phantom Mask
為面試後端的一份作業,交付一個口罩查詢後台系統,並提供API與網頁前端,利用兩天時間完成作業。

成就感:

  • 完整的文件交付方式得到面試官的肯定。
  • 得到面試官的指教,了解到目前還缺少哪些業界常用的技能,例如:單元測試、整合測試、Git Flow、k8s。

簡易魚塭雲端斷線通報系統

  • 透過ESP8266晶片與AWS主機組合偵測多處魚塭電源狀態變化。
  • 燒入第三方韌體,實現WiFi Mesh傳輸以達到約400公尺訊號傳輸。

成就感:

  • 透過DIY方式解決家人在顧魚塭時半夜擔心停電問題。

Skills

後端開發
語言: Python, SQL
服務: PostgreSQL, Nginx, Redis, Docker
框架: Django, Django Rest Framework
雲端: EC2, S3
工具: PyCharm, Tabby, ApiFox, DBeaver, SourceTree, VSCode

前端開發
語言: Vue, Vuetify, jQuery, HTML, JS, CSS
工具: PyCharm, Firefox developer tool

Android開發
語言: Kotlin, Jetpack compose, Firebase
工具: Android Studio, Github Copilot

iOS開發
語言: Swift, SwiftUI, Firebase
工具: Xcode, AppCode

常用協同工具
Slack, Trello, 藍湖, Zeplin, Google Docs, Google Sheets


評論