Singaporeans, wake up! Why software is eating your island

| 24 Comments

During the last months, I've been working on this article. It shares stories about the software industry in Singapore and my perspective on why it will have to improve a lot in the future. I've written this article because I've frequently have discussions on the subject, but actually do not have any place where I could publish it. Therefore, if you like it, I'd appreciate suggestions on where would be a good place to publish it (other than this blog). You can find the PDF version of the article here.

--------------------

Title: Singaporeans, wake up! Why software is eating your island

The old-world economies, US and Europe, are losing their advantage in 'old' industries such as consumer electronics and manufacturing, yet many don't seem to be bothered. Why? Even after years of outsourcing, US companies are still the frontrunners in the 'new' industries -- the software-centric industries. But Singapore is missing this boat.

A year ago, Marc Andreessen -- the founder of Netscape, a member of the board at HP and an important venture capitalist --  posted an important and wonderful article in the New York Times "Why Software is Eating the World".1 He describes how software is overtaking traditional businesses. The most frequently-stated example of this is the bankruptcy of Borders Bookstore in 2011 while the online bookstore Amazon.com -- a software company -- is still thriving. Closer to home, the biggest computer bookstore in Funan Digital Mall closed its doors the same year. These days, who buys technical books in a physical store?

In traditional companies, the role of software is changing from supporting the business to becoming the core business. These companies need to re-learn their 'new' core business... or else a new start-up software company will learn their 'old' core business and take over their market and they will end up like Borders or the Bookstore in Funan Mall.

In Singapore, this re-learning will be more intense. Why? In general, Singaporeans do not have an interest in learning or understanding software development (yes, there are exceptions). They'd rather be an analyst, salesman, marketeer, or even better... a manager. These jobs have traditionally been important, well-respected and well-paying but... Singaporeans, wake up! The world is changing. A career in management or sales might not be such a great idea in 2012. Careers in software are of increasing importance and you are missing all of it! If this attitude doesn't change then it will lead to mass unemployment and will seriously hit the Singaporean economy. Am I exaggerating? I don't believe so, please let me clarify.

Poor state of software

Software in Singapore is horrible. I find it unbelievable that companies can get away with badly-designed software of poor quality that isn't functional. Examples?

Singapore Air -- I enjoy ranting about Singapore Air as they provide so much to complain about. In 2011 they 'upgraded' their website. Their new website was so bad that I wasn't able to book a ticket online and I eventually changed airline. At that time, Nicholas Ionides, the spokesman for Singapore Air, reported: "As with any major IT project, we do expect teething problems but we expect to be able to iron out these issues in due course."2 No, Nicolas, projects like your website don't have teething problems, it is just shamefully poorly developed. In May 2012, Singapore Air reported an unexpected loss because of "weak travel demand and soaring jet full prices."3 A month later their site is down because it is "currently experiencing technical difficulties."4 Wonder where the weak travel demand comes from?

But perhaps Singapore Air is an exception? Not really...

Singapore Bank 5 #1 -- Our company used to have an account at Singapore Bank #1. We do all our banking via eBanking and, after a year, we changed bank as their eBanking doesn't support recurring payments -- a feature I had always assumed all eBanking systems had. The bank did always assign friendly relationship managers to us... but they seemed to miss the point: We don't need relationship managers, we need a proper eBanking system.

Singapore Bank #2 -- New bank, which does support recurring payments, yeah! We're switching banks again. Why? Their corporate eBanking can not report detailed real-time credit card information. But that's not all. Their credit card summary statements showed the wrong credit information. The bank even charged us late payment fees as we had paid the credit card based on the on-line information -- the wrong information. Their friendly relationship manager told us to use the paper statements instead, which we had always ignored. We seemed to have been the first customer to notice this huge and obvious bug, but after six months they still had not fixed it. To make matters worse, after six months they had conveniently forgotten about it. We're not sure what bank to choose next.

Singapore Stock Exchange -- A couple of months ago, I was in Hong Kong coaching at an international investment bank. I mentioned the sorry state of software development in Singapore and they all nodded in agreement and sighed. "You won't believe the Singapore stock exchange," they told me, "it is an absolute disaster."

There is hope as the government is promoting software development! Then again, how do most of the government web-sites look?

The case of the missing Singaporean developers

