What I learned from building large-scale application for overseas clients

March 20, 2016

The I.T. Industry in China is a rapidly growing market. Over the last year in Hong Kong, I’ve been lucky enough to work on an exciting project. I’ve also had the chance to learn something new and innovative, making a significant milestone for my career.

Like many other projects, it is better to have every team member in the same place. I worked with remote colleagues in different time zones, including Pacific Standard Time, some with UTC-06:00, and others with UTC+10:00… but it’s not ideal for productivity.

The other challenge is you need to speak the customer’s language. I recommend learning the pinyin input method for those who speak Chinese but can’t type fast enough to catch up with the brief conversations in Q.Q. Chat.

To foreigner’s surprise, China has censorship of Github, so you can’t simply use npm install & bower install within the firewall. Hosting on AWS and some analytics tools are also blocked, so you have to find alternatives. Besides, your colleague developers may have a different work style instead of adapting scrum methodology or use the JIRA board for visibility.

Our public beta test of the Ember application, however, has performance issues. The initial load and rendering are pretty slow, even though Ember has friendly development tools. At least 20% of customers have a low-end specification computer with an old browser to make things worse. I was stunned to witness Windows XP turn to the blue screen of death by simply loading awesome font icons. Eventually, we solved this biggest problem by refactoring with vanilla js. Although the speed is fantastic, the amount of code written is doubled with triple the number of states and bugs to handle, which is not ideal.

We’ve learned one crucial thing the hard way. In retrospect, you need to have complete control of the delivery pipeline. Otherwise, you’ll never be released. It’s an art to ship early and often. We spent months working on three re-designs. Unfortunately, it’s still unable to launch regardless of all the positive feedback we received. It’s too risky for big corporations to change, and it’s too hard to overcome the tremendous corporate culture with fear of change.

With this project experience, we have learned a lot on both the tech and project management sides. Shipping early and often is the best practice, and I hope to apply some of these techniques to other projects in the future.


Profile picture

Experience in software development, application architecture, and deploying cloud solutions for enterprise customers. Strong hands-on skills with a Master's degree in Computer Science and business acumen with a master of business administration (MBA) in Finance. Certified in Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, Kubernetes (CKA, CKAD, CKS, KCNA) and Scrum (PSM, PSPO) with experience in building banking products from scratch. Connect on Linkedin

© 2022, @victorleungtw