Avatar of CY Wang.
CY Wang
Senior Software Engineer | Node.js | TypeScript | JavaScript | Backend | Web Developer | Python
ProfileResumePortfolio
Posts
31Connections
Print
Avatar of the user.

CY Wang

Senior Software Engineer | Node.js | TypeScript | JavaScript | Backend | Web Developer | Python
More than 8 years experience in Software System Development. From Requirement (User Story or UI Flow) Analysis, System Design, to Database Design, Backend Architecture, API Spec. Design and Implementation. Started my career as a fullstack developer, switch to backend focused during the transition from junior to senior. Done well in teamwork with frontend developers, delivering predictable and well performing API backend. GitHub: https://github.com/smugen
Logo of the organization.
我愛數位科技股份有限公司
Logo of the organization.
國立台北教育大學 National Taipei University of Education
Taipei, Taiwan
Taiwan

Professional Background

  • Current Status
    Employed
  • Profession
    Back-end Engineer
    Software Engineer
    Node.js Developer
  • Fields
    Information Services
    SaaS / Cloud Services
    Software
  • Work Experience
    6-10 years (6-10 years relevant)
  • Management
    I've had experience in managing 1-5 people
  • Skills
    TypeScript
    JavaScript
    Node.js
    Git
    Visual Studio Code
    GraphQL
    Apollo GraphQL
    RESTful API
    MQTT
    Mongoose.js
    MongoDB
    PostgreSQL
    Redis
    Influxdb
    ETCD
    Docker
    Amazon Web Services (AWS)
    Google Cloud Platform (GCP)
    IoT
    Koa.js
    Swagger API
    Express.js
    Requirements Analysis
    System Design
    Database Design
    Backend Development
    API Design
    API Development
    Microservices
    Python
    Flask
    Nest.js
  • Languages
    Chinese
    Native or Bilingual
    English
    Intermediate
    Japanese
    Beginner
  • Highest Level of Education
    Bachelor

Job Search Preferences

  • Current Status
    Open to opportunities
  • Desired Job Type
    Full-time
    Interested in working remotely
  • Desired Positions
    Senior Software Engineer
  • Desired Work Locations
    Taipei City, Taiwan
    New Taipei City, Taiwan
  • Freelance
    Non-freelancer

Work Experience

Logo of the organization.

System Analyst, Backend Developer

Jun 2023 - Jan 2025
1 yr 8 mos
Neihu District, Taipei City, Taiwan
- System Analysis and Design - Backend Development - Writing of design documentation and technical documentation - Lead junior developers 1. Nest.js GraphQL code first repo structuring and feature implementation with highly reusable components, together with junior and mid-level developers 2. Three-tier IoT and Streaming system design, tuning between DEV and UAT phase increases streaming performance 20~50x, solve performance issues with FE in different aspects 3. Legacy project phase2 API development and phase1 API performance tuning increases slow APIs performance 10x 4. Legacy GraphQL API using schema first approach with Apollo Server
Logo of the organization.

Senior Software Engineer | Backend

Jun 2022 - Sep 2022
4 mos
Taipei City, Taiwan
I left due to personal health issues, recovered well now. - Maintain backend API with bug fixes - Design backend microservices decoupling proposal - Join the TDD workshops and pair-programming
Logo of the organization.

Senior Software Engineer | Backend | SA/SD/SE

