别试错了,是该关注一下软件内在质量了

太多这种例子了,老板们早上出的新想法,恨不得第二天就能上线。。每个互联网公司都试图突破固定领地,不断地尝试新的业务,一旦发现不行,就立刻砍掉,名曰“试错”。

研发部门,为了应对压力,必然采用大军团作战的开发方式。打个比方,一个 6000 的项目

  • 10 个人,每人效率 10,要 2 个月完成

  • 而 100 个人,每人效率 5,只要 12 天完成

当然,这 100 个人的薪资成本肯定远高于这 10 人,但是公司不缺钱,更看中 2 个月变半个月的时间效率提升。在激烈竞争下,晚一天都会导致产品处于下风。

为了让大军团作战成为可能,公司的软件开发流程和工具,把程序员打造成螺丝钉和流水线工人,让人员充分的可替代。同时,公司对程序员的个人能力要求并不高。即使面试的时候被考核到的知识面很广很深,但是实际工作中,由于只负责很小的一块,导致每天就是拧螺丝。

对于技术管理者,也看中他的团队协作能力、向上汇报能力,而技术实力的比重越来越小。毕竟管理 10 人团队,还是要自己参与研发过程的,而管理 100 人团队,参与研发已经不可能了。

微信截图_20231115144422.png

上述现象出现的根本原因,就是整个行业资金充裕,不需要自己盈利。如今,风口已经退去。互联网用户增长已经到顶峰,几乎所有能被互联网渗透的行业都被渗透,更关键的,获取风投、赴美上市的路子走不通了。所有的软件公司又要重新回到靠自己造血养活自己的正常商业模式。

风口过去了,资金没有那么充裕了,竞争也将逐渐缓和。大军团软件开发模式也难以继续下去,必然引发各大公司裁员,逐渐把大军团,缩减成小规模软件开发团队。人少了,但是要做的事情并不会等比例减少,为了应对这种情况,提升研发人员的个人能力成了必然的趋势。

低能力的程序员们应该尽早考虑逃离程序员行业,还在行业内混的程序员们,要不断提升个人的软件研发能力,来应对市场的变化。公司的用人理念也必将被迫转向更看中程序员个人能力。原本那些靠善于写 PPT,搞向上汇报,实际和研发脱节的管理者们,就业面越来越窄。

软件的内在质量,是用户看不到的质量,比如易读性、易测试性、易扩展性等。大军团作战时,由于团队总体水平低下,又特别赶时间,导致只要软件功能正确性能满足要求,就交付给用户了,没有多少时间去打磨软件的内在质量,代码逐渐变成屎山。屎山的后果是维护和再开发的成本越来越高。

由于有风口的加持,人力成本似乎都不是问题。等到屎山终于要倒塌了,出来一批勇士重写系统,再竖起一座新的屎山也就是了。这样的事情,在我过去十几年的从业经历中,不断重现。

哪些有益的实践要被重新重视起来?

比如,朴实实用的软件架构,而不是一味追求分布式微服务等高级架构。过往,有多少采用分布式微服务架构的系统,是因为真的有伸缩需求,真的基础设施能力达到了?我想有一大批只是为了向上汇报显得高大上吧?也有一些,单纯是因为团队太大,想借助分布式达成模块化,以符合康威法则吧?过往的经历中,大部分的微服务都是一场灾难。原本 IDE 内代码分析就可以掌握的代码依赖关系,必须依赖运行时的监控系统,原本 IDE 内一键重构的事情,必须变成线上灰度热替换,原本简单的上线步骤,变成复杂的分批上线。程序员为此加班掉头发,整个社会则为此浪费钱财。

image.png

再比如敏捷开发,大军团下,几乎没有全职能团队,部门墙,团队墙耸入云霄。敏捷开发的根本就是以人为本,近几年,在技术领域低代码是比较热门的话题,通过低代码工具,自动代码生成和可视化编程,只需要少量代码,即可快速搭建各种应用。

