转载自:http://limboy.me/essay/2017/05/12/mobile-dev-way-out.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
最近一段时间,移动端开发好像不像以前那么吃香了,招的人少了,要求更高了,给人一种感觉:这个行业是不是不行了?这个行业没出问题,只是更加理性了。
刚开始的几年,移动端开发还算是新兴领域,会的人不多,供小于求。接下来几年,随着移动端的爆发,需求和人才市场开始同步增长,只是供给侧增长得更快(尤其是经过各类培训机构的「孵化」),一段时间之后,供就大于求了,并且差量越拉越大。原因有很多,比如普遍看好移动端、开发门槛降低、培训机构助力等等。这种不平衡的状态不会维持很久,慢慢地会回归到供需基本平衡的稳定期。就像技术成熟度的曲线一样:
一门技术刚兴起时,大家普遍看好,各种文章铺天盖地,造成一种过度繁荣的现象,达到顶峰。然后技术的发展与预期产生偏差,人们的期望值慢慢地降了下来。接下来技术继续演化,进入了稳定期。
我们疑惑、焦虑,主要原因还是看不清局势,不确定未来会往哪个方向发展。对个人如此,对公司也一样,在2012年的 re:invent 大会上,贝佐斯阐述了他的战略思维:
我常被问一个问题:“在接下来的10年里,会有什么样的变化?”…但我很少被问到“在接下来的10年里,什么是不变的?”。我认为第二个问题比第一个问题更加重要,因为你需要将你的战略建立在不变的事物上。
在亚马逊的零售业务中,我们知道消费者会想要更低价格的产品,10年后仍然如此。他们想要更快的物流,更多的选择。很难想像,会有顾客在10年后跑来和我说:“Jeff,我喜欢亚马逊,但你们的价格能不能贵一点,或者到货时间再慢一点。”
…所以我们将精力放到这些不变的事物上,我们知道现在在上面投入的精力,会在10年里和10年后持续不断的让我们获益。当你发现了一个对的事情,甚至10年后依然如一,那么它就值得你将大量的精力倾注于此。
那么对于移动端开发的同学来说,有哪些是近几年不会变的事情?以下是我想到的:
智能手机的高普及率以及高使用率
目前的普及率已经很高,虽然增长放缓,但将来只会更高,除非出现更优质的替代品,而这个几率非常低(VR 和 AR 算是补充)。因此可以选择在主流平台上进行深耕,毕竟出问题时需要找一个懂的人,而且也需要这些人来探索更多的可能性。
解决问题的优质 App 依旧有吸引力
虽然那些高频刚需的巨型 App 抢夺了用户不少注意力,用户也越来越懒得装 App 了,但装得少了并不是不装。比如 Bear App,在市面上有那么多记事类 App 存在的情况下,经过 2 年的打磨,出来后很快得到认可,并且被评为 2016 Best App 之一。所以提高自己的标准,找到痛点,组建团队打磨产品也是一条路,只不过这条路走起来不如以前那么容易了。
软技能
工作除了专业技能,还有很大一块是软技能,比如职业化、影响力、沟通、高效工作等等。这些技能往往可以用在你的下一份工作中。我们的工作迟迟不见起色,往往是因为在软技能方面吃了亏。推荐一本程序员写的书「软技能」,专门讲这个。
学习能力
这也是一项通用技能,当掌握了这项技能之后,即使跨界也能应付自如,但它得来决不容易。比如同样是玩游戏,有些人能很快找到其中的窍门并勤加练习,而有些人玩了大半年水平却依旧止步不前。
写作能力
工作中难免会跟写作打交道:写邮件、写文档、写公司博客等等,写作能力体现的不仅仅是文字,而是思考和总结能力,37Signals 在 Getting Real 里也提到了写作的重要性:
If you are trying to decide between a few people to fill a position, always hire the better writer. It doesn’t matter if that person is a designer, programmer, marketer, salesperson, or whatever, the writing skills will pay off. Effective, concise writing and editing leads to effective, concise code, design, emails, instant messages, and more.
设计能力
设计无处不在,内部的工具、代码、演讲、甚至小区门口的垃圾桶也是经过设计的。这是一种跨领域的通用能力,而且随着消费升级,人们会更加青睐经过设计的产品。有些能力不错的程序员,有时会因为设计的短板而吃亏,因为看着不优雅的东西,我们往往会怀疑它工作起来也不够优雅。
后端
如果去各个招聘网站上搜索,会发现后端的需求还是挺旺盛的。无论是前端、客户端、小程序都需要跟后端通信,而在这些语言中投资一门成熟或有潜力的语言,也是不错的选择。我已经接触了好几个原先只做客户端,现在 java/groovy 也写得溜溜的同学。
前端
前端的使用场景很多,从对外的 H5 页面,到内部的小工具、平台,到跨平台的页面等等,都会用到前端,这个领域也是异常活跃,因此投入时间在这上面也会有相应的回报。
基本功
比如算法、数据结构、TCP/IP 协议、系统设计能力、编码能力等,如果要在这个领域继续玩下去,修炼内功绝对有好处。我之前也不明白工作中明明用不着这些,为什么还要学?等细看了之后发现还是挺有意思的,而且其中的思路内化了之后,对于工作会有启发,还有就是知道内部是怎么运行的,心里会比较有底。
上面这些事情有一个特征:时间对他们的影响不太大。用化学里的一个术语描述就是:长半衰期。我们应该多做一些长半衰期、高价值的事。
到底选择做什么,这个还得看个人的愿景,最喜欢做什么,希望达到怎样的结果。相比上面这些不变项,这个更加重要,不然一样会陷入选择恐慌。所以给自己一点压力,把「3 年后希望自己在怎样的环境下做着什么事情」尽早想清楚吧。