Fork me on GitHub
IT薪酬

新加坡IT薪酬

2014-06-12 12:51 by 圣殿骑士, 8856 阅读, 37 评论, 收藏编辑

很多朋友发邮件或留言问我关于新加坡IT薪酬的问题,由于前段时间比较忙,所以没有及时一一回复,在此表示抱歉。

新加坡IT薪酬范围大概如下(月薪,新加坡币对人民币为1:5):

Junior Developer/Programmer/Engineer/Consultant (初级):2.5K – 5K新币,平均值3.5K。

Developer/Programmer/Engineer/Consultant (中级):3K – 8K新币,平均值4.5K。

Senior Developer/Programmer/Engineer/Consultant (资深) :4K – 12K新币,平均值6K。

Tech Lead (技术组长) :4K – 15K新币,平均值7K。

Manager (项目经理) :5K – 15K新币,平均值8K。

Architect (架构师):5K – 18K新币,平均值8K。

CTO (技术总监):水太深,深不可测。

如果你的Title前面加了一个Principal,那么恭喜你,前(钱)途不可限量,具体不多做解释。

另外Designer和Tester的职位薪酬要稍微低一些,不过也差不了多少,具体也会根据工作经验以及资深程度而定。

不同公司有不同的薪酬体系、福利制度以及年终奖,一般新加坡公司年底会有2~6个月的年终花红。另外,新加坡的税是非常低的,远低于欧美、澳洲以及中国,所以有志于来新加坡的IT朋友们可以考虑一下。

附注:

新加坡这边税很少,我朋友在一家公司做架构师,月薪12.5K,十六薪,所以一年的收入是12.5*16=200K新币,折算成人民币刚好一百万,除了交税,拿到手的就有九十多万!如果在国内,程序猿要想达到年薪百万,可能要特别出众;如果在新加坡,相对来说会比较容易一些,所以想过来发展的朋友还是可以考虑的!

房租单间平均月价格在新币0.6k-1.2k,主卧新币0.7k-1.8k,一套一新币1.2k-2.2k,一套二新币1.4k-4k,合住一个房间新币0.25k-0.5k

找工作网站:

Monster: http://www.monster.com.sg/

Jobsdb: http://www.jobsdb.com/

JobStreet: http://www.jobstreet.com.sg/

JobsCentral: http://jobscentral.com.sg/

 

架构设计图:

imageimage

  1. 01_Client:存放UI相关的项目,比如Winform, WPF,ASP.NET, Silverlight,ASP.NET MVC或者相关的Web Model及View Model项目。
  2. 02_Hosting:存放与Service相关的项目,可以是Direct Service,Remoting Service,Web Service,WCF Service或者Web API Service 。
  3. 03_Domain:业务逻辑相关的所有实体以及操作(根据OO的思想设计类以及类之间的关系)。
  4. 04_Infrastructure:非业务方面的功能框架 (Data,Common,DataContract,AOP, IOC,Logging,Encryption,Email)。
  5. 05_Database:数据库项目(包含所有数据库脚本,方便开发,部署以及维护)。
  6. 06_Tests:所有测试项目(数据访问测试,框架测试,业务逻辑测试,服务测试以及View Model测试)。
  7. 07_ReferenceLibs:项目相关的外部引用。
  8. 08_Tools:一些简单的工具,方便开发,测试以及部署。

组件及部署图:

28-7-2014 12-27-11 AMimage

执行序列图

调用Service之前需要调用Service Adapter,然后根据项目配置来决定调用WCF Service,Web API Service 还是直接DLL引用:

28-7-2014 12-34-29 AM

四. 对项目的期望

为了项目的可维护性及扩展性,希望项目能具有以下特性:

  1. Organized:如果系统组织比较好,可以起到事半功倍的效果。
  2. Encapsulated:对功能,结构,数据进行有效的封装,会使系统维护变得更加容易。
  3. Reusable:对常用功能以及组件进行有效的封装,可以使系统变得结构清晰且方便维护。
  4. Extensible:在设计系统的时候,如果很好的遵守OO的设计理念(OO的五大原则SOLID),即使系统做得很大,也会像火箭一样直冲云霄!
  5. Replaceable:在很多时候我们需要考虑到系统,组件或者功能的可替换性,因为需求是会变的。
  6. Testable:做到系统的可测性,会大大帮助开发以及维护,对团队开发以及分工协作起着非常重要的作用。
  7. Loose Coupling:隔离耦合是架构设计必须要考虑的一个因素,如果系统不能做到高内聚、低耦合,那么在维护,升级,新功能开发方面就会是一场噩梦!
  8. High Performance:高性能是系统设计必须重视的要点,用户不可能忍受简单页面加载超过十秒,也不可能接受页面操作频繁卡死的情形,所以在架构设计的时候必须从数据库,逻辑,服务以及UI进行合理的优化。
  9. Scalability:如果能做到前面的几点,那么我有理由相信你的系统一定具备Scalability。
  10. Enjoy Your Life:最后一点也是最重要的一点,不要忙碌于重复的码农工作,喝杯咖啡,享受代码,早点回家,陪老婆、陪小孩,环球旅游,享受生活!

