Barry Shi

Android Senior Developer

Male/1990 18551229348 [email protected] wx_szhangbiao Suzhou, China Blog

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

Infinit Group Pte Ltd

From 2022 to Now | Android Senior Developer

My Income (Insurance)(Kotlin)

Responsibilities and Job Content:

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

Optus Sport: Mobile & TV App(Kotlin)

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

Interactive Labs, Inc

From 2018 to 2022 | Android Senior Developer

FitOn Workouts & Fitness Plans

Responsibilities and Job Content:

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

iTrackBites: Weight Loss, Diet App(Kotlin)

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 Leader

Enterprise 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 Developer

The 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.

Personal project

HealthTrack(Full Stack)

Flutter Front End:

1. New MVVM architecture design, structured architecture, functional modules, UI components, multi-language and multi-theme configuration

2. Multiple Fire Base Environment Setting, Fire Base Storage, Remote Setting, Fire Base Auth, Fire Base Message, App Check, and more

3. Implement network requests (Dio + Refit), data parsing (JsonSerializable), Dependent Injection (Injection + Getit), Route (Flur), Local Storage (Floor + Hive), State Management (River Pod) and more

4. Encrypted transmission of sensitive information, encrypted storage based on Hive, double Token checksum and senseless refresh, Future asynchronous programming, Stream and Rxdart responsive programming

The Egg js backend:

1. Use Eggjs framework to build back-end, MySQL data storage, Redis data caching, Crypto data encryption

2. The self-defined parameters of the check, the log in the code of the non-Similar Secure Transmission, Salt Secure Storage, JWT double Toque check

3. Implementation of multi-process and communication between processes based on Egjs to improve resource efficiency

Remote Cong Project Side:

1. Implementing Gihub Actions + Python Native Setting Automatic Implementation

2. Python package to achieve local command line one-click combination, check, the function of

3. Automatic Gihub Actions Local Image Transfer to Fire Base Storage

Education

SuZhou University

From 2010 to 2014 | Information Management and Information Systems | Bachelor

Interests

Music
Travel
Read
Fitness