Like any ambitious young man, Chang Sau Sheong had big dreams. Amongst his aspirations, he wanted to be “an author, a naturalist, an archaeologist, an astronomer, and a journalist."
At that time, he had little knowledge of what coding and software was all about. At the heart of it, though, was a larger desire to be “an explorer of frontiers, a discoverer of the unknown, and a maker of new things."
“It was never about just being a journalist," Sau Sheong clarifies. “The reality is, at the age I was then, everything would have been new."So he did what any sensible young man would - he flipped a coin.
“I placed all my 'dreams' in one set of universities, and all the 'realities' in another set of universities, and left it to fate," he recalls. As chance would have it, Sau Sheong ended up doing Computer Engineering in the National Technological University (NTU).
Today, he is affectionately known by all in the tech industry as the "Codefather." Sau Sheong is also the Managing Director of Digital Technology at SP Group (previously known as Singapore Power), and has gone on to author 4 books. In many ways, he's still living out his dreams after all.
Being one of the oldest active coders in the industry now, Sau Sheong has been through both the best and worst times as a software engineer, with many battle scars and lessons to show for them.
Here's his journey, and what we can learn from it.
Building a strong foundation
In the 90s, computer engineering in NTU was a course whose curriculum was split evenly between hardware and software. Interestingly, Sau Sheong ended up doing a lot more of the former in his university days, and even “did a final year project in creating a network interface card."
He would have become a network engineer, he explains, if he had gone along with his original plan. “As luck would have it, there weren't that many network engineering jobs when I graduated," Sau Sheong recounts. “The first job I picked up was developing a large-scale enterprise billing system for Singtel. From then on, it was all software and application development."
As such, he had little opportunity to make use of the knowledge he had gained in university. Still, Sau Sheong acknowledges that the “understanding of how computers work" gave him a firm foundation, upon which he built the rest of his knowledge and capabilities on.
“Without that, it would have been a very haphazard journey," he says.
As such, Sau Sheong still strongly recommends that budding coders undergo formal education, whether it be in polytechnics or universities. He offers two reasons why:
“Firstly, formal education trains the basics, and the basics often take time to be absorbed and get into the system. Formal education drills that into you. The second [reason] is more down to earth. Regardless whichever anecdotal stories we tell about Steve Jobs or Mark Zuckerberg or Bill Gates or Elon Musk, it is definitely much harder to get a job and do well in your career, without formal education and the implicit acknowledgements that come along with it. That's the reality.
Of course there are people who are wildly successful despite not having completed formal education, but these are much rarer and you probably didn't hear about the other struggles they went through nor the thousands that failed in their attempt."
Having formal education, he adds, gives you a “higher probability of success."
Taking the winding path
Sau Sheong believes that, in his post-university days, the path "picked him" instead of vice versa. After his stint at Singtel, he went on to work at the National Computer Board (NCB) - which later was merged with the Telecommunications Authority of Singapore (TAS).
His experience at these big organizations taught him about working in large teams, as well as “the idealism behind the public and civil service [as well as] the constraints."
Thereafter, Sau Sheong began what he remembers as “the toughest period of my career." He describes working on his first startup, elipva, as “riding a rollercoaster from the heady days of Web 1.0 down to the crash of the dotcom bubble."
Together with a lone engineer "squatting in someone else's office," elipva rapidly expanded “to 120 people in 3 countries and doing million-dollar deals." During this period, there were many moments when Sau Sheong was introduced to “the hard knocks in life":
"That was the time when I worked for a whole week without going home, sleeping in a sleeping bag in the office under my desk and being woken up by my co-founder in the morning.
That was [also] the time when I had to lay off most of my team, when I learned that being a good engineer doesn't mean being a good manager, and my ideas are not the only good ideas. That no matter how good the ideas and products are, some 800-pound gorilla can steamroll you over by giving away their products for free. And sometimes you can work sleepless nights for weeks and months for a customer, but if they change their management and then decide not to pay you, you just need to suck it."
Yet, the one thing he remembers most about this period were the “camaraderie and friendships." And when elipva finally exited in 2003, Sau Sheong emerged with considerable experience in managing engineers under his belt, which he put to good use in his next gig at a French startup.
At Welcome Real Time, he was charged with building a new development team in Singapore, and did so from the ground up, expanding his team from a few engineers to about 70.
To Sau Sheong, the contrast between the two companies was stark. “In my own startup, it was always a rollercoaster and also on survival mode, but this one was reasonably well funded by an existing product," he explains.
He also admits that he was “muddling along" and trying to do what he could in elipva. “But by the time I started with Welcome, I had enough experience, and eventually created a strong team that was able to efficiently deliver software to banks, running in smart cards, point-of-sales terminals and servers," Sau Sheong recounts.
Those were good days for him, which culminated in the company being bought over by an investment company.
“That was my cue to leave, especially when Yahoo came calling."
A time of wandering and exploringAccording to Sau Sheong, Yahoo was his first real experience with an American tech company - one whose culture and scale was unlike anything he had ever seen before. It was, in his words, “an eye-opener."
“At that point in time, Yahoo had the largest Internet user base, with 500 million users, and that was mind-boggling," he recounts. The technology and resources available, Sau Sheong adds, was at a different level from anything that he had worked with before.
At the same time, the people that he worked with also had very different perspectives from himself. “Working in a global consumer-focused company forces people to look at things in a very different light," he explains. It was all very refreshing to Sau Sheong, at that point of time.
Unfortunately, it didn't last very long due to unforeseen circumstances - in this case, the changing of Yahoo's CEO:
“Reorganizations happen, that's part of being at any company, but in the case of larger organizations, the effects go beyond the immediate change itself, and can often last longer than what you would normally expect. This is especially true when changes happen at the top. In my case, a change of CEO had a disastrous impact, and before long I was also out."
This experience would mark the start of a common theme across his next few companies: constant reorganizations and changes.
“After leaving Yahoo, I tried my hand at several different roles, the most significant of which was being the CTO at Garena," Sau Sheong tells me. At that point of time, Garena was still a small, up-and-coming startup, with the tech team comprising of just 10 young engineers.
It was also one of the more interesting roles that he had undertaken so far - even today, he feels a bit regretful that he didn't stick around long enough to see it shine.
The thing about being a top-notch software engineer, though, is that you'll be constantly inundated with increasingly interesting and challenging opportunities. Sau Sheong was no exception, and he soon found himself attracted by a chance to “starting and running a prestigious research lab" at HP Labs. Naturally, he took it.
At HP Labs, he would again find his role to be quite different from what he had worked with before. While he had managed engineering teams and built products previously, here he found himself working with research scientists and delivering research goals instead.These were the days when Hewlett Packard was still at the forefront of innovation - it had up to 7 offices located around the world at that time. Sau Sheong took up the mantle as one of the pioneering directors of HP Labs in Singapore, its research arm:
"HP Labs Singapore was focused on cloud computing, and we delivered a number of patents, inventions, and innovations for HP [...] I had a great time learning new technologies, how to build and run a research lab, and driving innovation from a rather unique perspective and company."
Sadly, organizational changes came sweeping in yet again.
“[They] impacted the directions and goals of the labs, and when something better came along I went with it and moved on."
That something better was PayPal.
PayPal and Singapore Power
In 2013, PayPal Singapore had one of the largest product engineering teams in Singapore - for an Internet company, anyway. As such, it was a return to the “familiar payments roots" that Sau Sheong had back in Welcome Real Time.
He was initially recruited to start and run a regional engineering team to develop products for the Latin American and APAC regions, but soon found himself riding the wave of organizational change (again!).
“My role changed to managing the global consumer engineering team in Singapore," he explains. “It was one of the best periods of my career, working in a large, well-known, and widely used global consumer product."
As a remote development center for PayPal, however, Sau Sheong knew that they were “obliged to develop according to the product strategies of the company":
“Remote development centers are extensions of the capabilities of the global team [...] this unfortunately means developing products for other markets and countries, and this also mostly means we have to follow the product directions of the central organization."
While he found it to be an amazing learning experience, Sau Sheong eventually found himself wishing that he could drive product and engineering out of Singapore instead. That's when SP Group swooped in.
Not surprisingly, there was some buzz when news that he had left PayPal and joined SP hit the headlines. “That surprised a number of people because SP is a government-linked utility company, which normally screams conservative," he recalls.Despite this, he was able to bring together a strong team of engineers, famously referred to as the Avengers of computer programming in Singapore. This was largely because Sau Sheong himself believed strongly in the potential of SP from the get-go:
"My role at SP appealed to me at many levels. For one, the company is very Singapore-focused and building products for Singapore (as a start) was something I wanted to do. SP is a very strategic and unique company in an industry that is being disrupted from many sides, but also has high potential to deliver public good.
The opportunity I was given had high levels of trust from senior management and I had strong support to do what is needed to transform the organization and deliver that public good. At the same time, I thought it was also a good opportunity for me to create an engineering organization that is truly Singapore-focused, and provide opportunities to Singaporeans and people in Singapore to work in such an organization."
It's been a year since Sau Sheong took the brave step to join SP, and he thinks that he has largely succeeded in creating such an organization.
As for delivering public good in Singapore, he believes that they're "getting there." Already, they've delivered their first public product in the form of the SP Utilities app, and Sau Sheong reveals that there will be a number of new product announcements coming up in the near future.
Climbing the ladder
As a budding software engineer reading this story, it might be tempting to take it as a manual on how to become as successful as Sau Sheong. Go through university, found a startup, and then use that career capital to jump into a big company - right?
According to him, however, there is “no magic formula or silver bullet" to take your career to the next level. Different engineers, he says, have different needs and wants at different times in their lives, so it's impossible to pinpoint the perfect company and working environment for one to excel in:
"It is difficult to generalize an idealized software engineer, because there is no such thing. For example, sometimes I like to program while listening to music, and at other times I like to do it alone in the middle of the night in dead silence. Sometimes I like people around me to bounce ideas off, and at other times I just want to do it alone in a locked room."
As such, his first piece of advice is for engineers to adapt and be flexible. If you need to bounce ideas off people, for example, “go to a coworking space where you know people, or chat with some people." Similarly, if you're in a noisy environment and require uninterrupted time, “move away and put on a pair of headphones."
“Having said this, I'm sure someone, somewhere, would totally disagree with me on this," Sau Sheong adds wryly.
His second piece of advice: do hard work, even when it feels less fulfilling. This is because “fulfillment is very subjective [...] what is fulfilling for someone can be drudgery for another person."
"If more technical work is what you want to achieve, go learn something new - a new programming language, or platform, or technique. Then find people who are also doing the same thing, chat with them, and join the communities around them. Join in open source projects, work on something. It'll probably start with some documentation or bug report but you'll have a chance to work your way up."
What about non-technical work? The first thing you'll need to realize is that it's quite different from traditional software engineering roles, ranging from product management, to being an engineering manager, or even being an architect.
"Try to understand what it takes and what it means to do well in that role," Sau Sheong says. "For example, despite its engineering focus, being an engineering manager doesn't really mean if you're a great engineer you can be a great engineering manager."
An engineering manager, he explains, deals with people more than code. So if you're not really a people person, you might want to think twice about pursuing this path.
That being said, what does Sau Sheong's “perfect" working day look like?
As you'd probably expect, he doesn't have one. “Any day where I achieve something, however small or large, is a good working day [...] everything can be improved."
Wise words indeed.
Want to check out opportunities at leading tech companies in Singapore? Sign up for 100offer now: