-
Notifications
You must be signed in to change notification settings - Fork 0
/
cv_en.html
494 lines (450 loc) · 36.7 KB
/
cv_en.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--========== BOX ICONS ==========-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/boxicons@latest/css/boxicons.min.css">
<!--========== CSS ==========-->
<link rel="stylesheet" href="assets/css/styles.css">
<title>Barry resume cv</title>
</head>
<body>
<!--========== HEADER ==========-->
<header class="l-header" id="header">
<nav class="nav bd-container">
<a href="#" class="nav__logo">Barry resume cv</a>
<div class="nav__menu" id="nav-menu">
<ul class="nav__list">
<li class="nav__item">
<a href="#home" class="nav__link active-link">
<i class='bx bx-home nav__icon'></i>Home
</a>
</li>
<li class="nav__item">
<a href="#profile" class="nav__link">
<i class='bx bx-user nav__icon'></i>Profile
</a>
</li>
<li class="nav__item">
<a href="#skills" class="nav__link">
<i class='bx bx-receipt nav__icon'></i>Skills
</a>
</li>
<li class="nav__item">
<a href="#experience" class="nav__link">
<i class='bx bx-briefcase-alt nav__icon'></i>Experience
</a>
</li>
<li class="nav__item hide">
<a href="#personal-project" class="nav__link">
<i class='bx bx-user-plus nav__icon'></i>Personal
</a>
</li>
<li class="nav__item">
<a href="#education" class="nav__link">
<i class='bx bx-book nav__icon'></i>Education
</a>
</li>
</ul>
</div>
<div class="nav__toggle" id="nav-toggle">
<i class='bx bx-grid-alt'></i>
</div>
</nav>
</header>
<main class="l-main bd-container">
<!-- All elements within this div, is generated in PDF -->
<div class="resume" id="area-cv">
<div class="resume__left">
<!--========== HOME ==========-->
<section class="home" id="home">
<div class="home__container section bd-grid">
<div class="home__data bd-grid">
<img src="assets/img/wechat_qrcode.jpg" alt="" class="home__img">
<h1 class="home__title" id="home-title">Barry Shi</h1>
<h3 class="home__profession">Android Senior Developer</h3>
<!-- Button to download your CV saved in the pdf flolder. Available for mobile -->
<div>
<a download="" href="assets/pdf/Barry ResumeCV.pdf" class="home__button-movil">Download</a>
</div>
</div>
<div class="home__address bd-grid">
<span class="home__information">
<i class='bx bx-user home__icon'></i> Male/1990
</span>
<span class="home__information">
<i class= 'bx bx-phone home__icon'></i> 18551229348
</span>
<span class="home__information">
<i class= 'bx bx-envelope home__icon'></i> szhangbiao@gmail.com
</span>
<span class="home__information">
<i class='bx bx-conversation home__icon'></i> wx_szhangbiao
</span>
<span class="home__information">
<i class= 'bx bx-map home__icon'></i> Suzhou, China
</span>
<span class="home_blog">
<a href="https://szhangbiao.github.io" target="_blank" class="blog__link" title="Click to view">
<i class= 'bx bx-code-curly home__icon'></i> Blog
</a>
</span>
</div>
</div>
<!-- Language change button -->
<a href="./index.html" class="change-language">
<img src="assets/img/zh.png" alt="" class="change-language-left">
</a>
<!-- Theme change button -->
<i class='bx bx-moon change-theme' title="Theme" id="theme-button"></i>
<!-- Button to generate and download the pdf. Available for desktop. -->
<i class='bx bx-download generate-pdf' title="Generate PDF" id="resume-button"></i>
</section>
<!--========== FULL STACK ==========-->
<section class="full-stack section">
<h2 class="section-title">Full Stack</h2>
<div class="skills__list grid">
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Android</h3>
<span class="skills__number">90%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__android"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Flutter</h3>
<span class="skills__number">75%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__flutter"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">React Native</h3>
<span class="skills__number">50%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__react_native"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Backend</h3>
<span class="skills__number">65%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__backend"></span>
</div>
</div>
</div>
</section>
<!--========== LANGUAGES ==========-->
<section class="languages section" id="languages">
<h2 class="section-title">Languages</h2>
<div class="skills__list grid">
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Kotlin</h3>
<span class="skills__number">90%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__kotlin"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Java</h3>
<span class="skills__number">80%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__java"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Dart</h3>
<span class="skills__number">75%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__dart"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">JavaScript</h3>
<span class="skills__number">70%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__js"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Python</h3>
<span class="skills__number">60%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__python"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">React</h3>
<span class="skills__number">50%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__react"></span>
</div>
</div>
</div>
</section>
<!--========== PROFILE ==========-->
<section class="profile section" id="profile">
<h2 class="section-title">Profile</h2>
<p class="profile__description">Passionate about technical positions, curious and self-driven, good at self-improvement through learning, good at communication, the pursuit of perfection, self-challenge.</p>
</section>
</div>
<div class="resume__right">
<!--========== SKILLS ==========-->
<section class="skills section" id="skills">
<h2 class="section-title">Skills</h2>
<div class="skills__container bd-grid">
<div class="skills__content">
<p>- 10 years of mobile development experience, Proficient in using Kotlin, Java, Dart, JavaScript, Familiar with React and Python</p>
<p>- Familiar with Kotlin to develop Android applications with MVVM architecture. Familiar with popular library such as Jepak components, RxJva, Kotlin Flow, etc.</p>
<p>- Develop Flutter applications using the Dart language and be familiar with popular library such as River Pods, Dio, Floor, Rxdart</p>
<p>- Familiar with using unit testing frameworks such as JUnit4, Roboelectric, mockk, Espresso, etc</p>
<p>- Familiar with Self Defined View, View Drawing Process and Event Distribution Mechanism, High Performance UI Development</p>
<p>- Familiar with using databases such as MySQL, SQLite3, Redis, Hive, etc</p>
<p>- Familiar with node.js, familiar with Express, Koajax, Egjs backend framework, have full development experience of Egjs backend</p>
<p>- Familiar with CI/CD platforms such as Bitrise, Github Actions, Bitbucket Pipelines, etc</p>
<p>- Familiar with developing custom scripts using languages such as Python, Groovy, Bash, etc</p>
<p>- CET-4, have the experience of starting a business and working in a multi-national company, English ability to meet the daily work requirements</p>
<p>- Have been a Team Leader, have their own views on leading the team to grow together</p>
</div>
</div>
<!-- Language change button -->
<a href="./index.html" class="change-language">
<img src="assets/img/zh.png" alt="" class="change-language-right">
</a>
</section>
<!--========== EXPERIENCE ==========-->
<section class="experience section" id="experience">
<h2 class="section-title">Experience</h2>
<div class="experience__container bd-grid">
<div class="experience__content">
<div class="experience__time">
<span class="experience__rounder"></span>
<span class="experience__line"></span>
</div>
<div class="experience__data bd-grid">
<div class="experience__group">
<h3 class="experience__title">Infinit Group Pte Ltd</h3>
<a href="https://infinit.com.sg" class="link" target="_blank" title="Website">
<i class='bx bx-link-external link__external'></i>
</a>
</div>
<span class="experience__company">From 2022 to Now | Android Senior Developer</span>
<div class="experience__group">
<h4>My Income (Insurance)(Kotlin)</h4>
<a href="https://play.google.com/store/apps/details?id=com.income.incomeapp" class="link" target="_blank" title="Play store">
<i class='bx bxl-play-store play__store'></i>
</a>
</div>
<b>Responsibilities and Job Content:</b>
<p class="experience__description">1. Responsible for MVVM architecture design and reconstruction of Android based on Kotlin and Jepak components</p>
<p class="experience__description">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</p>
<p class="experience__description">3. Implement Maven BOM-based third party dependent uniform version management, build configuration migration from Groovy to KTS</p><!--catalogs-->
<p class="experience__description">4. Bash-based implementation of Git Commit Message normalization, Groovy automatic synchronization of custom Git Hooks script, integrated unit test coverage framework Jacoco</p>
<p class="experience__description">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</p>
<b>Get Results:</b>
<p class="experience__description">1. The PlayStore score increased to 4.6 + after the reconfiguration, and the company also overachieved its annual KPIs.</p>
<p class="experience__description">2. Improve the stability of Android products, so that the monthly average Crash-Free User index increased 5.4%, stable at 99.8%</p>
<p class="experience__description">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.</p>
<p class="experience__description">4. Team members enhance their knowledge of MVVM, data driven GUI, Kotlin Flow and other technologies, forming a technical base</p>
<p class="experience__description">5. Everyone has a good command of Git, Git Flow, and improve the efficiency of team collaboration</p>
<div class="experience__group">
<h4>Optus Sport: Mobile & TV App(Kotlin)</h4>
<a href="https://play.google.com/store/apps/details?id=au.com.optus.sport" class="link" target="_blank" title="Play store">
<i class='bx bxl-play-store play__store'></i>
</a>
</div>
<b>Responsibilities and work content:</b>
<p class="experience__description">1. Responsible for the design and restructure of the Android end User Management Model</p>
<p class="experience__description">2. Work with team members to develop data structures and specifications for Firebase Remote Config</p>
<p class="experience__description">3. Responsible for automating scripting backup of local configuration to avoid manual errors</p>
<p class="experience__description">4. Responsible for the configuration of Bitrisci / CD and the writing of self-defined script</p>
<b>Get Results:</b>
<p class="experience__description">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</p>
<p class="experience__description">2. I have a better understanding of the process of building Grade and creating Apk</p>
</div>
</div>
<div class="experience__content">
<div class="experience__time">
<span class="experience__rounder"></span>
<span class="experience__line"></span>
</div>
<div class="experience__data bd-grid">
<div class="experience__group">
<h3 class="experience__title">Interactive Labs, Inc</h3>
<a href="https://www.interactivelabs.com" class="link" target="_blank" title="Website">
<i class='bx bx-link-external link__external'></i>
</a>
</div>
<span class="experience__company">From 2018 to 2022 | Android Senior Developer</span>
<div class="experience__group">
<h4>FitOn Workouts & Fitness Plans</h4>
<a href="https://play.google.com/store/apps/details?id=com.ellisapps.itrackbitesplus" class="link" target="_blank" title="Play store">
<i class='bx bxl-play-store play__store'></i>
</a>
</div>
<b>Responsibilities and Job Content:</b>
<p class="experience__description">1. Restructure the existing message, sharing, subs, data cachet, etc., and complete the IM communication based on SocketIO-based independent</p>
<p class="experience__description">2. Break up the SP to make it light weight, migration important business data to SQLite, and optimization of app cold start time</p>
<p class="experience__description">3. Package test tools to facilitate Q&A Statistics, A/B Test, network request log data view</p>
<b>Get Results:</b>
<p class="experience__description">1. The new sharing model with the IM model has achieved a better promotion effect, and the user payment rate has increased by 5%.</p>
<p class="experience__description">2. The reconstruction of the basic block has improved the overall stability of the app, and the Crashrate has been reduced by 5%.</p>
<p class="experience__description">3. Regular technical sharing within the group to enhance team members' code specification awareness and development ability</p>
<div class="experience__group">
<h4>iTrackBites: Weight Loss, Diet App(Kotlin)</h4>
<a href="https://play.google.com/store/apps/details?id=com.fiton.android" class="link" target="_blank" title="Play store">
<i class='bx bxl-play-store play__store'></i>
</a>
</div>
<b>Responsibilities and Job Content:</b>
<p class="experience__description">1. Refactor your application using a single activity + multiple pieces development model and MVVM architecture, leading the development pace</p>
<p class="experience__description">2. JCombined application of Jepak components, Kotlin, RxJva, and Refit to increase development efficiency</p>
<p class="experience__description">3. Implement the UI level package and reusing based on VLayout framework to improve the efficiency of UI drawing</p>
<p class="experience__description">4. In the process of refactoring, mass data of heavy users are migrated and synchronized to ensure that user data is not lost.</p>
<p class="experience__description">5. Application Load Size, Overdraw, Memory, UI Stutters, Network, androidx Transfer, etc.</p>
<p class="experience__description">6. UI adapter set up for Android Panel Screen</p>
<b>Get Results:</b>
<p class="experience__description">1. After the refactoring went live, user downloads, activity, and subscriptions skyrocketed, adding hundreds of thousands of dollars in revenue to customers</p>
<p class="experience__description">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</p>
<p class="experience__description">3. Promote Jepak and MVVM in the team, improve team members' development ability, and discard the original MVC development method</p>
<p class="experience__description">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</p>
</div>
</div>
<div class="experience__content">
<div class="experience__time">
<span class="experience__rounder"></span>
<span class="experience__line"></span>
</div>
<div class="experience__data bd-grid">
<h3 class="experience__title">Suzhou Langdong Network Technology Co., Ltd</h3>
<span class="experience__company">From 2015 to 2018 | Mobile Team Leader</span>
<h4>Enterprise Info Search/Corporate Credit Information</h4>
<b>Responsibilities and Job Content:</b>
<p class="experience__description">1. Coordinate with Big Data, Design, Test, Operations, Customer Service and other departments to develop fast version iterations</p>
<p class="experience__description">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</p>
<p class="experience__description">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</p>
<p class="experience__description">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)</p>
<p class="experience__description">5. Work closely with test and design teams to deliver continuous improvement in app stability and availability</p>
<p class="experience__description">6. Take the lead in tackling technical priorities and difficulties, optimizing package size, startup time, overdraw, power consumption, memory, etc.</p>
<b>Get Results:</b>
<p class="experience__description">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.</p>
<p class="experience__description">2. In the face of challenges, actively respond to new technologies within the team, which greatly improves the development efficiency.</p>
<p class="experience__description">3. New technology solutions solve the problem of enterprise data embezzling, improve the security and stability of the app</p>
<p class="experience__description">4. App launch time reduced by 15%, package overall reduced by 10%, without Kuton, won the user's acclaim</p>
<p class="experience__description">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</p>
</div>
</div>
<div class="experience__content">
<div class="experience__time">
<span class="experience__rounder"></span>
<span class="experience__bottom__line"></span>
</div>
<div class="experience__data bd-grid">
<h3 class="experience__title">Singtel NCS of Singapore Pte Ltd(SuZhou)</h3>
<span class="experience__company">From 2014 to 2015 | Android Developer</span>
<h4>The enGage project - an educational project</h4>
<b>Responsibilities and Job Content:</b>
<p class="experience__description">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</p>
<p class="experience__description">2. Package HTpClient and rewrite the bottom data parsing mode to improve the efficiency of network request</p>
<p class="experience__description">3. Learn Html5 technology and complete the writing of Web View to load local Html and interface with Js</p>
<b>Performance and achievements:</b>
<p class="experience__description">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</p>
<p class="experience__description">2. Technical challenges in projects such as Self Defined Views, Native Web View Load Web Pages and Interface with Js</p>
<p class="experience__description">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</p>
<p class="experience__description">4. I have a deep understanding of the front end development, learned HTML5, JS and other front end technologies, and completed the technical integration.</p>
</div>
</div>
</div>
</section>
<!--========== PERSONAL PROJECT ==========-->
<section class="personal section hide" id="personal-project">
<h2 class="section-title">Personal project</h2>
<div class="experience__container bd-grid">
<div class="experience__content">
<div class="experience__data bd-grid">
<h3 class="experience__title">HealthTrack(Full Stack)</h3>
<h4>Flutter Front End:</h4>
<p class="experience__description">1. New MVVM architecture design, structured architecture, functional modules, UI components, multi-language and multi-theme configuration</p>
<p class="experience__description">2. Multiple Fire Base Environment Setting, Fire Base Storage, Remote Setting, Fire Base Auth, Fire Base Message, App Check, and more</p>
<p class="experience__description">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</p>
<p class="experience__description">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</p>
<h4>The Egg js backend:</h4>
<p class="experience__description">1. Use Eggjs framework to build back-end, MySQL data storage, Redis data caching, Crypto data encryption</p>
<p class="experience__description">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</p>
<p class="experience__description">3. Implementation of multi-process and communication between processes based on Egjs to improve resource efficiency</p>
<h4>Remote Cong Project Side:</h4>
<p class="experience__description">1. Implementing Gihub Actions + Python Native Setting Automatic Implementation</p>
<p class="experience__description">2. Python package to achieve local command line one-click combination, check, the function of</p>
<p class="experience__description">3. Automatic Gihub Actions Local Image Transfer to Fire Base Storage</p>
</div>
</div>
</div>
</section>
<!--========== EDUCATION ==========-->
<section class="education section" id="education">
<h2 class="section-title">Education</h2>
<div class="education__container bd-grid">
<div class="education__content">
<div class="education__data bd-grid">
<h3 class="education__title">SuZhou University</h3>
<span class="education__studies">From 2010 to 2014 | Information Management and Information Systems | Bachelor</span>
</div>
</div>
</div>
</section>
<!--========== INTERESTS ==========-->
<section class="interests section">
<h2 class="section-title">Interests</h2>
<div class="interests__container bd-grid">
<div class="interests__content">
<i class='bx bx-headphone interests__icon'></i>
<span class="interests__name">Music</span>
</div>
<div class="interests__content">
<i class='bx bxs-plane-alt interests__icon'></i>
<span class="interests__name">Travel</span>
</div>
<div class="interests__content">
<i class='bx bx-book interests__icon'></i>
<span class="interests__name">Read</span>
</div>
<div class="interests__content">
<i class='bx bx-dumbbell interests__icon'></i>
<span class="interests__name">Fitness</span>
</div>
</div>
</section>
</div>
</div>
</main>
<!--========== SCROLL TOP ==========-->
<a href="#" class="scrolltop" id="scroll-top">
<i class='bx bx-up-arrow-alt scrolltop__icon'></i>
</a>
<!--========== HTML2PDF ==========-->
<script src="assets/js/html2pdf.bundle.min.js"></script>
<!--========== MAIN JS ==========-->
<script src="assets/js/main.js"></script>
</body>
</html>