大家好,我是坤哥。

近期收到不少读者私信咨询,最普遍的困惑是「每天都在 CRUD。没啥竞争力,该怎么办」,我觉得这是一个共性问题,是很多人的困惑,我想讲讲我的经历,希望对大家能有所启发。

目前我虽然从事的是 Java 后端,不过其实我一开始做的是 iOS 客户端,16 年我司在移动端业务发展迅猛,业务都高歌猛进,随之而来的是 iOS APP 工程的急速膨胀,于是一个大问题就出现了:由于工程庞大,打包时间急遽上升,经常需要一小时以上,更恼人的是打包经常失败,这样的话从提测,到提交到 appstore 发布等流程都受到了严重影响,甚至影响到了整体的业务迭代流程。这事还惊动了我们的副总裁,问我们是否是 Mac mini 性能太差所致,是否可以换个高配的机器来解决。

当时我刚加入集团不久,做的也是某业务的负责人,其实做的也是 CRUD 的工作,听到这个消息,立马意识到这是个巨大的机会,解决好了不仅能让集团的业务迭代速度大大提升,更是能成为第二年的晋升的重要加成,于是就在业余时间着手调研解决方案,当时我们正在实行 iOS 的组件化方案,简单地说就是把一个工程拆分一个个以业务,功能划分的组件,这样的话组件之间的开发互不影响,能极大地提升业务的迭代速度。

如图示:组件化示意图,有点类似于微服务架构中的服务拆分,只不过与微服务不同的是这些组件共同组成了一个 app,这些组件编译归档后会生成 ipa,也就是运行在大家手中的 app。

经过观察不难发现从工程打包生成 ipa 99% 的耗时就在组件编译生成静态库这一步,所以解决方案很简单,提前将组件打包成静态库不就行了,这样 app 工程就由一个个组件的静态库组成,省去了编译这一步

当然组件打包生成静态库这一步还要有工具来实现,调研了一下发现有现成的第三方库可用,于是将一整套方案整理成文档第一时间在 iOS 团队进行了分享,之后各个组件负责人一起加班加点地把这件事落实了下来。

效果也是很明显的,整个打包时间从一个多小时降低到了 3 分钟以内!生产力得到了巨大的提升,后续所有 iOS 打包方案也是用的这套方案,可以说彻底解决了打包的问题,第二年晋升我也将此项写到了我的述职报告中,并得到了评委的认可,当然能晋升还有其他的一些要素,但打包方案的提出可以说是一个重大加成。

仔细看打包的解决方案,你会发现,其实没啥技术含量,但我把握住了,而且发现痛点后第一时间调研提出解决方案,也取得了显著效果。

所以虽然说很多人都在担心一直在 CRUD,但我们其实能做很多来提升我们的技术,提升我们的影响力,我们可以及时发现痛点并解决它,关键是要有心,当时我司 iOS 开发人员有十几个,结果是我主动调研并第一时间先提出了解决方案,我觉得与我自己的积极主动有很大的关系。

这件事对我们的启发是我觉得要要争取成为解决方案的提出者,提出者贡献最大,执行虽然重要,但没有方案,便无从下手,这就好比没有建筑图纸,如何施工。

所以我觉得虽然很多人都在 CRUD,但只要我们有心,一样可以提升自己的技术能力,就比如你做 CRUD,关心过接口性能吗,是否还有优化的空间(比如提升 20%等),上次我看到朋友安琪拉在阿里做的事就颇多感慨,他把接口性能优化的耗时,从三十几毫秒下降到五毫秒,类似的接口还有十几个,都是核心接口,还有SQL性能的优化等等,如下是他优化后的效果:

这样的话你做的每一个优化日积月累必然会给你带来出其不意的回报!

另一方面,我觉得稍微大点的团队都会有技术分享,可以多去旁听下其他团队的解决方案,痛点以便看下是否能引入自己的团队中。

最后我想再说的是千万不要觉得 CRUD 就不能提高技术了,关键还在于你是否有心。

扫码加好友,加入海归Python编程和人工智能群

