What I Learned from Building Large-Scale Applications for Overseas Clients


The IT industry in China is rapidly growing. Over the last year in Hong Kong, I’ve had the privilege of working on an exciting project that has become a significant milestone in my career, offering me the opportunity to learn something new and innovative.

Victor (Host): Welcome back to “Continuous Improvement”, the podcast where we dive into real-life stories of professionals facing challenges and finding ways to improve themselves and their work. I’m your host, Victor, and today we have an exciting episode centered around the rapidly growing IT industry in China.

Over the past year, I’ve been fortunate enough to work on a thrilling project in Hong Kong that has truly become a significant milestone in my career. It offered me an opportunity to learn something new and innovative, but it also came with its fair share of challenges.

One of the main obstacles I encountered was collaborating with remote colleagues across different time zones. With team members spanning from Pacific Standard Time to UTC-06:00 and UTC+10:00, productivity was certainly a challenge. However, we found ways to overcome this hurdle and maintain effective communication.

Another challenge we faced was the language barrier with clients. While some spoke Chinese, they weren’t proficient typists, causing delays in conversations. To tackle this, I recommend learning the pinyin input method as it greatly helped us keep up with brief conversations in QQ Chat.

To the surprise of many foreigners, China’s Great Firewall posed interesting challenges for our development process. GitHub was completely censored, making it impossible for us to simply use npm install & bower install. Furthermore, hosting on AWS and certain analytics tools were also blocked, forcing us to discover alternative solutions. Additionally, collaborating with developer colleagues who preferred different work styles added complexity to our project visibility and workflow.

During our public beta test of an Ember application, we encountered performance issues. The initial load and rendering times were frustratingly slow, especially for customers using low-end computers with outdated browsers. We were amazed to see Windows XP crashing simply from loading font icons. Ultimately, we addressed this problem by refactoring the application with vanilla JavaScript. Although it improved speed, it also significantly increased the codebase and introduced more bugs and states to manage.

One crucial lesson we learned the hard way was the importance of maintaining complete control over the delivery pipeline. Without it, a release becomes nearly unattainable. Despite working for months on redesigns and receiving positive feedback, we still struggled to launch the project due to the inertia and resistance to change in large corporations.

Through this experience, we gained valuable insights into both the technical and project management aspects. We learned that shipping early and often is a best practice, and we are eager to apply these lessons to future projects.

And that wraps up today’s episode of “Continuous Improvement”. We hope you enjoyed this deep dive into the IT industry in China and the challenges we faced. Remember, no matter the hurdles we encounter, there are always opportunities for growth and improvement.

If you have any questions or suggestions for future episodes, feel free to reach out to us on our website or social media channels. Thank you for listening, and until next time, keep striving for continuous improvement.