張永翰

Jr. Android Engineer

  Tainan City, Taiwan



“The only way to go fast, is to go well.”
Uncle Bo
b


  

工作經歷

Jr. Android engineer  •  好想工作室

十一月 2020 - Present

目前進駐於好想工作室,從剛開始作為學員學習到後期轉為進駐者,主要經手的案子是互動遊戲 + 直播的應用,在專案期間和同期的 Android 工程師一起負責應用開發,也會參與專案需求定義的會議,期間和 UI / PM / 後端密切合作,視專案需求討論和修改設計.

技能

Android


  • MVVM
  • Retrofit
  • Room
  • SingleActivity
  • UseCase
  • CustomView
  • ...等基本功能

Kotlin


  • Coroutine
  • OOP
  • Unit Test

Community Contribute


  • Tainan Google Develop Group
  • 好想工作室 想知道嗎
  • It 邦幫忙 - 30天鐵人賽
  • DevFest Tainan & Kaohsiung
  • 2022 WTM IWD

專案


Choose

依照案主需求,與各端協調功能和時程分配,並和協作者討論架構設計、體驗優化、產品上架

. WebSocket 串接,和後台連線已達成遊戲的即時性.

. Firebase 串接,針對高負載的功能,使用外部服務簡化開發.

. UseCase 架構,在 MVVM 之中,多加入了 UseCase,使架構和權責分離,更易於維護測試.

. GitFlow 協作,以 Github 為遠端版本,本地使用 GitFlow 做版本控制.

Google play 連結 : https://play.google.com/store/apps/details?id=com.fun_marketing.chooose


好想書評應用 (進行中)

以知識共享及評價應用為主軸,和後端同步專案開發,在Android 端主要負責專案基礎架構,並兼任pm,定義專案需求和功能性驗證.

. Gradle 設置,調整和隱藏專案的編譯環境資源,如重要的 Api key.

. 介面設計,適度的為專案調整依賴性、權責和隔離,以增加維護性和擴展性.

. Unit Test,針對核心功能及商業邏輯編寫測試,以確保更動時的正確性.

. GCP 設置,協助後端串接第三方服務.

Github 連結 : https://github.com/Kenny50/BookReview


數位內容市集

負責效能優化,開發 有序異步併發 工具,提升60%效能.

. 以Coroutine技術,設計出簡單使用的工具類別

文章連結 : https://medium.com/@kennethchangla/coroutine-async-concurrency-in-certain-order-45629f0dceb4

實體/虛擬活動分享

GDG台南 - coroutine in Android

在台南 GDG 分享,kotlin 的 coroutine 的基礎原理和應用,以及結構化並發的設計.

https://gdg.community.dev/events/details/google-gdg-tainan-presents-coroutinezai-androidde-ying-yong/



  GDG Tainan

想知道嗎 - 狀態圖和狀態機,這貨跟狀態模式不同

分析了狀態模式和狀態機的應用場景,如何在系統設計上優化設計或是選擇解法.

https://hackmd.io/@sHypox68QmOgx1HjDeMe0A/Sy73oFi-c#/

  好想工作室

想知道嗎 - 寫個樂觀鎖的retry with times

透過 coroutine 和 kotlin 語法裡面寫了計次重新執行的函式,解釋設計邏輯和語法結構.

https://hackmd.io/@sHypox68QmOgx1HjDeMe0A/ryZBHWzk5#/

  好想工作室

IT邦幫忙 鐵人賽 - 解鎖Kotlin coroutine的各種姿勢-新手篇

參加鐵人賽,分享了 coroutine 的基礎元件和背後運行邏輯,旨在銜接文檔和原始碼中間的原理應用.

https://ithelp.ithome.com.tw/users/20141766/ironman/4757

  好想工作室

志工

DevFest Tainan & Kaohsiung 2021

GDG 台南和高雄合辦的 DevFest,參與的是議程組,負責講者聯繫和時程確認.

