前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >客户端开发的成长思考

客户端开发的成长思考

作者头像
落影
发布2022-04-01 10:41:44
1.1K0
发布2022-04-01 10:41:44
举报
文章被收录于专栏:落影的专栏落影的专栏

前言

不知不觉又过去一年,又增加许多客户端开发经验。有关注我更新的人可能会注意到,每隔一段时间我会对经历和环境做分析,同时也对未来做一些思考。从自身经历出发寻找能力的成长点,发掘突破的机会,记录心路历程的改变。 本文从自己的经验来解析客户端开发的成长思路,希望对你有一些帮助。

正文

客户端开发要做什么?

作为客户端开发程序员,首当其冲就是完成业务迭代,服务好产品用户和业务团队。服务好产品用户是业务团队存在的价值,服务好业务团队是客户端开发存在的价值。业务发展要考虑变现,要考虑增长,要考虑留存等等,最终落地的环节往往需要客户端开发来实现。 除了业务迭代,根据业务特色和客户端开发团队特点,会围绕高效研发体系和稳定研发质量不断做优化,也有的会尝试跨端能力建设、新技术探索落地。在更大一点的公司还会关注团队的技术影响力输出,以及不可忽视的安全和合规能力。 为了更好的衡量客户端质量,往往会用卡顿、卡死、crash等基础指标来评估质量,同时也会不断做包大小优化、启动优化、磁盘和流量监控、流畅度优化、cpu和电量优化等等来提升基础体验。同时还要关注研发过程中的效率提升,比如说研发流程优化、编译优化、自动化测试等等。 客户端能做的事情非常多,有服务于用户的业务方向,也有保障质量的基础方向,还有提供各种通用能力的中台方向,还有从事各种跨端建设、音视频处理、网络建设等等。从供需关系来看,智能手机的市场规模是客户端开发岗位需求的天花板,全球接近40亿的智能手机就是客户端开发这个行业的未来保障。至于脉脉“客三消”理论鼓吹的大前端取代客户端开发,是典型的杞人忧天。从事过客户端开发的程序员都知道客户端原生Native开发是不可能被跨端的技术完全取代。RN、flutter等是在某些特定环境下会有不错应用收益,但不管是交互体验、研发体验,各项性能指标都比不上原生开发语言。

行业风险点在哪里?

客户端开发是移动互联网快速发展的产物,本身也有一些从事的风险点,从我的经历来看,主要有以下问题:

重复劳动的陷阱

客户端的很多日常工作是需求开发,需求开发主要是由各种业务逻辑、各类界面的实现。最常见的现象是一年经验用三年,三年经验用十年。由于客户端所见即所得的特点,很多开发者在度过前期的上手期之后,就一直重复使用类似的思考模式去解决问题。如果没有环境压迫,也没有自己主动去思考突破,会在日复一日的劳作中迷失成长。时间较长之后,往往会陷入能力增长的瓶颈期。

岗位需求两级分化

客户端开发的求职者和招聘者之间,现在有一种相互矛盾的现象:求职者感觉外面客户端开发的需求量在不断的变少,招聘者一直在苦恼招不到人。 客户端开发的岗位减少是由于移动互联网的基建越来越成熟,相比流量成本和维护成本都更高的App,很多小公司选择使用了更加便捷的小程序、公众号、抖音短视频等等大公司提供的基础平台,导致了客户端开发的岗位需求量在不断减少。 招聘者苦恼的是招聘不到优秀的开发者,由于互联网行业常年有长期唱衰客户端开发的现象(从以前的PC开发到现在是移动端开发),再加上最近几年兴起的算法岗位和数据分析岗位竞争,越来越少的优秀毕业生投身到客户端的这个行业上,导致优秀的开发者供不应求。

程序员的中年危机

“中年危机”是悬在程序员头上的达摩克里斯之剑,这不仅仅是客户端开发会面临的问题,这是所有大龄程序员都必须面对的互联网从业现状。由于前面提到的互联网基建成熟带来了的客户端岗位需求减少问题,客户端开发在中年危机这个问题显得更有压力。 但是如果觉得从事前端开发或者后台开发就不用面对中年危机,就是太过于乐观了。设想一下,一个公司为了节省成本都不做App了,他还会去招一个40的前端开发或者后端开发吗? 互联网行业在快速发展,薪酬待遇也在不断提升,这也带来源源不断的新人。当一个新人和老人能力相差不大时,性价比更高的新人往往更容易胜出。想要避免中年危机,唯有不断锻炼自己的能力,思考自己的不足之处,提升自己在市场的竞争力。

客户端开发要如何成长?

根据自己的粗浅认知,我觉得有下面几个方向可以努力。

学技术、学做事、快速成长
  • 学技术,不断积累基础知识,既有技术知识,也要了解一些业务常识
  • 学做事,熟悉工作流程,学习独立工作和多人协作
  • 快速成长,需要掌握基本的学习方法论,能够自驱成长
