I had a question and answer session over email with Mr. Ee Teck Chai, whose first job was a software engineer, and is currently the Product Development Manager for Unified Communications, a solution provider listed on the Singapore Exchange as Captii Limited. He counts two decades of experience in software development and has vast experience in system architecture design, specializing in telecommunications solutions. In his current role, he is a team leader in charge of maintaining the company’s products.
What factors made you stay in this industry for so long?
The work is exciting, there are always new challenges, ongoing learning, new technology, and new development in the industry.
What do you like about your job?
The telco technology is demanding, I need to constantly upgrade my skills to keep up with it.
What coding languages and tools do you use in your daily work?
I use C and C++ on Linux; other tools include Notepad++ and shell script too.
What are the contributions of your company’s solutions to the industry?
To provide value-added products and services for telco companies to serve their subscribers well, help them to gain more revenue, and save costs at the same time. The industry is dominated by big players, however, there is still a niche for small players.
As a software grows in features over the years, will there be a need to re-write the software from scratch?
As long as the architecture is well designed, it shall fulfill the current as well as future demand, re-writing or re-designing is not necessary.
I understand that you have years of experience working as a system architect. What are the most important considerations in system architecture design?
When designing a system, the goals should be:
· Create a bug-free system
· Create a high-performance system
· Considerations on flexibility, with ease of maintenance and expansion
· Aim to have less overhead
· Functionality design with structural and hierarchical considerations
What are the challenges that developers in your team might face when doing their jobs?
Telco service providers have service level agreements to maintain, commonly at a system availability of 99% or more, so we aim to minimize system downtime at all cost. Developers need to have good technical skills on:
· Telco service logic
· Programming on live service environment
· Service architecture and logic
Are the developers in the industry fairly compensated in general?
The compensation is relatively fair.
What do developers need to do to remain employable?
Developers should keep up with changes in technology advancement in IT, improve and update their skillsets with time.
Working in a constantly challenging industry, how do you achieve work-life balance?
To relax from work, I do physical exercise, including yoga, and spend time with my family. Occasionally I also trek the jungle and climb mountains.
How does mountain climbing or jungle trekking help you to take a break from work and recharge your energy?
Living in a fast-paced era, and a dense city full of skyscrapers, it can feel imprisoning. Nature is captivating and liberating for the body and the mind, it is like a magnet that draws me to the mountains. I had trekked to the summit of Gunung Ledang, and the Gunung Kinabalu base camp. When climbing a mountain, at times I was carrying the tent and equipment weighing 20kg, every step forward was a challenge, but it was impossible to stop or go backward, I could only continue to move forward, just like an epitome of life.