五. 面试题目

之前在网上看到一个比较有意思的面试题,做完之后才发现可以通过这道题考察很多方面的知识点,遂将其做了一些简单的改编,用以面试或者基础考察。

其实面试题目比较简单,主要考察最基本的算法、面向对象及项目经验:

Solution Implementation: Meeting Track Management

Suppose you are planning a big programming Meeting and have received many proposals which have passed the initial screen process but you're having trouble fitting them into the time constraints of the day -- there are so many possibilities! So you write a program to do it for you.

  • • The Meeting has multiple tracks each of which has a morning and afternoon session.
  • • Each session contains multiple talks.
  • • Morning sessions begin at 9am and must finish by 12 noon, for lunch.
  • • Afternoon sessions begin at 1pm and must finish in time for the networking event.
  • • The networking event can start no earlier than 4:00 and no later than 5:00.
  • • No talk title has numbers in it.
  • • All talk lengths are either in minutes (not hours) or lightning (5 minutes).
  • • Presenters will be very punctual; there needs to be no gap between sessions.

Note that depending on how you choose to complete this problem, your solution may give a different ordering or combination of talks into tracks. This is acceptable; you don’t need to exactly duplicate the sample output given here.

Test input:

  • Writing Fast Tests Against Enterprise Rails 60min
  • Overdoing it in Python 45min
  • Lua for the Masses 30min
  • Ruby Errors from Mismatched Gem Versions 45min
  • Common Ruby Errors 45min
  • Rails for Python Developers lightning
  • Communicating Over Distance 60min
  • Accounting-Driven Development 45min
  • Woah 30min
  • Sit Down and Write 30min
  • Pair Programming vs Noise 45min
  • Rails Magic 60min
  • Ruby on Rails: Why We Should Move On 60min
  • Clojure Ate Scala (on my project) 45min
  • Programming in the Boondocks of Seattle 30min
  • Ruby vs. Clojure for Back-End Development 30min
  • Ruby on Rails Legacy App Maintenance 60min
  • A World Without HackerNews 30min
  • User Interface CSS in Rails Apps 30min

Test output:

Track 1:

  • 09:00AM Writing Fast Tests Against Enterprise Rails 60min
  • 10:00AM Overdoing it in Python 45min
  • 10:45AM Lua for the Masses 30min
  • 11:15AM Ruby Errors from Mismatched Gem Versions 45min
  • 12:00PM Lunch
  • 01:00PM Ruby on Rails: Why We Should Move On 60min
  • 02:00PM Common Ruby Errors 45min
  • 02:45PM Pair Programming vs Noise 45min
  • 03:30PM Programming in the Boondocks of Seattle 30min
  • 04:00PM Ruby vs. Clojure for Back-End Development 30min
  • 04:30PM User Interface CSS in Rails Apps 30min
  • 05:00PM Networking Event

Track 2:

  • 09:00AM Communicating Over Distance 60min
  • 10:00AM Rails Magic 60min
  • 11:00AM Woah 30min
  • 11:30AM Sit Down and Write 30min
  • 12:00PM Lunch
  • 01:00PM Accounting-Driven Development 45min
  • 01:45PM Clojure Ate Scala (on my project) 45min
  • 02:30PM A World Without HackerNews 30min
  • 03:00PM Ruby on Rails Legacy App Maintenance 60min
  • 04:00PM Rails for Python Developers lightning
  • 05:00PM Networking Event

Requirements:

Use OOPAlgorithms and your experience to implement your solution with the following applications:

  • 1. WPF with MVVM
  • 2. ASP.NET MVC
  • 3. ASP.NET MVC with MVVM (AngularJS, KnockoutJs or Backbone.js)

六. 待遇

关于待遇,大家可以参考我之前写的一篇关于新加坡IT薪酬

七. 欢迎有兴趣的朋友与我联系

最后,欢迎有兴趣的朋友与我联系,发送简历及面试解决方案到我的邮箱(sggeekcoder(at)gmail(dot)com或者KnightsWarrior(at)msn(dot)com ),尽力做到查阅必回。

 

 

 

 

posted on 2015-09-04 22:00  HackerVirus  阅读(515)  评论(0编辑  收藏  举报