State of Software Engineering
It's been 3 years since i've started development work, since the start from working in the government sector and eventually taking a leap of faith venturing to the private sector. Whilst my base salary has seen exponential gains thus far, the projected annual gain has yet to match the annual salary combined with the quarterly bonuses given by the government.
Analysis of Benefits
This is a comparison of my salary before I left with my current years salary gains, some disclaimer the projection of my salary is based on what I received during the entire year from the time i resigned backdate 12 months. And the calculation of private sector is based on the time I joined the company but due to the startups financial situation I was retrenched after 6 months. But at the same time, I had a 30% increase in my base salary with about 2 years+ experience.
So if we look at it closely, after calculating all the bonuses/benefits. The government sector generally looks better, first of all I had this as my leave package before I resigned. (14 Days Casual Leave + 18 Days Annual Leave + 14 days Annual Leave(Carried)) Thats a whooping 46 days worth of leave, whereas the private sector is relatively good too. (20 Days Annual Leave) not that bad since you can carry forward half of it. So working longer in the company you have more leave which is roughly comparable.
Then what are the benefits of the private sector, Medical and Dental benefits I would say varies but so far the ones that I have are good in fact much more comprehensive and better than the Government. In fact, the government one sucks, you have $150 to claim for medical/dental every year only. Anything excess of it, they will deduct directly from your salary. That is for the low ranking bottom feeders like me, I dont know how well the top management is paid or whether they have other "special privileges".
Why am I calculating it now?
That's because it has recently come to my attention that, I may have negotiated for a slightly higher salary. Furthermore, there has been discussion about the range of salaries of Software Engineers in the range of 0-3 years, 3-6 years, 6+ years experiences. And the jumps are crazy, yet why does companies who "knows" they need to hire Software Engineers not pay a range that is fair.
It's because the top-tier companies pay a much higher base salary for juniors starting from $8000. Naturally if they can get into such companies when they are young and full of energy would want to join with that salary in mind. So it's like a law of attrition, lets take a look at some numbers.
Every year we have 3000 fresh ICT graduates, but we have 180,000 ICT professionals hired in Singapore. Source: Micheal Page Now take into account, not all ICT graduates eventually become software engineers. I would say a good estimate is about 3% of the graduates end up taking Software Engineering as a profession.
With a projected shortfall of 50,000 ICT professionals by EDB, it makes sense that hiring foreign talent is the only way we can fulfill the shortfall without impacting our economy. That being said, if that 3% all aspire to join FAANG/BAT/Grab/SEA. What is left for the rest of the "Tech" companies? the leftovers which are perfectly capable developers but weak at coding tests. I happen to fall into that category, because of past traumas I tend to blank out during live coding tests.
The dilemma
So whose fault is it, I would say it is captialism and greed. In the past, I've always thought that earning a honest income is perfectly fine. But once I started earning more and knowing that salary jumps can get relatively high in the range of 5 figures, you start to want more.
A reality check should be done, if you are capable and "really" know the tech well. By all means ask for a higher salary, but if you aren't then you should take a humble pie and be more realistic.