我是如何晋升专家岗的相关推荐

  1. 测试角色管理--持续集成专家岗(虚拟)

    本文在研发组织管理中的位置: 研发组织管理--角色管理--QA--持续集成专家岗(虚拟) 定位: 管理除"项目功能测试自动化用例"本身以外的所有自动化工作,帮助整个测试团队设置并且 ...

  2. 我是博客专家了, 鼓励自己一下

    今天,7月4日,美国独立日,我被批准称为博客专家. 我的CSDN页面上有了如下的图标: 个人资料页面也有了新外观: 距我16年4月1日第一次发帖,已经过了3个月,希望自己不要骄傲,继续坚持下去,在内存 ...

  3. 北京开始整治互联网加班了!附 955 不加班公司名单(2022版)

    大家好呀,我是坤哥! 上周二,在网上了看到一个很令人振奋的新闻:北京开始整治超时加班,检查对象包括重点突出的「互联网」企业等. 这种新闻,放在几年前,大家可能都麻木了. 都整治几年了?结果呢?996 ...

  4. 述职答辩提问环节一般可以问些什么_每个优秀的人都会被看到述职晋升季buff大推送...

    哈喽,各位小可爱,我是好久不见的文化君. 当当当当,6月一到,我们的述职晋升季度来啦! 对述职晋升季,那真是又爱有恨呀! 文化君掐指一算,你的述职准备姿势应该是: 下班后在办公室恋恋不舍.苦思冥想,专 ...

  5. 码农晋升为技术管理者后,痛并快乐着的纠结内心

    有一个非常有趣的现象:据说大部分的技术管理者,在其从程序员转为管理岗位的时候,都是在领导或公司的要求下,被动的推到管理岗位上的,并非是自己当初有强烈意愿.主动去选择管理岗的.这种被动的比例还不低,高达 ...

  6. 程序员如何从技术岗转为技术管理层

    有一个非常有趣的现象:据说大部分的技术管理者,在其从程序员转为管理岗位的时候,都是在领导或公司的要求下,被动的推到管理岗位上的,并非是自己当初有强烈意愿.主动去选择管理岗的.这种被动的比例还不低,高达 ...

  7. 程序员如何从技术岗转为技术管理层?

    有一个非常有趣的现象:据说大部分的技术管理者,在其从程序员转为管理岗位的时候,都是在领导或公司的要求下,被动的推到管理岗位上的,并非是自己当初有强烈意愿.主动去选择管理岗的.这种被动的比例还不低,高达 ...

  8. 腾讯/阿里/百度 BAT人才体系的职位层级、薪酬、晋升标准

    互联网圈有这么一句话:百度的技术,阿里的运营,腾讯的产品.那么代表互联网三座大山的BAT,内部人才体系有什么区别呢?今天智小培就带领大家看一看~ ★ 腾讯 ★ 1. 职级 腾讯职级体系分6级,最低1级 ...

  9. 腾讯|阿里|百度|字节跳动人才体系的职位层级、薪酬、晋升标准

    互联网圈有这么一句话:百度的技术,阿里的运营,腾讯的产品.那么代表互联网三座大山的BAT,内部人才体系有什么区别呢?今天小洁就带领大家看一看~ ★ 腾讯 ★ 1. 职级 腾讯职级体系分6级,最低1级, ...

最新文章

  1. 2018面向对象程序设计(Java)第3周学习指导及要求
  2. http://www.jb51.net/list/list_233_2.htm(导航: 首页 软件编程 Android)
  3. windows 安装与使用redis
  4. python文本框清空_用Python制作mini翻译器
  5. java线程暂停_Java之线程停止
  6. 使用C# 探索 ML.NET 中的不同机器学习任务
  7. [渝粤教育] 四川农业大学 理论力学 参考 资料
  8. 2个字段并在一次插入一个字段里面_elasticsearch外用与内观(二)-当插入文档时,elasticsearch都在做什么...
  9. 第二章 物理层 1 物理层的基本概念 [计算机网络笔记]
  10. 20172310《程序设计与数据结构》(上)课程总结
  11. 阿里云服务器购买流程详细2019更新(图文教程)...
  12. 量子计算云平台“中国版”启动 量子信息革命正在加速到来
  13. 软考之网络管理员(包含2004-2018历年真题详解+课本教材讲义+视频教程)
  14. 建筑工程PPP项目财务风险控制探析
  15. Scala中的基本类型 与操作符
  16. android热成像模块,Thermal Camera
  17. rust-crate
  18. 《数据结构》实验指导书
  19. WIFI无线传输,图传。视频提节
  20. 注册电子邮箱帐号优点

热门文章

  1. iOS多线程编程的知识梳理
  2. java的数组和链表从熟系到陌生
  3. SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例
  4. Linux的五个查找命令
  5. 对于移动类型Z17和帐户64020100 物料号 (009)的不同的字段选择(公司间调拨)
  6. Maven pom.xml中的元素modules、parent、properties以及import
  7. HDOJ 2955 Robberies
  8. yield关键字有什么作用
  9. MyBatis查询,返回值Map或ListMap
  10. Unknown system variable 'query_cache_size'