I mean no disrespect to construction workers, however it seems to me that Singaporeans view software development as construction work -- the dirty work done by cheap labor, the dirty work they don't want to do themselves. Every now and then I chat with computer science students and they often express the actual programming as a painful phase in their career which they have to go through in order to get promoted to something better. Promoted to project manager or business analyst -- or other jobs which I personally consider to have no future... but more about that later.

There are companies in Singapore who care about the state of their software. These are usually not Singaporean companies. An investment bank in Singapore which we work with trained all their developers in modern agile engineering practices and hardly any of them is Singaporean. Or, a start-up in Singapore of about 40 people with zero Singaporean developers. Recently, I met with a manager of an international embedded systems company in Singapore. He is Singaporean and I mentioned IDA CITREP subsidy for Singaporeans. He laughed and said that he was the only Singaporean in their team. A friend of mine is a CTO of a finance firm and his policy: "Never hire Singaporean developers as they do not know how to develop."

"Software development is unpopular because of the low salary," I'm often told. Therefore companies hire developers from India, Indonesia, Malaysia, Russia, United Kingdom, United States, France, Holland... But UK, US, and France are not 'low-wage' countries, so what is going on here? I asked exactly this question to a CTO of a finance firm and he replied that the good software developers get paid a lot higher salary than sales, marketing or project management. Why? It is easy to find sales people or wannabe managers but finding good developers is really difficult. Perhaps the low developer salary is a myth?

Talking about myths. Now and then I'm told that all software development in Europe and US is outsourced to low-wage countries. This amuses me as I never forgot the discussion I had with a CTO of a Finnish games company where he explained that the only reason for off-shoring work was that he couldn't find developers locally. Salary and the work environment for software development is good, so good in fact, that according to the Wall Street Journal, software engineer is the best job in the US in 2012.6

Yummy, an island

In January, I was in Shanghai and needed additional heating. A friend and I drove to the nearest electronics mall. I found the perfect heater and told the store assistant that I wanted to buy it. She said it was not for sale. Puzzled I looked for a less perfect one but that one was out of stock. I asked my friend what kind of mall this was -- why don't they sell things? He answered most people buy things online, not in malls!

This fundamental shift will also happen in Singapore. Software is becoming part of the core business of organizations and, with that transition, software development is a core skill to have. But in this fast-paced, software-intensive world, the software developers must deeply understand the business they are working in and work directly with users and customers to create the best solutions. The days of software developers who only understand technology and who wait for analysts to specify the work are over. Software developers need to broaden their skill, understand their domain and remove the wasteful handoff of information from analysts.

Related to this shift is the change in management style often called 'Agile'7 where cross-functional teams work directly with users and customers using short iterative feedback cycles. Some management responsibilities, especially project management, are delegated to these self-managing teams so they can respond quickly to the needs of customers. The team members balance between deep specialization and being enough of a generalist to always move the team forward. This delegation to self-managing teams who balance specialization and generalization makes specialized management jobs such as project manager gradually obsolete.

In Singapore, this shift will be tough as it requires cultural change on three different levels. On an organizational level, organizations need to understand software rather than looking at it as a cost centre which is best out-sourced and off-shored. On a management level, management need to empower people and create inspiring places to work rather than the hierarchy and micro-management control that is unfortunately common in Singaporean companies. And on the national level, we need to create a national culture wherein people chose a software development career rather than considering it beneath them.

Currently Singapore is going in the opposite direction. Universities do not promote engineering careers and the recent, stiffer criteria on employment passes8 will make it even harder to find great software developers. I definitively hope this will not lead to companies pulling their development out of Singapore. If it does then that will definitively take a big bite out of Singapore's old-fashioned economy.

------------
1. http://online.wsj.com/article/SB10001424053111903480904576512250915629460.html
2. Reported in Straits Times
3. Reported in Reuters news (9 May)
4. Reported on Singapore Air website
5. Original names are removed for now as that wasn't the point.
6. http://online.wsj.com/article/SB10001424052702303772904577336230132805276.html
7. http://www.forbes.com/sites/stevedenning/2012/04/09/the-best-kept-management-secret-on-the-planet-agile/
8. http://www.straitstimes.com/The-Big-Story/The-Big-Story-3/Story/STIStory_702077.html

24 Comments

Good article. Fully agree.

It is a shame because I worked with a great team of developers at UOB in the late 1990's on a project where the agile feature-driven development process and the much-underrated 'modeling in color' analysis technique was invented. The team was a mix of hand-picked local and overseas talent. It can happen in Singapore but you are right that it requires a change in management values and culture. A change of project leadership and then CIO killed of any further innovation on the project I worked on, fortunately only after I'd returned to the UK.

