移动端工程师
目前流行的移动端开发包括 安卓开发 和 iOS 开发,扩展的有 移动端混合开发。安卓开发和 iOS 开发统称为 移动客户端 开发。不同平台使用的开发语言不同,开发工具自然也不一样,安卓使用的 Java 语言,iOS 使用的 objective-C。所以倘若你有学习移动开发的意向,首先要确定平台,然后进行相对应的语言和开发工具学习。其他的就是软件开发专业的其他知识了,如软件工程、操作系统、数据结构等知识。
本文以安卓开发为例,介绍其招聘需求,以及提供较为详细的学习路线建议。
安卓开发
安卓开发包括但不限于移动手机端上操作系统、游戏、sdk 和各种 app 开发。大部分使用手机为媒介和用户沟通的公司均设有安卓开发岗位,特别是互联网大厂和手机公司。
本文将介绍安卓开发岗的校招现状和校招要求,帮助校招生尽快了解该岗位。同时,文中例举了一些要点帮助大家判断自己适不适合安卓开发岗位,并结合自身情况选择岗位方向。
最后,介绍了安卓开发岗位的学习路线。学习路线主要适用于投递 安卓开发岗位 的校招生,其中项目、算法、计算机基础和语言基础同样适用于其他岗位的校招生和部分社招生。
校招现状
近两年,因为部分公司移动开发需求剧增、跨平台技术推广和客户端经历低谷期,安卓开发岗在部分公司产生招聘缺口,从而接受 零基础(专指没有移动开发基础)的校招生,综合岗位竞争压力、薪资范围等因素,安卓开发岗也受到不少应届生的青睐。
岗位竞争压力
多数大公司的安卓开发岗的竞争压力相对于后端开发、算法工程师等热门岗位而言会小一些。
薪资范围
一般情况下,大公司的 开发岗位(后端开发、前端开发、客户端开发和测试开发等)给的 薪酬范围相同,但会根据某些评定标准给校招生开出不同的薪资,比如 sp(special offer)、ssp offer 等。
招聘需求
总体而言,大公司的安卓开发岗招聘需求比小公司的安卓开发岗招聘需求更旺盛;
校招生要求
每个公司的不同事业部均有自己的移动开发策略,会招聘符合自己要求的校招生,但移动开发校招要求不一致。以下是 部分互联网大厂倾向于招聘的安卓开发校招生类型:
因为不同公司对不同类型的校招生的期待值不同,所以问的问题也会存在差异:
近两年,某些公司的部分事业部的安卓开发校招面试中存在 对零基础的人比较友好,对有一定安卓开发基础的人 比较严格 的现象。上述的三种校招生类型,面试难度可能呈 指数型增加,但相对而言,有一定安卓开发基础且能通过面试的人,最后拿的 薪资通常不低。
而某些公司的部分事业部的客户端开发岗位(包括安卓开发和 ios 开发)会从服务端(后端)开发岗位捞人。鉴于部分应届生可能不太了解客户端开发岗位,这里简单科普下 客户端开发和服务端开发的主要区别:客户端开发直接与用户使用相关,服务端开发提供的服务是交付给客户端或者前端的。
如何判断是否适合安卓岗
每个人在做职位选择的时候都有自己的偏好,建议校招生在判断自己适不适合安卓开发岗位之前,先明确一下自己选工作更在意哪方面的因素。判断自己是否适合安卓岗的主要考虑因素,包括但不限于(其他岗位同理):
薪资
安卓开发岗位在大部分大厂中与其他所有开发岗位拥有同样的薪酬范围。但是不同等级(俗称白菜、sp 和 ssp 等)的薪资不同,主要取决于面评、学历和能力等因素。此外,有些公司近两年出现客户端招聘缺口,会以签字费/入职奖金作为优待条件吸引校招生投递该岗位。
目标城市
安卓开发岗位在大城市和互联网发展较好的城市中有较多招聘需求,因为其中包含较多对 APP 开发和维护需求量大的公司。某些对 APP 开发和维护需求较小的公司不单独招聘安卓开发岗位,但会招聘全栈工程师(可以实现前后客户端打通的程序员),或者让后端工程师肩负小型 APP 开发和维护工作。对目标城市有要求的校招生,建议先搜索一下自己的目标城市是否有招聘安卓开发岗位的公司,再决定是否投递该岗位。
业务技术栈
安卓开发岗位的工作内容 「因地制宜」,使用的业务技术栈存在明显差异。只与 UI 设计有关的业务,就业面广,但是被替代的可能性较高;如果从事 某些专业领域 的业务,跳槽选择面较窄,但是技术难度大,被短期替代的可能性较小。
未来职业发展
安卓开发岗位短期内消失的可能性不大,但在大公司存在专门精通某个方面的业务或者是与其他技术相融合的趋势,需要不断学习才能适应行业发展。