Mitch started off with a major in Information Communication with his first job developing web & graphic designs. He taught himself programming to an effect that he guided his colleagues on ReactJS, and with his team developed their own component library as ReactJS lacked in community support at the time.
He in fact started a ReactJS Facebook group to get some support and advice from a circle of friends. Today that group has thousands of members!
Real name: Mitch Chen
Location: New Taipei City, Taiwan
Facebook Groups: ReactJS
Group Links: Group 1
Q: You started off as a Graphic Designer? Tell us about your inspiration and your background/education.
A: Yeah. When I was attending the Chinese Culture University in 2001, I worked a part-time job for a small graphic/web design company. I produced a lot of design works while I was there, including icon designs, EDM designs, post designs, Flash banners, Flash websites, Flash games etc.
I became really familiar with graphic/website designs at that time, due to the fact that my major, Information Communication, provided a lot of courses to teach students to work with various design tools, such as Photoshop, Illustrator, Flash and Dreamweaver. In 2001, Flash was the hottest technical tool amongst front-end developers and designers.
I loved Flash at that time, as it allows you to produce anything you want. Flash provides timeline, animation effects, scenes, three types of components and ActionScript. You can just write a few lines of code in timeline or components to achieve a lot of amazing effects.
Furthermore, ActionScript is very easy to get started for a designer, which was the main reason for myself to learn programming.
Q: It has been nine years since you started your career. What has been the most important element that has provided you success?
A: Well, actually I don’t think I am successful yet. 9 years plus of front-end engineering experience is a long time and really not easy. I’ve made a lot of mistakes, and learnt from those mistakes.
My advice would be to always stay curious and try to find your passion. If you are curious about everything, you will find your passion more easily. Fear nothing, because curiosity keeps on leading me to new paths.
Q: How difficult is it to convert from a web designer to an R&D software engineer?
A: Designer’s work typically involves visual layout design, image creation, color manipulation, font management, and communication with clients. Everything is focused on the look and feel.
However, as a programmer, you need to consider things like software architecture, design pattern, OOP, performance, coding convention and maintainability, which is a totally different domain. Without any computer science background, I ended-up buying a lot of technical books for self-study, including ActionScript, JavaScript, Flash, HTML, CSS, JAVA, PHP, MySQL, data structure etc.
I spent a lot of time to catch up everything as fast as I can. Not easy, but it’s definitely worth it.
Q: Which new technology are you most excited by?
A: It must be React Native! Before it came out, I’ve always used Titanium from Appcelerator to create mobile apps. Titanium allows you to build cross-platform mobile apps with JavaScript, delivering fully native apps and reusing code across different device platforms.
That sounds awesome, right? I have always thought that Titanium was better than all other solutions for web/hybrid apps at that time. Now, I truly believe React Native is far more powerful than anything else.
As you know, React Native brings the power of the React programming model to mobile app development. It is aimed to be: “learn once, write anywhere”, which is good news for all developers. I don’t even need to learn different skills or frameworks in order to develop a product/service that provides both web and mobile applications at the same time.
All you need to do is just learn to React!
Q: Tell us about your work at Migo Corporation?
A: During my two years with Migo, I have built a front-end team from scratch and shared my React knowledge with the team. However, React wasn’t as popular as AngularJS at the time, which was really difficult to find related resources and tutorials.
Still, our team has done a great job. We’ve figured out a few tips to construct our projects, created boilerplates for our React projects, and defined our own coding convention for React components. Furthermore, we also created a component library based on React and Bootstrap to accelerate development speed.
Until now, we’ve used our own component library to build many products. This is really awesome!
Q: How are the employment opportunities in Taiwan for programmers?
A: Recent report shows that there are about 27,000 software engineer jobs in demand in Taiwan. A lot of global startups or companies have established branch offices in Taiwan, due to the high quality and experienced programmers.
Thus, software engineer positions are really popular now in Taiwan.
Q: You are very passionate about JavaScript, do you think ReactJS is better than the other frontend frameworks?
A: Yeah. React is a really wonderful solution to build large applications with data that changes over time. It has virtual DOM to accelerate the rendering speed, highly encapsulated, testable and composable components, no more templates, and support server-side rendering. Most importantly, it is really easy to get started!
Q: What was the motivation behind starting your Facebook group called ReactJS? What are the challenges and how much time do you invest in it?
A: Let’s go back to the beginning as to why I started learning and using React. Actually, I’ve used AngularJS to produce a few products for one year before I started to use React. We were trying to make a web application for mobile devices at that time.
This application had a lot of 3D effects and animations, which required frequent DOM manipulation. We implemented this product with AngularJS 1.x, Three.js and CSS 3. While everything was fine on modern web browsers, however, on mobile devices it really screwed up.
In the meantime, I started to study React and made a P.O.C with a few features to prove that it could run well on all mobile devices. Eventually, it worked very well!
There were not as many resources to React when compared with AngularJS at that time. To help people having similar concerns, I initiated a private Facebook group called ReactJS and invited some friends to join. While React became more popular than ever, I decided to make it public to everyone to share knowledge learned.
Until now, we have 6,399 fans in the ReactJS group and the number is still growing steadily! However, it’s a real challenge for me to manage this group since most of the fans come from everywhere in the world.
Also, there are many Facebook zombie accounts trying to join the ReactJS group, and I need to spend so much time to filter and prevent them daily, which isn’t easy. In the future, I really hope that we could figure out different approaches to share what everyone has learnt about React.
Instead of just sharing a link, an article or a Github repository, something like Livecoding.tv will be a really good start!
Q: You have developed a couple stocks related applications. Tell us about that experience.
A: A lot of people are involved with stock trading in Taiwan, especially for office workers like me. Most stock trading desktop applications and mobile apps provided by banks are less user-friendly.
Therefore, I started to conduct some experiments on stock applications and trying to change the thinking that we used to have from the past. I tried to design different UI styles by minimizing and simplifying the features that traditional stock applications provided.
Eventually, my stock applications attracted a lot of early adopters. This experience was very valuable to me.
Q: Tell us about your app called FuturesWatch and future markets.
A: Since I’ve produced a few stock related applications from 2008 to 2012. MitchStock Lite was my first stock related desktop application that implemented with ActionScript, Flex and Adobe AIR. And it was really popular and had over 1,000 downloads at that time, which was a big step for me.
After that, I’ve produced two more mobile apps: FuturesWatch and StockWarning Lite. FuturesWatch app allows you to obtain all the trading information regarding Taiwan Futures Market, and StockWarning app was a new way to watch and manage your investment in the Taiwan Stock Market.
Everyone watches and predicts the stock prices that they have invested in Taiwan, and it will be really helpful if you can also view the predictions from other investors. Sadly, both apps have been taken off the app store now.
Q: We found out you love Rock n Roll, is there something common between programming and Rock n Roll in your opinion?
A: Well, they might not directly have something in common, but I tend to code more efficiently when listening to Rock n Roll.
Q: What are your thoughts and suggestions for Livecoding.tv
A: I believe that Livecoding.tv provides a good and different approach to share knowledge learned. The instructors can code some cool stuff in real-time, and developers can learn the thought processes from other’s code.
Furthermore, you can hang out and interact with everyone online, which is really awesome! My only suggestion for Livecoding.tv would be to allow Github repository integration. It will be much more convenient for developers to review what he or she has learned from the streaming video.