前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >只会画界面写业务的 iOS 开发真的没人要了! | 程序员有话说

只会画界面写业务的 iOS 开发真的没人要了! | 程序员有话说

原创
作者头像
iOSSir
修改2019-05-29 18:10:40
6700
修改2019-05-29 18:10:40
举报

如果你是一个 iOS 开发的新手,我可以告诉你,这个职业的红利期早已过去。随着 APPL 的股价大跌以及内忧外患不断,iOS 这个职业的恐慌指数在不断的增高,已经对新手不太友好了。

如果你是一个 2-3 年的 iOS 从业人员,每天的工作内容就是画画界面、写写业务、调调接口,那你是时候改变一下自己的视角从新审视下未来的职业规划。

如果你是一个3-5年的老鸟,掌握了一定的技术及资源,可能这篇文章的内容已经早已在你脑海中有段时日,只是缺乏良好的契机。

由于 iOS 开发,国内并没有相关对口的专业,所以基本上大多数开发者都是通过自学进入市场的,有的由于是科班出身、重点大学,幸运的进入大厂深造,一路顺风顺水,使得其他的开发者只能望其项背。

但多数普通的开发者都是通过培训机构进入市场的,并没有很深的技术基础,没有系统的学习过计算机原理的课程,只是从培训机构快速学习了API的调用,对其本质不是很了解,也造成了进阶的困难,所以现在市面上出现了很多在线技术教育,学习是很好的行为,我们这里谈的是如何精准的学习。

自我接纳

如何进行精准的学习?

首先我们需要学会自我接纳。做产品的对目标用户会有用户画像, 用户画像存在的意义是无论你做的是什么说的是什么,并不能取悦所有人。这就是定位的意义,对自身也是一样,你需要了解自己的定位才能进行进一步的规划。

相同的环境造就相同的价值观,由于每个人的价值观不同,造就了这个五彩缤纷的世界。当我们作为 iOS 开发刚进入市场的时候,那时候只需要会画一个 TableView 就能赚取可观薪水的日子早已离我们远去。

随着市场成熟后门槛也逐渐的提升,所以如果你只会用 Objective-C,画界面、写业务、调接口,现在需要加把劲了,因为这个时代正在淘汰这些低级工作。

有了改变自己认知的契机,我们就来问问自己三个问题:

  • 你所拥有的技术储备真的是市场上需要的吗?
  • 面对层出不穷的新兴技术,如何才能做好技术选型?
  • 你真的有把握能够在技术这条路上走到底吗?

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:763164022,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

市场数据

先不急着回答上述的问题,我们先看一下市场所呈现的数据,而不是人云亦云,不然就很容易被现在的某些知识付费收智商税,鼓吹碎片化学习。

没有数据支撑纯靠思辨的产物不是知识,你仅仅获得的是获取知识的感觉。知识是需要全面系统的学习并进行场景验证的,所以在如何规划之前先看看数据。

上图是艾瑞指数的数据,不用去管媒体如何煽动,数据表明 iOS 的占有量还是比较稳定的,所以 iOS 没有人要了可能真的只是一句玩笑,因为有市场就会有需求。

我们再来看 iOS 设备的分布图, 可以发现目前主要群体还是使用的 iPhone6/6s 的设备,可以看到 iPhone8/8P/XR,并没有卖的很好,换机频率下降是不争的事实。

但整个行业都是如此,所以也不用太悲观。所以还是以提升自身技术为先。

技术储备

技术储备是说明一个开发者具体的能力体现的,所以不断学习是每个技术人每天需要完成的课题。以 iOS 举例,iOS 基本技术无外乎UI、网络、业务三个方面,也就是画界面、写业务、调接口。

这是基础能力,但你纵览整个大前端技术栈,本质都是这三个方面,所以很多的开发者会想要深入学习,会看一些官方或者是三方的一些源码,并写一些分析放在博客上,自以为理解了作者的想法,沾沾自喜。就如有些人会看 Runtime,但很少人知道 Facebook 的 Fishhook,毕竟掌握后者的技术储备和 Runtime 不是一个量级的。

这里假设你已经熟悉了 Runtime 源码中的底层实现,了解了 OC 的实现机制,但你并不知道这些东西的使用场景在哪里,为什么大厂可以用这些做一些 APM 的东西,而你并不知道如何入手。这是因为你的技术储备不足,再有就是你的视角产生了偏差。

