本文的主题是,iOS 开发是市场急需的职位,但毕业生因为成本投入原因往这个方向走的相对少。给大学生程序员建议,成本投入问题其实不是太大的问题。
为什么建议 iOS 开发?
因为市场需求。
近几年在创业公司主管技术,最郁闷的事情莫过于 iOS 程序员太难招聘到。
原因也简单:需求增长快,供给增长慢。
还有一条间接原因:大公司为了要找到需要的人,给的待遇可以一直往上涨,甚至可以不惜降低人才标准。创业公司抢不过人家。
需求增长快就不必解释了吧:大家都看到,这几年智能手机的大爆发。
说说为什么 iOS 开发供给增长慢?
iOS 开发程序员的供给来自于 2 个部分:1)新毕业学生;2)老程序员转型。
我目测,老程序员转型的占比相对小点:因为对于老程序员,转型到一个全新的平台,是需要有点魄力的。大部分人没有。
那么,供给增长慢的主要原因是什么? 因为对于大学生,iOS 开发相对“难能”。
为什么不是 Android?
因为供给。
今年我们团队新来了个华南理工的 Android 实习生。让他推荐做 iOS 开发的同学给我,得到的答复这样:他们班相当一部分学生学习时选择了 Android,只有 3 个往 iOS 开发方向。但是最后毕业时做 Android 开发的比例也不高。
是的,之前几年 Android 招人也是有点难,还是因为需求增长太快,导致暂时的短缺。今年 Android 招人就不难了,简历过来的比 C++, Java 的还多。原因简单,因为响应市场需求,大学生相当一部分做移动开发了;还有就是 Android 学习相对简单,比后台开发都简单。
所以感慨一下。也不要看到我这篇文章大家都去学 iOS :) 后台开发其实也一直缺乏真正的人才,并且是更长期更有挑战的技术路径选择。(预告:之后写篇文章说说移动开发与后台开发。)
iOS 开发的“难能”
“难能”才可贵。
“难能”导致去做的人少,导致供给少,导致“可贵“。聪明的人一定要明白这个道理。你要体现更大的价值,就要迎难而上!
iOS 开发”难能“的原因,我理解最主要的是:1)做 iOS 开发的经济成本;2)技术难度。
大家都知道,做 iOS 开发需要一台 Mac 电脑,需要一台 iPhone。必不可少。这二者都是相对高大上的东西,以中国的购买力,成本相对有点高。按
标准的预算,需要大约 Macbook 8K + iPhone 5K,一共 1.3W。
而中国的在校大学生,大多家庭并不富裕,对于他们 1.3W 不是个小数目。有这样一个拦路虎,自然大部分人就没有选择 iOS 开发,而选择了相对轻松入门的了。
技术难度方面,的确 iOS 开发难度也相对大一点。但是,对本来 C 语言是必修课的计算机系学生来说,应该是没有大多少的。但比同是移动开发平台的 Android 来说难度还是大不少了。本文不展开详情这部分。
为什么应该投入
如果的确是我所说上述原因,导致你没有选择 iOS 开发而是选择了 Android,我来帮你算算这个账。
首先投入。
1.3W 是标准的配置,的确有点高。能不能少点?答案是能!
买低端一点的设备,或者二手的设备。Macbook 13 寸 2011 年左右二手的,现在被大量淘汰,编程跑也基本没有问题,大概 3.5~4K,可能有些还加过 SSD。二手 iPhone 5s 2K,新的京东上也才 3.3K。汇总一下约 5.5~7.5K。
你做 Android 开发投入的成本,也按低端的算,笔记本 4K + Android 手机 1K,合计 5K。iOS 开发的成本顶多高出 2.5K。
会有人说,我就是要全新的,不想用二手的。嗯,要求这么高也没办法。最好去抱怨不是富二代!
再说收益。
iOS 开发收益可就比 Android 高出太多了。平均一个月的工资收入就比 Android 高可能不只 2K 了。也就是说,你的“高投入”很短的时间就可以回收。
另外一个附加收益也可以说说:做 iOS 开发,玩 Apple 家的东西,你的逼格可就高多了!
关于程序员入门语言,多说几句
本文既然写给大学生程序员,顺便再说几句我的思考:移动开发还是后台开发。
首先要说的是,我完全同意本文参考文章所说的,不要局限于开发语言。虽然以后真正转行的人不多。
如果你的志向更多的是产品,你对产品使用感受很在乎,经常把玩各种 App,则更合适往移到开发方向走。(其实包括Web前端)
如果你的志向在于技术,对码代码兴趣浓厚,则更合适往后台开发方向走。移到开发也有技术含量,但除非你做如淘宝那样大而全的 App,或者做 ROM,否则技术深度有限。而另一方面,要做好移到开发,对产品的感觉非常重要,否则可能做不太好。
炒下冷饭
关于给大学生程序员的建议,我 Google 了下关键词,有二篇不错的文章。即使成文较早,但现在看来仍然没有过时,值得认真考虑!在文末的参考部分有链接,请仔细阅读。
印象深刻的建议:1)毕业前学习好写作;2)学习微观经济学。