Full Stack
Android
90%Flutter
75%React Native
50%Backend
65%Languages
Kotlin
90%Java
80%Dart
75%JavaScript
70%Python
60%React
50%Profile
Passionate about technical positions, curious and self-driven, good at self-improvement through learning, good at communication, the pursuit of perfection, self-challenge.
Skills
- 10 years of mobile development experience, Proficient in using Kotlin, Java, Dart, JavaScript, Familiar with React and Python
- Familiar with Kotlin to develop Android applications with MVVM architecture. Familiar with popular library such as Jepak components, RxJva, Kotlin Flow, etc.
- Develop Flutter applications using the Dart language and be familiar with popular library such as River Pods, Dio, Floor, Rxdart
- Familiar with using unit testing frameworks such as JUnit4, Roboelectric, mockk, Espresso, etc
- Familiar with Self Defined View, View Drawing Process and Event Distribution Mechanism, High Performance UI Development
- Familiar with using databases such as MySQL, SQLite3, Redis, Hive, etc
- Familiar with node.js, familiar with Express, Koajax, Egjs backend framework, have full development experience of Egjs backend
- Familiar with CI/CD platforms such as Bitrise, Github Actions, Bitbucket Pipelines, etc
- Familiar with developing custom scripts using languages such as Python, Groovy, Bash, etc
- CET-4, have the experience of starting a business and working in a multi-national company, English ability to meet the daily work requirements
- Have been a Team Leader, have their own views on leading the team to grow together
Experience
1. Responsible for MVVM architecture design and reconstruction of Android based on Kotlin and Jepak components
2. Responsible for the core module, remote configuration (Firebase Config), network request (Retrofit), database (Room), Token authentication module package and unit test, login (Biological), message module, payment (credit card), push (FCM + SFMC), application confusion
3. Implement Maven BOM-based third party dependent uniform version management, build configuration migration from Groovy to KTS
4. Bash-based implementation of Git Commit Message normalization, Groovy automatic synchronization of custom Git Hooks script, integrated unit test coverage framework Jacoco
5. Output a series of documents such as project novice start, architecture design, refactoring steps, code specification, unit test, code confusion, etc., to reduce project maintenance costs
Get Results:1. The PlayStore score increased to 4.6 + after the reconfiguration, and the company also overachieved its annual KPIs.
2. Improve the stability of Android products, so that the monthly average Crash-Free User index increased 5.4%, stable at 99.8%
3. Promote the Kotlin code specification within the team. Different developers can get started quickly when they intervene. Promote unit tests and Code Review to improve code quality and make the project easier to maintain.
4. Team members enhance their knowledge of MVVM, data driven GUI, Kotlin Flow and other technologies, forming a technical base
5. Everyone has a good command of Git, Git Flow, and improve the efficiency of team collaboration
Responsibilities and work content:1. Responsible for the design and restructure of the Android end User Management Model
2. Work with team members to develop data structures and specifications for Firebase Remote Config
3. Responsible for automating scripting backup of local configuration to avoid manual errors
4. Responsible for the configuration of Bitrisci / CD and the writing of self-defined script
Get Results:1. Effectively improve the efficiency of continuous delivery and code review of the company's Android products, and avoid low level error caused by human factors
2. I have a better understanding of the process of building Grade and creating Apk
1. Restructure the existing message, sharing, subs, data cachet, etc., and complete the IM communication based on SocketIO-based independent
2. Break up the SP to make it light weight, migration important business data to SQLite, and optimization of app cold start time
3. Package test tools to facilitate Q&A Statistics, A/B Test, network request log data view
Get Results:1. The new sharing model with the IM model has achieved a better promotion effect, and the user payment rate has increased by 5%.
2. The reconstruction of the basic block has improved the overall stability of the app, and the Crashrate has been reduced by 5%.
3. Regular technical sharing within the group to enhance team members' code specification awareness and development ability
Responsibilities and Job Content:1. Refactor your application using a single activity + multiple pieces development model and MVVM architecture, leading the development pace
2. JCombined application of Jepak components, Kotlin, RxJva, and Refit to increase development efficiency
3. Implement the UI level package and reusing based on VLayout framework to improve the efficiency of UI drawing
4. In the process of refactoring, mass data of heavy users are migrated and synchronized to ensure that user data is not lost.
5. Application Load Size, Overdraw, Memory, UI Stutters, Network, androidx Transfer, etc.
6. UI adapter set up for Android Panel Screen
Get Results:1. After the refactoring went live, user downloads, activity, and subscriptions skyrocketed, adding hundreds of thousands of dollars in revenue to customers
2. Launch time reduced by 20%, page handover without Jutton, Crashrate reduced by 8%, UI is completely new, and users' desire to pay is increased
3. Promote Jepak and MVVM in the team, improve team members' development ability, and discard the original MVC development method
4. Form a basic code base, save time for subsequent new project development, indirectly save the cost of tens of thousands of yuan to the company
Suzhou Langdong Network Technology Co., Ltd
From 2015 to 2018 | Mobile Team LeaderEnterprise Info Search/Corporate Credit Information
Responsibilities and Job Content:1. Coordinate with Big Data, Design, Test, Operations, Customer Service and other departments to develop fast version iterations
2. Work with the back end to develop the standard of the user, data security transmission technology selection, work with the design team to develop UI / UI standards, work with the Web front end to develop data exchange standards
3. Android (Java) end architecture design, technology selection and reengineering (pre-and middle independent development), output architecture design, development standards, business guidance and other documents
4. Responsible for Core Modules, Network Request (Retrofit + Signature Check + Double Token Check and Insensitive Refresh), Data Cache (LruCache), Data Storage (SP + SQLite3), Payment (Wechat + AliPay), Engineering Modularity, Responsive Programming (RxJava + RxAndroid)
5. Work closely with test and design teams to deliver continuous improvement in app stability and availability
6. Take the lead in tackling technical priorities and difficulties, optimizing package size, startup time, overdraw, power consumption, memory, etc.
Get Results:1. Lead the team to follow the company's version release plan, App has become the industry leader after three years, and personal ability has also been rapid growth.
2. In the face of challenges, actively respond to new technologies within the team, which greatly improves the development efficiency.
3. New technology solutions solve the problem of enterprise data embezzling, improve the security and stability of the app
4. App launch time reduced by 15%, package overall reduced by 10%, without Kuton, won the user's acclaim
5. The application of new technology to the team members to bring the technical ability to enhance, the rapid growth of App users also brought a sense of success in the work
Singtel NCS of Singapore Pte Ltd(SuZhou)
From 2014 to 2015 | Android DeveloperThe enGage project - an educational project
Responsibilities and Job Content:1. Responsible for the display of the self-defined View in PDF and deal with the conflict of events, the preparation of the "picture selection" model
2. Package HTpClient and rewrite the bottom data parsing mode to improve the efficiency of network request
3. Learn Html5 technology and complete the writing of Web View to load local Html and interface with Js
Performance and achievements:1. Gain a better understanding of the life cycle of an activity, the event distribution mechanism of a view, and the drawing process of a view
2. Technical challenges in projects such as Self Defined Views, Native Web View Load Web Pages and Interface with Js
3. Work with team members, deliver the version on time, complete the tasks given by the leader in time, and receive many awards from the project team
4. I have a deep understanding of the front end development, learned HTML5, JS and other front end technologies, and completed the technical integration.