C/C++/Linux/ASM, 这些基础是必须了解,学完前者后,再看 Runtime 源码,就会感觉非常轻松,没有任何的困难。

如果你只有技术的视角,以为技术能够解决任何问题。事实是技术只是一个工具。工具就是可替换的,而工具只会变得越来越简单,越来越顺手。你的如果只被技术限制住,你的竞争力会逐年降低。

聊聊面试

网上只要发随便发一篇面经,就会有很多人关注,笔者有幸面试过很多大厂,如饿了么、京东、美团、携程、头条、招行等,面试题无外乎就是,OC原理、UIKit、网络、线程、组件化、算法、架构等。目前对 Swift 和跨平台插件化也会有一些涉及,这个部分取决于你所面试的业务线。但是,算法必考,架构必谈。

其实如果你是一个有技术储备的合格的开发者,通过面试对你来说并不是一个非常困难的事情,因为这些东西真的并不难,都是一些日常涉及的东西,常规操作而已。

谈谈全栈

对于技术提升会分为两条线:深度和广度。

算法有叫“深度优先”和“广度优先”的,这两条线并没有孰优孰劣,看你所在的场景。在知识付费领域的概念就是,T 字型人才,80%人才,100%人才,具体选择那条线没有什么实际的意义。

在先进互联网技术栈被笼统的分为:前端、后端、移动端、数据端。我的观点是全栈很有必要,首先你需要了解你的价值不取决于你的能力,而是市场的稀缺性。成为 100% 的专才,的确可以拿到头部市场,但成本大风险高,而做一个 80% 的通才,是一个对普通人比较友好的选择,而如果你已经是一个有技术储备合格的开发者,T 字型发展也是一个合理的选择。

如何选型

现在新兴技术层出不穷,光 iOS 方向就有 ReactiveCocoa、ReactNative、Flutter等,还有人工智能、区块链等新兴技术,所以吾生也有涯,而知也无涯,以有涯随无涯,殆已!

技术不能够脱离产品而独立实现,产品不能脱离运营而独立存活, 运营脱离了用户也没有了意义。你要理解互联网的本质其实是人的连接,理解了这层逻辑, 反推来看你的视野就会清晰很多,由用户产生了需求,运营用户而产生了群体,分析群体而打造产品,实现产品才需要技术,所以在没有很大基数的用户的前提下,对技术的追求是没有任何意义的。而当有了用户,就会知道你该如何技术选型,最经济的方法就是选择那些稳定且成效快的,这也是为什么三方库存在的本质。

技术之外

技术本质只是工具,互联网是人与人的连接,是思想的碰撞。这是为什么一些大V仅仅是运营粉丝就能够赚的可观的收益,而那些明星级别的顶级流量自不必说。

所以一个优秀的开发者也需要学习运营和产品方面的相关知识,需要了解用户画像,需要了解人性,这样在怼产品的时候就会更有底气。

幸运的是,你成为产品简单,产品成为你难。可以试着做一些新媒体及产品,并用技术实现,你会发现实现自我的同时,收获了更多的快乐。当然对于不熟悉的东西,每走一步都异常艰难。

提升视野

现今世界最厉害的两个武器:一个是技术,一个是传播。每个时代都是相似的,例如以前一边是王权,一边是宗教。

作为开发者,技术是赖以生存的本能,而你需要提升的是你的传播能力。那些人做公众号、微博、抖音、技术博客的本质就是为了传播,而我写这篇文章很大一部分原因是为了锻炼我的文笔,更好地运营新媒体,创造属于自己品牌的价值。

和技术储备一样,需要提升知识储备,当知识储备到了一定的阶段,输出倒逼输入。你就会有发表自己观点的欲求,也会从看博客到写博客的阶段。而现实是你可以靠技术进行变现。

当然变现并没有那么简单,需要学习的东西很多。首先你需要了解了解技术,各种前沿技术和未来的趋势,看看大佬们的想法,比如得到里的万维钢和王煜全的专栏,对提升你的视野很有帮助,但如果你想要从中学习到知识,还是别天真了,老老实实的系统学习,动手去做。记住,没有数据支撑,纯靠思辨的产物不是知识。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自我接纳
  • 市场数据
  • 技术储备
  • 聊聊面试
  • 谈谈全栈
  • 如何选型
  • 技术之外
  • 提升视野
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档