Interested to syndicate it on our blog, e27.sg, that covers the tech startup scene in Asia. Do drop me an email on how we can proceed if you are interested.

You are right and I belong to one of the Singaporeans who have left software development to a job that manage vendor instead. The reason for this is very simple: the pay is low and the hours are very long. In software development, we spent a lot of time fire fighting and rushing deadline. Of course, you can say we should strive to make things better through refactoring, TDD, Srcum, etc. But many times its easier said than done. It's an uphill batter to convince the management and change the company culture, at the same time while we still fight the fire. We only live once and there are many things in do in life than being preoccupied with work This is especially so for those with family; our kids only grow up once and we rather spend time with them at night and during weekends than fighting battles in the office. Many of my colleagues cite the same reasons as me when I ask them why they left software development.

However one point I do disagree on is that Singaporsan developer can't develop. Those that actually stayed on in this line are actually very good. This is because with full employment here, it's very easy for anyone to find other better paid jobs. In fact I do feel engineering continues to be a popular course here; the problem is, most good ones probably join the financial sector after graduate, resulting in the lack of local engineers.

Thank you for writing this article- it's something I always wanted to write. Switched from economics to CS after going to Stanford. I'm Singaporean. Things will change. Thanks for writing

Good article.
I totally agree with you. I believe Singapore needs more innovation and tech companies of her own. The economy is based so much on foreign investments that it is just not viable in the future. China is rising up and learning how to innovate. She has her own equivalent of Internet giants like Google, Amazon, Facebook and etc. Korea and Japan have their own tech giants too. But Singapore has nothing. Even the once most successful tech company, Creative, is ... dead?

Singapore definitely need talented engineers to drive innovation. But from what I can see, the most talented people are stuck in government research organizations like A-STAR and DSO. Many of the brilliant ones are already overseas, contributing to other countries' economies. Singapore needs more talented engineers to be in the private sector starting their own companies.

I think the primary reason young people do not want to venture into engineering and computer science is because they would rather be engaged in more attractive fields like finance, banking, and law. In fact, many of the elite students would rather enter law and medicine in NUS because both are seen as the most prestigious fields. I believe some of them do not even have the passion nor interest in these fields, but they just want to be part of it nevertheless because of the prospects. People are just pragmatic. In my opinion, that is very sad as these people are merely blindly chasing money, not dreams.

So what is the reason engineering does not have the same kind of prestige as law and medicine do? I believe the most important reason is that engineers are not well paid, definitely not as well-paid as their American counterparts. In Singapore, if you pay peanuts, you get monkeys. If we want to retain talents (in the private sector), we need to pay as well as giants like Google, which is at least a 100K USD per annum. We must not forget that due to globalization, talented engineers who graduate from local universities can freely further their studies in other countries, and perhaps even work there long term. In short, that is a brain drain. In the public sector, there is such thing called bonded scholarships to retain talents, but are these people put to good use? How do they contribute to the economy?

I really shudder to think of what Singapore would become in the future. Can we really maintain our prosperity? China has the labor which we cannot compete with, and that is why the government let in large pools of so-called "foreign talents" or rather, immigrants who could provide cheap labor, to fill in jobs that the locals would not do. In terms of technology, we pretty much have to import from other countries.

I very much agree. Coming to Singapore from California, I was shocked at the dismal state of programming culture. The problem may be, as you suggest, the low-wages for developers. But I think that the underlying problem is a lack of pride in one's output. My Chinese and Singaporean colleagues tend to not even want to show their code to co-workers! There's been a cultural struggle just to instill basic practices like source code control and code reviews (and complete forget something like pair programming). And these are supposedly CS graduates (many MS, some PhDs) of "top Asian schools" like NUS/NTU/Tsinghua? They weren't taught enough to pass a sophomore level software development course in the US. So maybe the question should be: what's going on in those schools?