2022 WTM IWD x 好想工作室

Google Women Techmakers 主辦在台南的活動,搭任廠商聯繫和協助現場活動管理


YungHan, Chang

Jr. Android Engineer

  Tainan City, Taiwan



“The only way to go fast, is to go well.”
Uncle Bo
b


    

Experience

Jr. Android engineer  •  Good Ideas Studio

Nov 2020 - Present

Freelancer in Tainan, cooperated with engineers at Goodideas-studio, worked on projects related to live streams and interactivity games, cooperated with Android engineers, meanwhile attended meetings to discuss project proposal, worked with UI designer, project manager and backend.

Skill

Android


  • MVVM
  • Retrofit
  • Room
  • SingleActivity
  • UseCase
  • CustomView
  • ...etc, basic function

Kotlin


  • Coroutine
  • OOP
  • Unit Test

Community Contribute


  • Tainan Google Develop Group
  • Good idea studio
  • It Home - 30 days challenge
  • DevFest Tainan & Kaohsiung
  • 2022 WTM IWD

Projects


Choose

Cooperate with different teams, discuss issues, time schedule, architecture design, user experience.

. Connect WebSocket, building a real-time game with multiple user's devices.

. Connect Firebase, uses third party services in charge of high concurrency situations.

. Architecture with UseCase, add useCase layer between MVVM, divide responsibility and maintain test.

. GitFlow cooperates, using Github as remote version control, and applies GitFlow locally.

Google play link : https://play.google.com/store/apps/details?id=com.fun_marketing.chooose


Goodideas-Studio Book Review Application

Aimed on shared knowledge and rating, building based architecture in the Android team. Meanwhile, in charge of product manager in the backend team, defined product issues and functional verification.

. Gradle setting, modified project build type and project flavor, read private settings from local properties.

. Interface design, modified class dependencies, responsibility, segregation, in order to make maintainable and extendable projects. 

. Unit Test, write test for core functions and business logic, make sure refactoring is safe and consistent.

. GCP setting, building third party service setting and token for backend team.

Github link: https://github.com/Kenny50/BookReview


Content X Creator

In charge of performance optimization, I wrote a tool related to OrderedConcurrencyRequest, which decreased 60% waiting time.

. Using Coroutine, design a simple tool class.

Article link : https://medium.com/@kennethchangla/coroutine-async-concurrency-in-certain-order-45629f0dceb4

Technology share in community event

Google developer group Tainan - coroutine in Android

Invited to the Tainan Google developer group, to shared how coroutine works in Kotlin, the basic theory and how to apply it, the structure concurrency design.

https://gdg.community.dev/events/details/google-gdg-tainan-presents-coroutinezai-androidde-ying-yong/



  GDG Tainan

Wondering - State diagram and state machines, differences between state design patterns

Analyzing state patterns and state machines in the application situation, how to use those to optimize system design.

https://hackmd.io/@sHypox68QmOgx1HjDeMe0A/Sy73oFi-c#/

  GoodIdeas studio

Wondering - retry with times

Using coroutine and Kotlin, implementing a helper function with counter, auto sent request when previous one failed

https://hackmd.io/@sHypox68QmOgx1HjDeMe0A/ryZBHWzk5#/

  GoodIdeas studio

IT home challenge - understand Kotlin coroutine 

Attend a 30-day challenge, sharing how coroutine basic elements work and logic behind higher level the abstract encapsulated, to solve the gap between document and source code.

https://ithelp.ithome.com.tw/users/20141766/ironman/4757

  IT home

Volunteer

DevFest Tainan & Kaohsiung 2021

DevFest hosted by GDG Tainan and GDG Kaohsiung, attended the Agenda team, connected speakers and arranged a time schedule.


2022 WTM IWD x Goodideas-Studio

Match up Goodideas-Studio with Google, to host WTM events, and also in charge of on-site situations.

Powered By CakeResume