程序员的研发效率破局之道

简介: 程序员的研发效率破局之道

1 前言

国内程序员提⾼开发效率的路其实只有⼀条:屁股坐⾼。


不断的研究更难的事情,然后只写内核,乱七⼋糟的玩意⼉给别⼈写。 我曾经优化⼀个算法,写了270⾏代码(空格也算⼀⾏)。结果把程序效率提⾼了⼗多倍。 ⾸先不是我多⽜,⽽是写这功能程序员太菜,不是说技术菜,⽽是他写代码不动 脑,⽤个动态规划 ,循环太多,完全不懂CPU咋执⾏的啊。 我实现特简单,暴⼒方式……算了不聊了,跑偏。⼤概意思就是我实现的⽅式属农⺠⼯⽅式,但成本低效率⾮常⾼!而他的实现属于博士方式,扩展性厉害。


2 结果呢?

显⽽易⻅,总之结果就是我⽤270⾏代码实现了效率的⼤幅提升,客户哪懂这个?⻢上付款并建⽴⻓期合作关系。 代码⾏数虽短,但绑定数个业务,这活是个外部咨询项⽬,最后就是:⼀直到现在客户还找我维护。


3 遥想我青葱岁月

我们公司技术总监,每次都只写内核,写完了剩下的交给我们新⼈写。 实际上他写那玩意⼉,不写注释,⼀般⼈很难看明⽩,⽽且bug特多,我们改的咬⽛切⻮。 经历此事后我学到了:

  • 想要效率⾼,就尽量写最深的东⻄
  • 你的代码可读性越差,你的效率越⾼(社会现象)。因为别⼈懒得研究或者研究不明⽩
  • 这代码⼀定要接近业务核⼼,越核⼼越好

说实话只有屁股⾼才能做到这⼏点。

4 所得

明⽩吗? 代码效率⾼不⾼,不⼀定和⾏数有关,和政治有关。 因为代码效率,是别⼈定义的。⽐如你写⼗年crud ,也不如别⼈两年写个数据库内核效率⾼。


因为代码效率本质和质量成正⽐,⽽质量,需要⼀定⾼度才可定义。


5 现实如何?

我有个朋友,和我聊过,他当了技术专家、总监、CTO后,也偶尔写内核,当然他不会⼼胸狭窄到故意给⼈埋绊⼦,没必要。 但他⼀年那么⾼薪资,你觉得代码效率⾼吗? 怎么定义代码效率⾼?是市场定义还是你来定义?


得搞明⽩这个问题,才能搞明⽩,怎么写代码效率⾼。


6 总结

提⾼效率的本质,是尽量做最难的事情,理论上讲就是不断升维。 维度越⾼效率就越⾼,假如你天天搬砖,⼀天搬100块砖头和⼀天搬300块砖头,你确实⽐其他的搬 砖⼈效率⾼,但在更⾼维度上来看,没太⼤意义。

效率相对论:一种是增加自己效率,一种是降低别人的效率。

目录
相关文章
|
7月前
|
人工智能 Kubernetes Java
Java开发工程师如何紧跟技术前沿对于保持专业竞争力、提升工作效率以及适应行业发展?
【4月更文挑战第4天】Java开发工程师如何紧跟技术前沿对于保持专业竞争力、提升工作效率以及适应行业发展?
85 4
|
7月前
|
消息中间件 存储 缓存
阿里P8架构师带你“一窥”大型网站架构的主要技术挑战和解决方案
传统的企业应用系统主要面对的技术挑战是处理复杂凌乱、千变万化的所谓业务逻辑,而大型网站主要面对的技术挑战是处理超大量的用户访问和海量的数据处理;前者的挑战来自功能性需求,后者的挑战来自非功能性需求;功能性需求也许还有“人月神话”聊以自慰,通过增加人手解决问题,而非功能需求大多是实实在在的技术难题,无论有多少工程师,做不到就是做不到。
|
程序员 测试技术 开发者
「程序员转型技术管理」必修的 10 个能力提升方向
对许多开发者而言,深耕技术,然后成为技术专家或许是职业发展的唯一答案。但如果你赞同「软件开发只是我众多职业目标中的一个」,也许你可以试试「技术管理之路」。 我原来觉得和计算机打交道比跟人打交道轻松得多,所以我成了一名软件开发者。一段时间后,我发现自己越来越多地在给别人提供帮助;我喜欢领导项目,热衷于推动更好的代码标准。于是,我几乎毫无挣扎地成为了一名技术管理者。
105 0
|
数据可视化 前端开发 持续交付
研发效能提升之路——从天文学的演进说起| 学习笔记
快速学习研发效能提升之路——从天文学的演进说起
研发效能提升之路——从天文学的演进说起| 学习笔记
《研发效能提升36计-开篇:互联网时代研发效能的挑战及应对之道》电子版地址
研发效能提升36计-开篇:互联网时代研发效能的挑战及应对之道
134 0
《研发效能提升36计-开篇:互联网时代研发效能的挑战及应对之道》电子版地址
|
弹性计算 运维 Kubernetes
腾讯全面上云背后:程序员的技术焦虑和技术理想
腾讯全面上云背后:程序员的技术焦虑和技术理想
283 0
|
NoSQL 程序员 应用服务中间件
如何通过开源让自己的技术水平更上一层楼
  本篇内容选自 Gitee 发起,邀请全体开源爱好者共同参与的开源百科编写项目《开源指北》。   什么是开源,相信前面的章节已经说的非常清楚了。开源作为一种贡献技术的方式,对整个技术界和开源社区的正向回馈是巨大的。近 10 年来,越来越多的项目加入了开源界。其中有许许多多的知名开源项目被人所认可和追捧。   操作系统:Linux,Android编辑器:Vim,Emacs,Atom,VSCode版本管理:SVN,Git,Fossil数据库:MySQL,MongoDB,Redis大数据平台:Hadoop,ElasticSearch,HBase容器:Apache,Nginx虚拟化软件:Dock
146 0
|
分布式计算 大数据 专有云
关涛:接手一个6年的平台型系统,我是如何带领团队破局前行的
12月20日的北京云栖大会上,由云栖社区主办的开发者技术进阶峰会再度开启,在此之前,我们整理了2017杭州云栖大会开发者技术进阶专场上的精彩分享内容。
5290 0
|
持续交付
研发效能提升 36 计第一课:互联网时代研发效能的挑战和应对之道
《研发效能提升和敏捷实施 36 计》是阿里云联合 Teambition 打造的系列课程,课程将从团队和项目协作、需求分析和管理、以及业务创新、以及设计编码等 5 个方面,详细介绍研发效能提升的方法、实践和工具,并解析阿里巴巴的实践案例。
|
程序员
老程序员的巨大优势——积累起来的经验——打破30/35岁的魔咒!
  最近找了一份工作,在工作中体验到了以前积累的工作经验的巨大优势。     需求很简单,就是做一个网站,展示一下要出售的商品,再加上一个资讯作为陪衬。当然还要有一个会员管理,会员分类,会员购物车、订单、网银接口等,还有SEO的注意事项,再加上URL重写,还有就是业务员和会员的关系。
1027 0