I think the main problem lies with the nature of our IT industry. If you notice Singapore's IT industry is mainly service based, e.g banks, system integrator, etc. There are very little IT innovations and products. Service based industry has the tendency to firefight, rush for deadlines and treat IT as cost centre. Even those in the developed countries mentioned in your blog has the tendency to move their IT service centre to countries such as India, Malaysia, etc, as well. It's only those product companies such as Google, Facebook, value software development since that is their core business. We have a lack of such companies here. The reason for this can be traced back to our history. When SG got kicked out of Malaysia, the only way for a resource-less small country to succeed is to bring in trade and foreign investments. As such, the education system is geared towards training workers to service these investment. While we have been quite successful now, we can't just simply switch from a service based economy to an innovative one overnight. The Japanese, American, Finnish, Jews, etc have very strong heritage and culture as a result of hundred of years of nation building. Such strong identity do play a part in cultivating an innovative society. Singapore is still a young country and we can't be considered a nation yet. However due to our accelerated success, we still need to maintain our large service sector while we continue to find our way. Moreover I don't think our inability to value software development will eat into our economy. Even Apple the most innovative and admired firm also outsourced it's manufacturing to the developing countries. Every firm will identify what is their core business and outsourced the rest. Unfortunately, we tend to attract firms that view IT as a cost centre and their non-core business. If Apple can continue to success adopting such model, I don't see how these companies will fail either. Its very narrow to view software development as being a very important element in every firm. It might be essential but not to the extend of being their core.


One key fundamentals of good management is attraction and retention of talents.

Singapore as a country sucks in this as it has 2 years of NS. This will attract and retain the fake talents. After 40 years of NS , you see the current population lack of vitality and enterprise.

It is like breeding a new dog species that is specially pick to be dumb and ambitiousless and lack of self motivation. Yes that is they type of people that like to do NS.

I seriously dont think NS is a factor. The Jews have it and they are one of the most innovative in the world.

Great post Bas - I've only been in Singapore for a short period of time, but I agree completely with your thoughts. Coming from Australia which has a reasonably old-fashioned view on software itself, I would say Singapore is comfortably 5-10 behind in it's attitude towards investing in and nurturing a quality attitude towards development.

When it comes to root causes of the problem, there probably is something around the messaging coming from the universities, but I suspect the root cause is in the attitude within the management groups within the major employers. In general, these organisations are way too risk averse and have probably not suffered enough economic pain to consider doing things differently. It's easy to coast from a management perspective when things are good, as they have been in Singapore for quite a while. Often it takes a sustained period of market tightening to make people get out of their comfort zone and really examine how they do things.

Large companies want cheap developers managed via a service contract or similar commodity agreement.

The future for Singapore development is not through these firms, but through smaller firms who appreciate the skills of a good developer and pay for them. These firms probably dont do ITIL, dont have service managers, change managers, metric managers, but focus on delivery.

Do those firms exist in Singapore however? Possibly not and with no excuse given the tax breaks.

When I talk to students who are finishing up university doing computer science, I ask them what they would like to do next. The most common answer is Project Manager.

In another case, I was helping someone build a marketing campaign for IT training in Linux and I was complaining there are not many real technologist and just a bunch of pencil pushers who have not paid their dues. She, originally a computer science major, was puzzled by this and blurted out that in University she was told that being project manager or business analyst was what she should aspire to.

Lastly, an unnamed tech society. This is a society that should be promoting technology advancement and all they really do is peddle pencil pushers for Project Management and outsourcing management certification!! Even their events are largely just sales pitches for the big software companies. Its really really sad.

Its no wonder we are in this predicament.

I am building a new technology company now and PROJECT MANAGERS WILL BE ON THE LOW RUNG OF THE SALARY SCALE, if we can get away with it we will not have any at all. You want a good salary then become an engineer.

Its time we start appreciating our engineers.

Hi Bas Vodde,

I'm very interested to have your piece published on SGE, a website on technology and entrepreneurship in Singapore and Asia. Do email me if you're interested :)

Again I feel it's very narrow minded to deem PM and BA roles as having lower value than developer. As a developer, you will of course think that your job is the most important and the rest are pretty useless. I still think every role has its own part to play in making a successful project. I don't think a developer is able to do everything by himself. Moreover not all developer are discipline and highly motivated. Thus there is a need to manage them as well. We can't assume everyone is the same. Agile is just a methodology that advocate empowering developers. It is not foolproof and has it fair share of failure too. Likewise the other models have their fair share of success too. Outsourcing is not entirely a bad thing if done properly. I notice that many advocates of agile tend to be quite narrow in this aspect. They tend to think other roles are useless and developers can do everything.

Thanks for the great article. We are a small startup with a team of mostly Singaporean (80%) and Singapore PR (20%).

It is indeed hard to find really good Singaporean developers as they will tend to go for banking jobs/industry or management jobs as soon as they graduate, or create their own company. Which is fairly understandable.