Aug 2018 - Mar 2022
3 yrs 8 mos
Taipei City, Taiwan
Taoyuan City, Taiwan
New Taipei City, Taiwan
## In the beginning, I participated in an existing project with about 60% of maturity to be a product ready for sale. **Refactor and Enhance** : 1. Production-ready delivery, microservices Docker-ization, make the whole system bundled installation to edge computer. Run as OS daemon service (start after boot, restart after exit) 2. Refactor the flow of receiving IoT sensor data input. Reducing data that poll from and moving between databases. Discarding unnecessary input to reduce storage consumption, and implementing old record auto-deletion. 3. Add a RESTful API layer to provide an endpoint for external system interaction. Use the front-end/back-end separated approach to implement a configurational portal, which invokes the same APIs described before. 4. The implementation of the API uses ORMs to manage queries to databases, and adapted Swagger to provide interactive API documentation. ## After about 2 years on the team, the product along with the whole team reorganized to product BU, and a new director came as our head, he applied for a considerable raise for me from the VP with a new challenging role to me. **Revamp** the whole architecture to support the **evolving product business model** : 1. Re-design the system architecture and re-write the whole codebase, including the features from previous generation products. Product manager illustrates the feature module requirements, and I planned out the microservices layout. 2. Choosing the suitable database(s) software combination according to technical requirements. Using MongoDB to store customer configuration, InfluxDB to store sensor raw data, and Redis as cache and lightweight queue. 3. Introduce TypeScript in both front-end and back-end development, and GraphQL for API. Make both codebase and API mostly strong-typed, better increasing the consistency and explicitly for teamwork. 4. Implement API Gateway and Service Register / Discover mechanism to support the "Addon Apps" business model. https://www.cakeresume.com/me/smugen/portfolios Please see the "Portfolios" section of my participation in products of Advantech **with diagrams** - Advantech iFactory Solution Suite - Advantech iFactory OEE FEMS (Overall Equipment Effectiveness Solution, Factory Energy Management Solution)

Senior Software Engineer | Backend

Dec 2017 - Jun 2018
7 mos
Taipei City, Taiwan
I left because the company was dissolved, and all employees are left. - Official website with news article posting functionality - Basic member area where customers can sign-up, log-in and fill there profiles - Common sub-domain cookie based SSO The projects above written in JavaScript / Node.js, built and deployed on GCP consist of the services below : Google App Engine, MongoDB Atlas, Firebase Hosting with Cloud Functions for Firebase, Google Cloud Datastore

Web Developer | Software Engineer

Oct 2013 - Dec 2017
4 yrs 3 mos
New Taipei City, Taiwan
Using JavaScript and Web related technology mainly, and choose Node.js as backend runtime. • First, as an one man team: - Design API interface (RESTful HTTP API, first in XML format and then JSON afterward). - Develop API backend for mobile APP (customer registration service). - Develop API backend for both browser frontend and mobile APP (a service has two type user interfaces). - Develop Web frontend user interface, using Bootstrap, jQuery and AngularJS 1. - Database choice ranging from single JSON file, SQLite, CouchDB and finally MongoDB. - Write simple API documentation. - Maintain (Objective-C) and developing (Swift) iOS APP in a period of time. • Then, as a three men team leader: - Transfer most of frontend development workload to new colleague. - Coaching new team member who has no experience in Web technology and network. - Requirement analysis and system architecture design. - Evaluate new tools (platform, framework, library, cloud service) to accomplish system architecture as building blocks. - Code review and pair programming with team members. - Arranging coding style, design patterns and project architecture which belong to this team. - Develop desktop application using web technology. (platform: Electron a.k.a. Atom Shell from GitHub) - Develop libraries for teammates using in projects. - Third party services/APIs integration. (e.g. AWS, PayPal, SMS gateway, LINE messenger...) - Planning deployment strategy of server system.

MIS

E-TNI
Full-time
Jan 2009 - Jan 2010
1 yr 1 mo
Taipei City, Taiwan
- ERP system (Taipei office hosted, users are from both Taipei and factory in China) maintenance. - ERP tools/plugins/addons development (e.g. Web based BOM table importer, from xls file to SQL db table). - VPN and VoIP connection (between office and factory) maintenance. - Network maintenance. - IT equipments maintenance.

Education

Logo of the organization.
Bachelor of Science (BS)
Computer Science
2010 - 2013

Licenses & Certifications

HackerRank
Credential ID: 6388A8D98DEE
Issued Dec 2022
No Expiration Date
HackerRank
Credential ID: 890E04DDD6B3
Issued Dec 2022
No Expiration Date
HackerRank
Credential ID: B8141D0C056A
Issued Dec 2022
No Expiration Date
HackerRank
Credential ID: 0725FF85021F
Issued Dec 2022
No Expiration Date

TOEIC

ETS
Credential ID: Score: 805
Issued Jan 2012
No Expiration Date