美文网首页编码里程码农的世界程序员
给大学生程序员一条实用的建议:学习 iOS 开发

给大学生程序员一条实用的建议:学习 iOS 开发

作者: javenfang | 来源:发表于2015-08-07 08:49 被阅读2044次

    本文的主题是,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)学习微观经济学。

    参考

    相关文章

      网友评论

      • 伊织随意写:现在还这么建议吗?:grin:
      • 4e5898ca95f5:音视频多媒体~快速开发…IOS不知道比安卓简单多少了!更不要说动画了
        bde6cd4cb050:@谢军 动画确实.....
      • 7de928b3e4a2:楼主挑口水,两个手机平台难不难不是一句话说的清的。如果楼主是觉得C比java难学,确实也算ios入门更难的理由
      • BadGuy_Leo:安卓开发的难度相对苹果来说才难多了好吧😓
        javenfang:@BadGuy_Leo 呵呵,那你就搞定 iOS 先吧!
      • 鸣2010:😄,我去年毕业,软件工程专业,大学时喜欢苹果设备,毕业就投身iOS开发中了,感觉iOS开发很有意思。也经常喜欢研究一些设计独特的app,公司规模不大,开发不是很规范,经常我即开发又参与改善设计和交互。关于激光推送,嗯,很不错,在用,不过我记得1.8.3之前的一个版本的静态库导致手机CPU上升后不降,机器发热严重,需要注意啊😄,不说了,写技术博客去了。多多交流...
        javenfang:@鸣2010 感谢支持哈!
      • Kent_Zhang:刚才安卓上的native代码出现了非常妖异的情况啊,Java去调用c的函数,如果我在函数里面调用了sleep或者usleep这样的线程休眠接口,那安卓的实现是立刻再tm起一个线程去调用这个c函数,简直了………………
      • Kent_Zhang:顺便问下,有没有让webrtc的回声消除在安卓上起效果的方法?做机型适配是怎么做?
        javenfang:@Kent_Zhang 呵呵,这块不熟悉啊:)
      • Kent_Zhang:有一个关于安卓和ios的点我想提一下,ios的开发相比安卓来说真的爽上不少。尤其对于底层一些的东西,比如音频,视频,ios里面嵌入一些老的好的C库完全是无缝的,并且可调试,可断点。但是安卓开发不说打native代码的断点,Java的断点都相当难搞。而且,ios的开发工具比安卓的开发工具手感上好太多了,自带内存泄露CPU耗费点等测试工具。
        其他的,就一点,ios做VoIP自带回声消除简直不能再赞了。安卓的回声消除真是个大坑。
        胖子程:@Kent_Zhang 感觉是真心喜欢iOS啊 :smile:
      • yunFeng:不收老人吗?
        javenfang:@yunFeng 优秀也考虑

      本文标题:给大学生程序员一条实用的建议:学习 iOS 开发

      本文链接:https://www.haomeiwen.com/subject/lyrbqttx.html