概述
上周发了一篇AutoUpdater迁移到Github, 主要目的是熟悉当前社区写文章的流程以及GitHub的开源和发布流程,另外也开始回归社区,准备多写一些技术文章,多开源项目,顺带把这几年造的轮子也一一开源,我深信有开源才有进步,一味闭门造车只会逐渐被时代所淘汰。
前几天查看博客与邮箱,发现很多朋友发的邮件或者博客留言,由于最近几年一直忙于工作,所以没有及时一一回复,在此也统一表示抱歉,希望后面有更多的时间来回答各位的问题。
也有朋友想了解新加坡IT现状和薪酬情况,我觉得三言两语可能无法完全讲清楚,就干脆写几篇文章来详细聊聊。
新加坡互联网发展程度比不了美国及国内,公司也没有美国和国内那么多, 没有硅谷的巨头FAANG(Facebook,Amazon,Apple,Netflix和Google),也没有国内耳熟能详的BATJM(百度、阿里、腾讯、京东、美团)以及拼多多,字节跳动, IT市场规模相对来讲要小很多,主要IT企业可以分为以下几类,薪酬依次递减:
- 第一类是美系巨头在亚太的总部和研发中心。
- 第二类是金融企业(三家本地银行, 投资银行, 大大小小的几十家外资银行,二十多家保险公司)。
- 第三类是最近几类才发展起来的独角兽企业,如Grab, SEA等。
- 第四类是IT相关的项目外包或人力外包公司。
- 第五类是新加坡IT相关的初创公司。
- 第六类是新加坡其他行业的IT部门。
如果展开来聊,我估计几万字也写不清楚,所以我们今天最主要聊聊第一类美系巨头在新加坡职位与薪酬。
作为35+海外程序猿一枚,最大的好处就是不用担心被优化或者淘汰,身边60后,70后还在写代码的一大堆,所以没有像国内童鞋那么焦虑,但由于我现在所处公司最近几年业绩下滑,裁员不断,再加上今年疫情的原因,我自己也充满了深深的危机感!唯一的解决方案就是多了解业界的变化,不断学习,努力使自己不在被优化或者被淘汰的名单中。
之前由于公司项目需要,和微软和亚麻两大巨头的架构师们有多次会议,主要集中在使用他们的云计算产品和服务,在其中发现亚麻和微软在新加坡乃至东南亚的布局比我想象的更广泛和更深入。
最近和我曾经一起战斗的一个战友加入了“亚麻”,职位Senior Technical Program Manager
跟他聊了很多,也了解了他面试以及入职亚麻的一些流程,再加上自己曾经在微软工作过两年,还有很多同事在里面从事架构和管理的工作,所以对这两家公司有比较深入的了解。
在写这篇文章之前,也联系了这十年间在新加坡的前同事以及Meetup等活动人数的相关从业人员,大多集中在Google、Apple、Facebook以及IBM这几家, 了解了他们的一些基本情况,然后再结合各种招聘网站,薪酬网站,社区等进行了相关对比参考,尽量给自己和看文章的读者一个比较准确的信息。
美系IT巨头在新加坡都设立了亚太总部或者研发中心,如Microsoft ,Amazon ,Google、Apple、Facebook,Oracle, HP, IBM,Cisco, PayPal等, 有些虽然新加坡没有设立研发中心,但也招一些Solution Expert在新加坡或者整个东南亚扩展市场。
这些公司给出的薪水是最高的,大多数基础薪资会超过新币10K(人民币5万)以及一些股票,奖励等,同时不会限制跳槽涨幅,比如我2012年从上一家公司跳进微软,工资涨幅接近翻倍,这个在新加坡本地企业中是做不到的,新加坡本地企业跳槽涨幅一般在10%~30%。
如果要进入这些公司做开发者或者高级开发者,多数还是会把数据结构和算法作为入门门槛,也就是说刷LeetCode还是必须的。但是如果你面试Program Manager或者Architect或者更高职位一般不需要刷题,更多会考察你的解决实际问题的能力(如架构,经验,技术视野)以及相关的管理能力(带团队)。
国际IT巨头在新加坡的运营方式
这些国际IT巨头在每个国家都会注册相应的公司来运营本地的相关业务或者开阔市场,在新加坡也不例外,下面我就罗列了最出名的几家:
美系IT巨头 | 在新加坡注册公司 |
MICROSOFT |
MICROSOFT OPERATIONS PTE LTD MICROSOFT REGIONAL SALES PTE. LTD. |
AMAZON |
AMAZON WEB SERVICES SINGAPORE PRIVATE LIMITED AMAZON ASIA-PACIFIC HOLDINGS PRIVATE LIMITED AMAZON ASIA-PACIFIC RESOURCES PRIVATE LIMITED |
GOOGLE ASIA PACIFIC PTE. LTD. | |
APPLE | APPLE SOUTH ASIA PTE. LTD. |
FACEBOOK SINGAPORE PTE. LTD. | |
NETFLIX | NETFLIX PTE. LTD. |
IBM | IBM SINGAPORE PTE LTD |
ORACLE | ORACLE CORPORATION SINGAPORE PTE LTD |
DELL | DELL GLOBAL B.V. (SINGAPORE BRANCH) |
CISCO | CISCO SYSTEMS (USA) PTE. LTD. |
VISA | VISA WORLDWIDE PTE. LIMITED |
VMWARE | VMWARE SINGAPORE PTE. LTD. |
ADOBE | ADOBE SYSTEMS PTE. LTD. |
… | … |
职位与薪酬
Developer,Program Manager或者Architect的职位大多数在如下的范围,薪水大概范围在人民币税后50万~300万之间,具体看你的经验和取得的职位:
如果级别超过L7,E7, T7或者67的,在新加坡很少出现,除非是技术专家或者M级别的高级管理者,反正我没有在招聘网站看到过。
开发职位
薪水大概范围在人民币税后50万~200万之间。
大多职位集中在Frontend Developer, Backend Developer, Full stack Developer, Mobile Developer, DevOps Engineer , Algorithm Engineer等。
- Frontend Developer(前端工程师)必须要懂HTML5, JavaScript, jQuery, Angular, ReactJS及TypeScript等, Vue.js目前还没有看到相关职位,估计后面也会流行起来。
- Backend Developer(后端工程师)熟练掌握至少一门 web 开发框架(Spring, ASP.NET Core, Node.js, Gin, Django, Flask, Laravel, Rails等),熟练使用 MySQL/PostgreSQL/SQL Server/Redis/MongoDB等;
- Full stack Developer (全栈工程师)= Frontend Developer + Backend Developer + 熟练使用DevOps
- Mobile Developer (手机应用开发工程师): Native iOS (Objective-C和Swift), Android (Kotlin), Xamarin, React 以及Flutter。
- Cloud Developer (云开发工程师): AWS, Azure 以及最近加入新加坡市场的Google Cloud 和 阿里云,Cloud Native Developer非常受欢迎。
如果是资深的后端或者全栈Engineer (如Staff Engineer, Principal Engineer等),你其实已经对标下面的架构师职位了,所以你得了解以下技术或者知识点:
- 熟悉及使用面向对象设计开发;掌握Linux和Windows操作系统和大型数据库;熟悉容器化运维,熟悉DevOps, DevSecOps, BusDevOps等, 有CI, CD, Infrastructure as code相关项目经验。
- 熟悉常用云解决方案,熟悉分布式系统设计,有高并发、高性能应用编程经验, 分析和发现系统的优化点,负责推动客户系统在云计算平台的性能和可用性的提升。
- 云原生技术栈相关的开发及管理经验,如docker、kubernetes。
- 熟悉分布式系统的设计和应用,熟悉负载均衡,分库分表技术、数据库主从,消息中间件、分布式框架、分布式缓存,搜索技术等,能对分布式常用技术进行合理应用和解决问题;
- 对用过的开源框架能了解它的原理和机制,如服务框架、RPC、Service Mesh、服务注册中心、定时任务、动态配置、服务治理、应用容器等;熟悉领域设计以及微服务;
- 了解并愿意学习AI,ML,区块链等技术,并在云平台实践。
- 热爱技术,热爱开源,有代码质量和开发规范, 了解业内技术的发展方向, 在社区有一定的影响力。
- 善于沟通与团队协作,有项目管理的相关经验。
因为新加坡不是研发中心,所以这边做的项目都不是核心项目,我看到的一些招聘职位如:
Software Engineer II
Software Engineer III
Senior Engineer
没有看到过Staff Engineer及以上的职位, 如Senior Staff Engineer, Principal Engineer, Distinguished Engineer, Google Fellow, Senior Google Fellow。
Software Engineer
他们家的招聘广告没有明显区分Senior, Staff 或者Principal , 具体看你入职的Level和薪资。
Amazon
Amazon SDE 1
Amazon SDE 2
Amazon SDE 3
没有看到过Amazon Principal, Senior Principal的招聘信息。
Microsoft
Software Development Engineer (SDE)
Software Development Engineer 2 (SDE 2)
Senior Software Development Engineer (Sr. SDE)
Principal Software Development Engineer
没有看到过Partner Software Development Engineer, Distinguished Engineer, Technical Fellow
大概级别在如下范围:
最近典型的招聘广告
Solutions Engineer, Google Flights, Google Professional Services, gTech – Singapore
Roles & Responsibilities
Responsibilities:
- Implement and support customer integrations, and technical projects, including coding and integration of partner platforms.
- Work with our industry-leading pricing and shopping product, and build deep expertise in the travel industry.
- Support and lead new implementations, work closely with our strategic partners and improve product capabilities.
- Support cross-functional initiatives, engaging with Product Management and Engineering teams.
- Consult with partners to identify needs and develop their upcoming business solutions. Support, and communicate effectively with Mandarin-speaking clients.
Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- Experience in web technologies, one or more programming languages including Java, C++, and Python, and basic networking, Linux and systems.
- Experience with troubleshooting in a technical support capacity.
- Customer-facing experience in project-based work.
Preferred qualifications:
- Experience working cross functionally with engineering, product management, and operations.
- Experience in the Flights domain, or an enthusiasm and willingness to quickly learn the domain.
- Ability to translate complex product and technical concepts to non-technical and executive audiences.
- Ability to self-start and thrive in a fast-moving environment.
- Excellent verbal, written and presentation skills.
- Ability to speak Mandarin fluently.
Software Engineer (FACEBOOK)
Roles & Responsibilities
Responsibilities
- Full stack web/mobile application development with a variety of languages including but not limited to PHP, JavaScript, HTML, etc.
- Create consumer products and features using internal programming language Hack
- Implement web or mobile interfaces using XHTML, CSS, and JavaScript
- Work closely with our PM and design teams to define feature specifications and build the next generation of products leveraging frameworks such as React & React Native
- Work closely with operations and infrastructure to build and scale back-end services
- Build report interfaces and data feeds
Minimum Qualifications
- B.S. Computer Science or related technical field
- 5+ years of experience with relational databases and SQL
- 5+ years of experience with web technologies: JavaScript, XHTML, CSS
Senior Cloud Native Developer (DELL)
Roles & Responsibilities
Job Description
• Help customers realize unprecedented returns legacy application portfolio to cloud-native in order to incrementally reduce time, cost, and operational inefficiencies
• You will also work on Pivotal Cloud Foundry technology to deploy cloud-native applications.
• Assist Pivotal’s customers in transitioning existing JVM and/or .NET apps to Pivotal Cloud Foundry
• Continuously learn and be at the leading edge of Pivotal and industry trends
• Train, mentor, and develop pivots on a constant, ongoing basis to improve their performance.
• Coordinate with the larger Account Teams to coordinate selling motions and present a unified voice for Pivotal to clients.
• Maintain knowledge of Pivotal’s primary product offerings, and their value propositions.
• Be prepared to articulate value propositions to pivots and clients.
Required Skills / Experiences
• Familiar with extreme programming, test driven development, pairing, continuous integration, continuous delivery, and related techniques.
• Experience and familiarity building distributed / service oriented / microservice-style and cloud-based application architectures using programming frameworks like Spring/Java and .NET
• Implementation experience in building Twelve-Factor applications, and using Domain Driven Design
• Ability to explain complex technical issues in a way th