We are doing our best to increase the pay regularly, as well as equity package to get them into the business side of the company and there is really good money to be made in the industry for good developers which can also work freelance and make 15K$-20K$+/mnth

Daniel, we are hiring!
We are a local software company where Software is at our core, and good SW engineers are paid very well. More than non-engineering managers in many cases.

write to me!

Heh, having moved up over the years from ninja-style one man hot-shot coder to working in teams to then leading teams... I'll have to say you're still going to need Project Managers. Still no PM is going to deliver a good product if you have crappy devs, so there you go.

BTW, agree with the shitty dev pay here. We really need to pay more. You pay peanuts and you get monkeys. You gotta pay golden bananas to get code monkeys :p

Somewhat agree with your article, but also this negative perception might be contributed from ourselves software engineers.

There are 3 main challenges to go agile - domain expertise, high discipline and salary.

First, domain expertise is a huge problem due to low appreciation (pay) as developers tend to focus so much on the technical aspects and strive with better offers by jumping from one company to other companies, thus ignoring domain focus. This is worse in Singapore as living cost is the main contributing factor.

Second, it is difficult in Singapore to get developers who are discipline in coding practices, even very simple practice like making comments in their code and make the codes readable are not done!

Third, low pay which is caused by negative perception in software engineering and/or lack of competency on those 2 points above.

All these are like endless circle which makes it difficult to have decent software deliverables here.

To close my comments, as developers we need to strive to improve ourselves on point 1 (domain focus) and point 2 (self-discipline), then point 3 (good benefits) will come by itself - if not in here other country will give you.

I work as a programmer for more than 10 years. I used to work in IT startups, software house, consulting, in-house development team in a non-IT Company and finance company. In most projects, I hand coded it from ground to up.

The problem in Singapore is not with the Developers. The problem is that there is no market for good developers and the demand for super programmers are low. All projects are treated as 1-time off.

In general, the programmer pay is low and long
hours compares to system analyst or project manager. By the time you are above 35 years old, you are lucky if you can still work as a programmer with a decent pay. Many IT fellows look down on me because I’m above 30 and still a programmer. The usual questions is “how come you are a still programmer?” with that kind of look.

But if you are project manager, the story will be different. You can get a good pay, position in mid management, fancy title (Vice President)
and in some companies you can go back home on time.

Don’t get me wrong, it’s ok to be a project manager. If you can pay cheap programmers and get the things done, the company is happy.

It all boils down to:

MONEY: With $2,000 budget, would you hire a fresh graduate or a foreigner with 3 years of
experience?
Would you want to pay $10,000 for 1 super programmer compares to 4 good (not lousy) programmers?

AGE: If you have an iOS project, would you hire a 40 years programmer with 17 years programming
experience or 26 years old programmer with 2 years’ experience in IOS?
Programming is a skill with an expiry date.

I left my job and I’m running my own startup now.

Dear Bass Vodde,

This is off-topic but I haven't been able to find your e-mail anyway on the net. I'd like to contact you with a question about your and Craig Larman's book "Scaling Lean & Agile Development"

Apologies for spamming the blog

Many singaporeans in hiring position expect to pay low salary for positions that in their term "just do programming", which they think can be done by someone at 1.8k per month. With alot of hiring people in the local market having this kind of mindset... it is not surprising Singaporeans are not motivated to master Software Development. We have to face reality, cost of living in Singapore is not exactly low, we need to eat, our families need to eat.

I agree with the author. With so many of such people as Singapore industrial leadership/management position, it will really hard for a home grown "Apple" company.

Hi Tom,

What kind of software company are you starting?

I agree whole-heartedly in the abysmal state of software development standards in Singapore. Like many others, I attribute this to a pervasive, cultural bias on viewing software development as a 'low-value' occupation and having a need to ascend the rung of value by becoming a PM or such.

I have worked in several of the large Singapore IT MNC firms and the story is typical. In one company, the PM is the king of the hill (and expected to be treated as such) and the developers slave away at the dictates and cadence set by the PM.

The only exception to my bias are foreign IT companies, establishing themselves in Singapore. These tend to pay well because you pay for what you get!

Well written article that explains the current state of Software Development in Singapore.

About this Entry

This page contains a single entry by Bas Vodde published on July 13, 2012 3:44 PM.

Book Review: There's always a duck was the previous entry in this blog.

Find recent content on the main index or look in the archives to find all content.