Who is Xing Zhi?

Xing Zhi is a student developer from Nanyang Technological University, Computer Science Program. I build front-end web apps based on DOM technologies with Web Components.

Who is Xing Zhi?

Hi, I am a student developer from Nanyang Technological University, Computer Science Program. I build front-end web apps based on DOM technologies with Web Components.

I am currently a software engineer at Staizen I worked extensively with StencilJS and ReactJS while building our design system.

When I'm not studying in school or exploring new JavaScript syntax and libraries, I enjoy spending time exploring tools that can increase productivity and improve my workflow.

After starting my education in Singapore Polytechnic, I developed an interest in software development and DevOps related projects, thus the birth of this blog.

Check out my resume and my LinkedIn.

Licenses and Certifications

Notable Experiences

Software Engineer - Staizen

January 2021 - Current

Currently, I am employed at a Digital Transformation Consultancy, Staizen. My primary job scope revolves around frontend development and its associative tooling; writing web applications for our various clients, coordinate bug fixes and new features with our internal design system team, maintaining the tooling of our client applications.

Front End Engineering Internship - Staizen

May 2020 - July 2020

I spent 3 months at Staizen as a front end engineer, working on a digital design system based on StencilJS to be used in ReactJS. More details about my experience could be found here.

Projects that I was working on:

  • Digital design system components with StencilJS, Sass, TypeScript
  • Localization service for translations that works across both StencilJS components and ReactJS app templates
  • Proof-of-concept for exporting design tokens from Figma
  • StencilJS unit/component testing with Jest

Front End Web Developer - Singapore Exchange

October 2016 - May 2017

I was a front end web developer on the SGX Digital team back in 2017 where I worked on an internal front end web framework built on HTML 5 Web Components and all of its custom modules. In a fashion similar to Polymer from Google, we built an entire front end framework and implemented a bower server to manage all of our custom front end modules.

In my time there, I worked on:

  • HTML 5 Web Components and Gulp to help with the tooling
  • Git with Submodules
  • CSS preprocessor with Sass

Military Service - Singapore Armed Forces 39th Battalion

May 2017 - May 2019

I spent two years as a conscripted soldier in the Singapore Armed Forces. One year as the Company Medic Overall Personnel In-charge for my company, acting as the liaison person between the command team or external trainers with the medical team in my company. I had to manage the daily support schedule of multiple concurrent trainings, keep track of the classes my medical team needs to attend, our vaccinations, the maintenance of the equipment we use, all on top of the other tasks as a company support trooper.

When I reached my end of service as a Corporal First Class, I had received:

  • Safety Steward Award from my Brigade Commanding Officer
  • December 2018 Battalion Soldier of the Month Award from my Battalion Commanding Officer

A quick note:

Why do I use Ghost instead of writing my own blogging site?

I am a software engineer. It is my hobby and future career to develop and deploy software applications. So I am often asked, why don't I write my own blogging site.

  1. Maintenance - By using something that is actively maintained, I do not have to trouble myself with updating any NPM packages, patching security holes in MongoDB or MySQL. There is only one thing to maintain, Ghost.
  2. Opportunity - using a piece of software that is this popular means I get to try all kinds of deployment strategy. I could use containers, I could run it bare on a VPS, I could run it on a AWS bucket, anything that I can think of, someone probably already have a working demo for me to learn from.

Some of my literature

Skeleton and Architecture for my React App Template
Picking up from the last post, I will be talking about the higher-level architecture of how I structure my React Applications. I package everything into one neat NPM package which you can use as a template with CRA.
High Level Architecture of my React Application
How did I spend my summer break? - Internship at Staizen
This is my first summer break as a computer science student. At the start of my bachelor’s journey, I planned to have an internship that is not coordinated by the school every summer. This is my first internship experience after starting university.
My internship experience at Staizen in 2020
Not a git tutorial
Git is the dominant version control system today. Why did Linus Torvalds write it back in 2005, what were the problems he was trying to solve, how does it have such huge market share and what are some of its design considerations?
The theoretical side and principles of git
What is Web Components
Web components is one of my favorite browser APIs and also one of the least talked about. It grants many features to developers and allows us to write extremely reusable components that are extremely declarative and easy to consume.
One of my favorite technologies: web components
Sins in any Software Development Project
This post is a collection of bad practices from my school projects. You can read this to learn about bad practices or treat it as a comedy about the subpar standards displayed by some student developers.
Common mistakes made by student developers
XING's DEV Profile

BTW, check out my dev.to account

Photos with my Battalion Commanding Officer and polytechnic Teacher.

Setup for School from home.

Work (study?) from home setup for April 2020

I use a Thinkpad E490 with Windows 10 couple with a Logitech M337 mouse and a second screen directly on top. I have simple needs.