15841006_1408694255821037_121230429_n.jpg

Allen Fang

I'm Allen, a software engineer for 6+ years. I've worked on Java, big data, currently focus on frontend. In addition, I love open sources and have a 2k+ stars repo.

  1. Create a helpful software and make it better than better is the goals of my life :)
  2. Concern Testability, Readability, Maintainability and Flexibility on my codes
  3. Complex -> Simple -> Process -> Standard -> automation, always keep in mind

Taipei, Taiwan, ROC

Skills


Java & J2EE

Professional on Java development. Have about 3 years experiences on Spring, Struts and ORM(Hibernate), particularly on JSP, Spring and EJB3


SQL

Have 2 yeas experiences on developing a distributed SQL engine, include SQL syntax parsing, planner and distributed secondary index solution


Apache Spark

First people in Taiwan who pass the Certified Apache Spark Developer. Have experiences on Spark consulting and architecting, in addition a lecturer for customer.


Hadoop & HBase

Have about three year experiences on Hadoop & HBase developments. Help our product to build on the HBase and Hive, MapReduce or other big data solution


Node.js

So far I focus on the front-end and Node.js development. Have more than two year experiences on both.


React.js

This is favor front-end framework than Angular.js and Backbone.js. In addition, I'm familiar with react/redux development.


OOP/OOAD

It's my favor skill of software design. Particular on design pattern and SOLID. In the past experiences of development on Java, I think I have my own consideration on object design and development.


Refactoring

Have two big software refactoring experiences in the past. Also, I do refactoring code in each iteration/sprint in my every project.


DDD

I love the principle of domain driven design. Read a lots of materials about it and use it on some product that I join before. Not only DDD, but also CQRS, PoEAA. I get interesting in software/application design and refactoring. The fans of Martin Fowler and Kent beck



Personal Open Sources

Education

Nation Central University, Sep 2011 -  Jul 2013

Master of Business Administration(M.B.A), Management Information Systems is the field of study.

  • Paper:A Study on the E-Book Software Architecture Supporting Synchronous and Asynchronous Instruction on Reading Comprehension 

Shih Chien University, Sep 2007 - Jun 2011

  • Seminar:Firefox extensions development of the integration of the network disk driver

Employee History

ShopBack, Senior Software Engineer, Nov 2017


Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Rakuten, Senior Frontend Engineer, Aug 2016 - Oct 2017


Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

HareDB, Backend Engineer,  Apr 2011 - Aug 2016


IBM, Internship, Dec 2010 - Apr 2011

Awards

Certified Apache Spark Developer(O'Reilly & databricks), 2015


Sun Certified Java Programmer(SCJP), 2010



Project Experiences

ShopBack - Web 

During: 2018.09 ~ now

Skill: React, Node.js

Responsibility:

1. Refactoring legacy website login/signup flow

2. Facebook, Apple, Naver website login/signup development

ShopBack - Price Comparison

During: 2019.02 ~ now

Skill: React, Next.js, Node.js, Nest.js

Responsibility:

1. Responsive website development

2. SEO

3. Performance tuning

Rakuten Mall 

During: 2016.08 ~ 2017.10

Skill: Angular.js, Ruby on Rails, React

Responsibility:

1. Lead for TW Mall checkout part

2. Mentors for new comers, technical interviewer for 

    candidate.

3. Taiwan local service development

ShopBack - Browser Extension

During: 2017.11 ~ 2018.12

Skill: React, Redux, WebExtensions

Responsibility:

1. Browser extension design and development

2. Rebuild next generation ShopBack browser extension

TSMC Consultant

During:  2015.07 ~ 2016.07

Skill: Hadoop, HBase, MapReduce, Spark, Flume

Responsibility: 

1. Trouble shooting

2. System design

OODATA 你的數據分析管家

During:  2016.02 ~ 2016.07

Skill: React, redux, redux-saga, D3.js, Java, Hadoop

Responsibility: 

1. UI/UX Design

2. Architect design and analysis

3. Full-stack development

varOne

During:  2015.06 ~ 2016.07

Skill: React, alt.js, Node.js, Java, Spark, Javascript

Responsibility: 

1. UI/UX Design

2. Architect design and analysis

3. Open source on Github

4. A distributed RPC communication based on Hadoop RPC 

5. Paper for Hadoop Con TW 2016


HareDB

During:  2013.07 ~ 2016.07

Skill: Backbone.js, Java, HBase, Hadoop, Hive, 

          Protocol Buffer, Docker

Responsibility:

1. Refactoring UI to Web based from Java Swing

2. HareDB Bulkload design and development

3. HareDB SQL aggregation design and development

4. HareDB SQL planner design and development

5. HareDB in-memory and RPC design and development

6. HareDB Join with Hive solution

7. HareDB secondary index solution

8. Integrate with Kerberos and Apache Sentry



TSMC Project

During:  2012.07 ~ 2013.07

Skill: Javascript, Java, jQuery, EJB3

Responsibility: 

1. Develop a new internal system for TSMC

NCUCC -Salary Sys

During:  2011.09 ~ 2013.06

Skill: J2EE, JSP, Struts, Spring, Hibernate, SQL

Responsibility: 

1. Develop a new salary system in NCU based on J2EE

2. Hot fix and add new features on previous system

3. Part-time job

4. SQL tuning

NCU IPLab - MyERS

During:  2011.09 ~ 2013.06

Skill: J2EE, iBatis, jQuery Mobile, jQuery, Spring

Responsibility: 

1. Develop frontend & backend for MyERS

2. jQuery Mobile as frontend and SpringMVC as backend

3. A EDD(Event Driven Design) design for MVC

Design-in

During:  2011.04 ~ 2011.09

Skill: J2EE, Spring, SQL, Flex

Responsibility: 

1. Develop a internal system for MXIC

2. Part-time job


SystemText

During:  2010.12 ~ 2011.04

Skill: Java, eclipse plugin

Responsibility: 

1. Study how to develop a eclipse plugin

2. Study Apache HttpCore and HttpClients

MyInnodisk

During:  2011.02 ~ 2011.11

Skill: Java, JSP, Tomcat, SQL

Responsibility: 

1. Develop a CMS for Innodisk

2. Part-time job


Lecturer Experiences

  • Spark Programming lecturer for NTHU Big Data Analytics for Semiconductor
  • HBase Advanced Development lecturer for L2H in ETU
  • Hadoop series lecturer in CICS
  • Android Programming assistant & lecturer in NCU IM
  • SAP APAP assistant & lecturer in NCU SAP campus