Bmk7oooq7yrwnsykaanm

SONG, YU-CHEN

Android Engineer  

[email protected]  • Taipei  •  Taiwan 




Introduction 

I am working at Bincentive Inc, focus on Android App develop for block chain investment service by using Kotlin such as:
1.  Block chain Mirror Trade / Premium trade
2.  Block chain DeFi/BinFi
3.  Block chain Lending-Bot

Current be responsible for Android app and iOS app, Android is major, iOS is debugging and improving now.

Below is current dev Android app


My first job is R&D Alternative service for VIA technologies 3 years, be a full stack engineer. 
1. Android App develop and maintain: Device Management System Services by Java 
2. Debug and develop DMS server by Node JS 
3. Develop and debug Android related functions such as: 
 3.1 Android framework storage porting by C and C++ 
 3.2 Kernel by C 
 3.3 Boot-loader by C, 
 3.4 A little device driver debug by C

Second job is focus on e-commerce app, block chain exchange app and dApp wallet Android app

I come from Taiwan, major in Computer Science and graduate from Nation Central University, my one of graduate paper is "Improving E-Book Reading with Information Cues: An User Investigation and Suggestion" published in 2013 IEEE 13th International Conference on Advanced Learning Technologies

Skills for Android / Basic Skills


Kotlin(Major)

Now Kotlin is main language for Android develop, now using Kotlin to develop app (Java discard)


Material Design

Now using Google lead material design for react UI, is not like traditional way. More flexible dev, theme, style, color and reaction etc.


Butter Knife

UI Base on Java, we use annotation way to find view and react UI event such as click event, text changed event.(Discard) Now is using kotlinx extension to get View element


Koin / Dagger2

To solve dependency injection problem and ensure our object can be reuse and singleton (Dagger2 discard)


RxJava2 / Coroutine

To solve between UI thread and Non-UI thread switch problem and easier switch by doing some action


Retrofit2

To easier implement Http/Https Restful API by annotation way


MVVM / MVP

Use view, view model (Koin inject) and repository design with live data pattern to struct our Android App (MVP model, view and presenter is discard)


Unit Test

Use Mockito, KoinTest and lifecycle simulate Android context, resource, sharedPreferences, lifecycle and dependency injection etc. To test view model function and make sure live data observe result callback success


Extension / KTX

Kotlin way to easier extension some specified class to do something


WebSocket

Use SignalR based on ASP.NET webSocket protocol to communicate between Android app and .net server; Also use Socket.IO which is popular webSocket based communicate between client and server


Git

Flow formal develop flow such as Git flow, use feature branch when develop something in develop branch; Create Hotfix branch in master when master has a urgent issue; Create Release branch merge both develop and master branch 

Jenkins (CI/CD)

Auto build up Android project / public Android app to AppCenter for QA test, deploy App (Android / iOS) Swagger Code Gen

Unix Console

Based on Unix such as Ubuntu Linux based OS series and Mac OS can use console to do something


Shell-Script

Based on Unix console, used console knowledge to write shell script such as factory tool or CI/CD function even git event

XML

Using Constraintlayout, percentrelativelayout, relativelayout and popular 3th party UI to build up our Android

Java(Second opt)

Use Java 8 lambda language reduce coding line and use easy and short line to develop project, now is major in Kotlin develop


Firebase Service

Implement firebase messaging (FCM) for notification, analytics (log event) for GA and crashlyics (Crash report) for crash debug.


Experience

Android Developer, Senior Engineer, 04 / 2019 - Now

At Bincentive inc. Focus on Android app for Block chain Mirror trade / DeFi / Lending-Bot

iOS Developer, 07 / 2020 - Now

Debug / Improve existing Bincentive iOS app

Android Developer, Senior Engineer, 11 / 2016 - 04 / 2019

At Grace Intelligent Blockchain. Focus on Android app for Fintech, Dapp wallet, Block chain and E-commerce 

Software Developer, Full-Stack Engineer,08 / 2013 - 10 / 2016

Focus on VIA product DMS (Device Management System Services) Android App client and DMS Server for Node js, side job is Android framework storage porting, Kernel debug, boot-loader patch and driver debug and shell-script based factory tool

Education

Nation Central University, Master degree,  07 / 2011 - 08 / 2013

Major in E-book reading and publish paper in 2013 IEEE 13th International Conference on Advanced Learning

Tamkang University, Bachelor's Degree, 09 / 2007 - 08 / 2011

Study computer science