懂设计、有深度、独立思考
  • 懂设计,知道如何应对一个复杂的系统,用掌握的知识设计一个良好的解决方案
  • 有深度,经过一段时间的深入学习,可以在某一个方面上有较为深刻的认知
  • 独立思考,掌握的信息足够,自己尝试做一些思考和判断,并根据环境给予的反馈进行调整
深广度、有规划、扩大影响
  • 深广度,在深度这块能够有扎实的积累,足以解决项目中的疑难杂症,对核心难点进行攻关;在广度能够触类旁通,多接触整个行业的技术知识
  • 有规划,不管是自己的工作,还是负责的范围,都需要三思而后行;先有规划,确定目标、方向和具体的事情,再具体执行
  • 扩大影响,自己已经有足够的技术和业务知识积累,能够尝试去影响更大的范围,影响更多人
理解人、拆分事、长远目光
  • 理解人,做事已经经验老道,但是人是足够复杂到一辈子探索的复杂综合体;理解人就是理解一个团队,理解一个人的成长和做事
  • 拆分事,将足够复杂的事情拆分成可以分给多个人完成事务,或者可以给一个人分多阶段去完成的事物,并在过程中及时跟进保证目标的完成
  • 长远目光,不仅能解决当下的问题,也能看到业务发展中,团队需要的能力,也能储备和规划需要的能力
一些老生常谈
程序员996的问题

大部分公司的官方回答永远是弹性工作制,事情干完就可以走。但是事情永远不可能做完,事情可以做完的公司还有市场竞争力? 我的看法是顺应潮流,合理安排时间。优先完成工作的事情,然后利用多余时间来进行学习。尽量不要把工作安排的满满当当,这样疲于奔命会让生活非常疲惫;也不要夸大工作难度、浑水摸鱼,摸鱼是对自己最大的不负责。按公司提倡的工作时间,合理安排工期,如果还有一些时间可以放松下心态,花点时间学习和成长。

经常做需求没成长

可以从下面几个方向去探索:

  • (深度)不断挖掘代码背后的底层逻辑,即使是简单的加载图片,也有涉及到非常复杂的知识。
  • (广度)探索这些业务逻辑代码的相关知识,理解业务数据,关注产品、设计的重点和思路。
  • (效率)思考更快做完事情的可能,提高自己的效率,再到尝试提高别人的效率。
  • (成长)争取每天有5~10%左右的时间来学习、思考、总结。
工作中如何获得成就感和认同感

学习如何从重复工作中学习和成长是必须的,因为再新的工作也会变成旧的工作。 学习的方向可以是做事、技术、思考、规划、团队等等,找一个当下最需要成长的能力开始锻炼。合理使用环境的压力,形成自己的学习和成长动力;偏技术侧需要自己拆分目标,逐步实现目标,这是非常重要的自驱力。 成长的过程很简单,制定目标,实现目标。目标需要有一定的量化标准,模棱两可让目标变得不可触碰。制定目标也要考虑目标的指引作用,对个人而言,目标描述的过程会比结果更加重要。 努力学习换来好结果,好结果继而激励产生进步动力,建立一个良好的正向反馈循环。

总结

一个职业的未来,要看行业的发展前景。移动互联网的发展规模,注定客户端在短期内仍然是刚需。至于长期发展之后,移动互联网被新的时代取代,那么也会有新的岗位延伸出来,到时再紧跟时代潮流即可。 另外要把业务和技术分开,技术只是一个工具。在前期确实需要积累客户端的知识和相关技术,但是随着时间的推移,慢慢会接触更多的知识。不要给自己设限制,在适当的时机技术栈可以扩大到后端。假如某个人只做某一个模块,那么也需要去接触这个模块的前因后果,数据的产生消费。眼界如果局限在客户端,那么只能知其然不知其所以然。重点是在于人,人才是解决问题的核心,具体的技术只是工具。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022.03.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 正文
    • 客户端开发要做什么?
      • 行业风险点在哪里?
        • 重复劳动的陷阱
        • 岗位需求两级分化
        • 程序员的中年危机
      • 客户端开发要如何成长?
        • 学技术、学做事、快速成长
        • 懂设计、有深度、独立思考
        • 深广度、有规划、扩大影响
        • 理解人、拆分事、长远目光
      • 一些老生常谈
        • 程序员996的问题
        • 经常做需求没成长
        • 工作中如何获得成就感和认同感
    • 总结
    相关产品与服务
    媒体处理
    媒体处理(Media Processing Service,MPS)是一种云端音视频处理服务。基于腾讯多年音视频领域的深耕,为您提供极致的编码能力,大幅节约存储及带宽成本、实现全平台播放,同时提供视频截图、音视频增强、内容理解、内容审核等能力,满足您在各种场景下对视频的处理需求。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档