1.How did you end up being a programmer since you majored in Math in college? What about computer science fascinated you?

Computer science is involved in every aspect of our life nowadays. We can do many things online. But you know computer begins with just two numbers: 0 and 1! The fact that such simple things can bring us what Computer Science is fascinates me the most. I was quite good at Math in high school. I found myself enjoying solving math problems. I also attended some courses and joined some competitions in HKMO (The Hong Kong Mathematical Olympiad Association). It was my interest. So I picked my interest as major in college. Mathematics is largely related to computer science. Actually cryptocurrency from blockchain is product of solving mathematical problem. My math background does help my job a lot.

2. Tell me some of the most important projects you led when working at Four Directions and Excellent Management Limited

When I worked at Four Directions, I introduced a new technology to company’s stack and that is React Native, which is a hybrid mobile app framework. My company got a mobile app project. But at that time we did not have enough manpower to develop both Android and iOS version. So we decided to use hybrid app framework. After research, I found that React Native was the most profound one and hence suggested our company using it. I created an app using React Native for another very small project for proof-of-concept. The company soon adopted it as it turned out to be very good in terms of development cost as well as performance on mobile devices.



The main difficulty was that I needed to learn this technology very quickly to catch up with tight project schedule. I learned the it by using it. I also needed to guide colleagues to learn the new stack. Some of my colleagues had problem in learning React Native. The technical architecture behind is fairly complicated. It’s very likely to write a bad React Native app if you do not understand what is going on behind the scene. My job was let them understand the architecture. They thought I was very good at teaching. One of them even asked me how many years I had learned it so that I can teach that clear.

3.Why did you decide to be a full-stack engineer? How did you learn it?

I like programming. I like learning different technologies. Full-stack developing lets me learn a lot more than just focusing on one end. The biggest difficulty is that you really need to learn fast to catch up the fast-changing IT world. I learned back-end and front-end development on job. I think I spent an hour learning it on average every day. I learned mostly by researching on web and reading other engineers’ articles. I started learning front-end first. As a front-end developer, I always needed to use APIs from back-end to fetch data for front-end display and perform different actions. But back-end’s APIs are not always well-designed and that made me want to learn and code on my own. Being a full stack developer gives me more insights of how to develop a good product. From back-end business logic workflow to front-end layout design, I need to think about both ends to build the final product. Every single part affects the quality of the product. Front-end and back-end require very different skillsets and it is difficult to say which one is harder to learn. Both have their own challenges. But for now, I think I am better at front-end development.

4.Any hobbies?

I like gambling and playing computer games. Turns out my hobbies are more or less related to Mathematics.

5.Why did you join MDT?