应用入口:JNPF快速开发平台(http://www.jnpfsoft.com?csdn),找个有空的时间自己试试!除了低代码工具,其他工具我在以往的文章中都有提到,你可以自己看看。

如今,风口过后,该重新关注软件内在质量了,留下来的公司们,该调整用人策略了,留下来的程序员们,该重视提升自身的研发能力了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/148329.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业传统纸质设备维修方式的痛点以及解决方案

传统的纸质设备维修方式有很多痛点: 数据更新和访问的低效率:传统的纸质记录方法在更新和检索数据时效率极低。这种方式无法实时更新设备的维修状态,导致管理层和维修人员无法及时获取最新信息,影响决策的速度和质量。 记录的易…

SAPRouter Certificate即将过期更新证书

今日收到SAP发的一封邮件提示SAPRouter Certificate即将过期,顺便记录下更新证书的方法步骤。 1、登录SAProuter服务器,用户使用安装SAProuter的用户,我的是saprter用户 进入到/saprouter目录,备份certreq cred_V2 local.pse src…

移动端实现彩色导航

一、所需代码 &#xff08;1&#xff09;html部分 <div class"pres_nav"><ul><li v-for"(item, index) in menuList" :key"item.id" click"topage()" :style"{ backgroundColor: getBackgroundColor(index, li)…

PDF如何转word文档

强烈推荐&#xff1a;Solid Converter PDF https://wzhonghe.com/?p6878#p1 嘎嘎猛&#xff1a; 将PDF文件转换为Word文档并保留原始格式可能会涉及到一些复杂的布局和格式问题。在这里&#xff0c;我将提供一种常见的方法&#xff0c;但请注意&#xff0c;它可能不是100%准…

企业APP软件定制开发的关键步骤|网站小程序搭建

企业APP软件定制开发的关键步骤|网站小程序搭建 在当今数字化快速发展的时代&#xff0c;企业越来越意识到拥有自己的APP软件对于提高业务效率和用户体验的重要性。然而&#xff0c;企业APP软件定制开发并不是一项简单的任务&#xff0c;它需要经过一系列关键步骤来确保最终的产…

Pikachu漏洞练习平台之CSRF(跨站请求伪造)

本质&#xff1a;挟制用户在当前已登录的Web应用程序上执行非本意的操作&#xff08;由客户端发起&#xff09; 耐心看完皮卡丘靶场的这个例子你就明白什么是CSRF了 CSRF(get) 使用提示里给的用户和密码进行登录&#xff08;这里以lili为例&#xff09; 登录成功后显示用户…

【git】远程远程仓库命令操作详解

这篇文章主要是针对git的命令行操作进行讲解&#xff0c;工具操作的基础也是命令行&#xff0c;如果基本命令操作都不理解&#xff0c;就算是会工具操作&#xff0c;真正遇到问题还是一脸懵逼 如果需要查看本地仓库的详细操作可以看我上篇文件 【git】git本地仓库命令操作详解…

vue-router路由(二)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue-router路由(二) 目录 1. Vue-Router 的懒加载如何实现 2. 路由的hash和history模式的区别 1…

精益管理3个阶段,如何实现高效企业管理?

在现今竞争激烈的市场环境下&#xff0c;企业需要不断提高经营效率和降低成本来保持竞争力。其中&#xff0c;精益管理是一种不错的管理方式&#xff0c;在各大企业得到广泛的运用。今天我们来了解一下精益管理的3个阶段&#xff0c;以及如何使用精益管理工具来实现高效企业管理…

ubuntu20安装opencv4和opencv_contrib 多版本共存

openCV 卸载 openCV 安装后的源码尽可能保留&#xff0c;因为可以直接从build文件夹下卸载已经安装的openCV. 参考链接&#xff1a;视觉学习笔记10——opencv的卸载、安装与多版本管理 如果已经安装完openCV,后续想重新装&#xff0c;需要先卸载掉安装的openCV. 在ubuntu终端…

实验室EM3电磁铁

锦正茂EM3电磁铁&#xff0c;可以通过更换电磁铁极头在一定范围内改善磁场的大小和磁场的均匀度 &#xff0c;并且可以通过调整极头间距改变磁场的大小。主要用于磁滞现象研究、磁化系数测量、霍尔效应研究、磁光实验、磁场退火、核磁共振、电子顺磁共振、生物学研究、磁性测量…

【JavaEE】Servlet API 详解(HttpServletResponse类方法演示、实现自动刷新、实现自动重定向)

一、HttpServletResponse HttpServletResponse表示一个HTTP响应 Servlet 中的 doXXX 方法的目的就是根据请求计算得到相应, 然后把响应的数据设置到 HttpServletResponse 对象中 然后 Tomcat 就会把这个 HttpServletResponse 对象按照 HTTP 协议的格式, 转成一个字符串, 并通…

【邻接矩阵】

文章目录 邻接矩阵 图的逻辑结构&#xff1a;多对多。 图没有顺序存储结构&#xff0c;但可以借助二维数组来表示元素间的关系。 数组表示法&#xff08;邻接矩阵&#xff09;。 多重链表&#xff1a;邻接表&#xff0c;邻接多重表&#xff0c;十字链表。 邻接矩阵&#xff08;…

Canvas—从入门到案例实现

文章目录 Canvas—从入门到案例实现一、设置canvas环境1.1 <canvas>元素1.2 渲染上下文context 二、形状与路径的绘制2.1 形状绘制2.2 路径绘制2.3 绘制一个笑脸 三、使用样式和颜色四、绘制文本五、使用图像5.1 图片源5.2 获取页面内的图片5.3 缩放Scaling5.4 切片Slici…

深度学习+opencv+python实现车道线检测 - 自动驾驶 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &am…

Vue3使用i18n国际化

安装 npm install vue-i18nnext 创建i18n文件夹 我这个项目是中、俄语言切换 zh.ts里放中文语言下要显示的字段&#xff0c;rn.ts里放俄语要显示的字段 index.ts import { createI18n } from vue-i18n; import ZH from ./zh.js; import RN from ./rn.js; const messages {zh…

远程创建分支本地VScode看不到分支

在代码存放处右击&#xff0c;点击Git Bash Here 输入git fetch–从远程仓库中获取最新的分支代码和提交历史 就OK啦&#xff0c;现在分支可以正常查看了

【SpringBoot3+Vue3】二【实战篇】-后端

目录 一、环境搭建 1、数据库脚本 2、pom 3、yml 4、通过mybatis-X生成实体pojo等 4.1 Article 4.2 Category 4.3 User 5、 Mapper 5.1 ArticleMapper 5.2 CategoryMapper 5.3 UserMapper 6、service 6.1 ArticleService 6.2 CategoryService 6.3 UserService …

使用亚马逊鲲鹏系统有什么好处?

亚马逊鲲鹏系统是一款能绕过亚马逊智能检测&#xff0c;完全模拟人类真实行为&#xff0c;通过模拟真实的人流量来帮助你提升你的产品排名&#xff0c;让你的产品出现在搜索首页&#xff0c;从而快速帮助提高销售业绩的营销工具&#xff01; 好处1&#xff1a;自动化操作更节约…