A well team player who can communicate effectively with colleagues.
Able to conceptualise, develop and deploy applications independently.
1. Demo ProjectThis Demo Project is an app showing daily agriculture price in every market in Taiwan, using Architecture Components andfetching remote data with retrofit and flow.Technical skills used in the project :- Use MVVM- ViewModel decouples from Activity/Fragment- Activity/Fragment is a pure view class that observes the data changes and updates itself.- Make the unit testing easier, writing tests for ViewModel no need to take care the Android related stuff.- Use ViewBinding- ViewBinding is null-safe and type-safe, so we won't have the NullPointer and Class Cast exceptions anymore, instead ofseeing the crash during the run-time, we can now see the error at the compile-time.- Added Moshi converter- The converter helps us to parse and convert the JSON response into Kotlin/Java class- Separated the network objects and domain object- Mapping network response to domain object which only contains the infomation we need- Use ListAdapter instead of RecyclerView.Adapter- ListAdapter helps to calculate the difference between the old and the new list, so it only updates the item that needed tobe updated. no need to call `notifyDatasetChanged` manually- Use Dagger/Hilt for dependencies injection- to separate concerns- class reusability / flexibility2. CooklaCookla is an incomplete app I am building with an product manager who also does the design part. It is an app that showswhat's in your fridge and you can easily to manage it. We also add a page to show the daily agriculture price in every market inTaiwan, to let people always buy food in a reasonable price.Technical skills used in the project :-Use Room database-to store data in local database-to make sure the data is the single source of truth-Use ViewPager2-to achieve a scrollable calendar-Use navigation-to achieve bottom navigation with architecture component-Use Retrofit with moshi-to retrieve data from API-Use Paging-to load data in pages- Use Dagger/Hilt for dependencies injection
I want to be more than just an engineer. I see every app I have done as my children, I will try my best to improve them. I joined a startup called 佛系科技 as my first job. I had experienced a full product lifecycle, making a rough idea into an app with my colleagues through market research, competitive product analysis to UI, UX design to software architecture. It was challenging because I needed to learn marketing and product design and analyze the feasibility in a short time , and I have gained a lot throughout the process. Product design is my favorite part of this journey. It might look like a plain and normal page, but actually we went through numerous discussions to design every part of it, from the button reaction to the whole UI flow. The process of everyone trying their best to not only complete their job, but completing it perfectly really inspired me to be more than just an engineer implementing the feature. I want to be a product owner who knows every part of it, and take the responsibility for improving it.
Traveling enhances my vision and lets me discover different aspects of the world.
It is not only my job, but also my hobby. I like to dive into new skills in my leisure time.
Volleyball is a sport that emphasizes teamwork. Working hard with the team to win is the reason I like it.
I like to read all kinds of different books. My favorite book recently is "Be Water, My Friend" by Shannon Lee