架构思维的六要素

news2024/11/25 0:45:38

很多人都在私信问我随着ChatGPT等技术的兴起,自己的饭碗会不会没了。我的观点是:ChatGPT能做的工作十几年前早就没了。

十几年前还看到过招聘广告上写招程序员的,现在都是工程师起步,工程师是要有架构思维的。

像十几年前的黄金时代确实是一去不复返了,这个不需要兴哥来预判,很容易想到的。那个黄金时代就像刚兴起淘金热一样,是有一些先驱逃到了金子。但是多数人淘到的都是沙子,淘到沙子才是常态。所以没淘到也不用特别可惜,多数人都是这样。从事软件工程的人不会失业,也不会暴富,这是一个正常的行业。所需要的技术会像商战片一样,思路大家都能看懂,做的好的人胜出。就像高考的题多数情况下都不难,很多人之间的差距不是会不会的差距,而是能不能做好的差距,放平心态就好。

人和AI的区别是人的思维更复杂,职场上任何一个决定、一个任务都是综合考量的结果。大致上,要考虑六个维度。

d87de94d110955a63783a3a10ca2b7e6.png

成本

工程预算和实际开发系统的成本之间通常存在误差。很多组织甚至不会直接提出成本问题,可能是简单的因为不知道怎么弄,或者强迫他们认识到他们根本承担不起这个成本。即使初版成本可以接受,但是维护成本却可能因为设计或者能力问题而难以适应变化。最终,可能因为维护成本太高,所以组织最终决定推翻重做,然后设计出了一个成本更高的系统。

如果你对这种难以维护最终推翻重做的模式觉得很熟悉,那就不用担心这个行业会不需要人工。一个房屋可以维持上百年,软件的寿命却非常短暂,这侧面反应了软件技术相比较传统工程,成熟度更低,还有很长的路要走。

9644b4c70e5584f8cc18cb4f181b8731.png

规划

很多组织中,截止日期往往是任意的不具有强制性。如果偶尔一次在截止日期内完成,才是让人惊讶的事情。这往往是由于一个低劣的设计或者没有预估到的跨团队之间的协作导致的变化或者可能在中途推翻之前的工作。但是还会存在一种更糟糕的情形,就是经理和客户可能都不知道实际上没有任何人知道当前项目的真正进展。

7fc83c4bdefb20d2e83f332d115b1fc0.png

需求

开发人员可能会最终解决了错误的问题。终端客户和市场调研团队之间,市场调研团队和产品经理之间,产品经理和开发人员之间的沟通失败是个永恒的难题。即使他们之间完美的沟通了,市场是在随时变化的,这种变化可能会推翻整个设计。

f3a8517229c0ea7a2844fae985ab1f67.png

人员

即使是最简单的系统,为达到能让更多的用户清晰理解的目标,其复杂性也会超出人脑的容量。其内部和外部复杂性直接导致了拙劣的系统架构,最终导致系统过于复杂而难以维护。

fb1038780bda7ae1a42082deadd76622.png

维护

很多时候,系统的原始开发者和维护人员不一样。新人在解决旧的问题的时候引进了新的问题,最终增加了维护成本和系统投发时间,最终可能导致系统重做或者直接取消项目。

146b01f13c617d5c88675ee22cfe1b7d.png

质量

Bug几乎可以作为软件的同义词。开发者无法开发出没有Bug的代码,修复这些问题又会引入新的问题。质量控制不过关会直接导致系统难以测试,难以理解,难以维护。

aeafbed812d23454b183f626243d52db.png

本文提出了架构思维的六要素,在解释要素的时候,大家可能也注意到了只是提出了问题,没有讲怎么解决问题。而这方面确实没有很成熟的方法论。这就更印证了工程师不是一个夕阳行业,毕竟ChatGPT连这里面的一个问题也解决不了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手写SpringBoot启动器主要步骤

这里写目录标题 背景过程2.1自启动实现原理2.2手动实现SpringBoot自启动2.2.1宏观2.2.1微观2.2.1.1三个服务之间调用2.2.1.2自定义注解2.2.1.1业务组装2.2.1.3启动类 升华自定义注解:手动装配组件:简化启动过程:自动化注入依赖:简…

马原第三章复习1.

唯物史观和唯心史观过去出过小题 社会意识出小题 社会存在一般出大题 124 社会存在和社会意识(往往出大题) 社会历史性的基本问题 两种根本对立的历史史观 唯心主义: 至多考察人的思想动机 没有考虑思想背后的物质动因和经济根源 把社会史观看成人的思想,,不懂得…

关于酒店宾馆电气火灾隐患的预防与整改措施介绍 安科瑞 许敏

摘要:本文分析了酒店、宾馆电气火灾隐患的特点及产生的主要原因,并依此提出了消除火灾隐患的整改措施。 关键词:酒店宾馆;火灾;隐患;预防;整改;措施 1前言 随着旅居服务业的快速发展&#xf…

CVPR 2023 | 香港理工提出GrowSP:3D场景的无监督语义分割

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【目标检测和Transformer】交流群 GrowSP: Unsupervised Semantic Segmentation of 3D Point Clouds 论文链接:https://arxiv.org/abs/2305.16404 代码&#xff1…

2023/6/11总结

CSS Less嵌套 子元素的选择器可以直接写在父元素里面。 如果不是它的后代元素,比如你想写伪类选择器、交集选择器,需要在前面加&号。 Less运算: 加减乘除都可以,运算符必须用空格隔开。如果俩个元素都有单位&#xff0…

binfmt_misc

一:binfmt_misc是什么 binfmt_misc是内核中的一个功能,它能将非本机的二进制文件与特定的解析器自动匹配起来,进行二进制解析。 例如,在x86上解析arm64架构的二进制。 通过binfmt_misc可以注册解析器来处理指定二进制文件格式的请…

Qt|QDialog的创建及使用

文章目录 创建一个新的类继承QDialog设置标题去掉问号,只保留关闭使窗口在屏幕中心显示设置窗口大小QDialog没有任务栏窗口图标问题将窗口永远置于上层可见 不会被遮盖阻塞除当前窗口之外的所有窗口添加closeEvent hideEvent同理调用dialog类接收dialog返回状态&…

华为OD机试真题 JavaScript 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

一、题目描述 跳房子,也叫跳飞机,是一种世界性的儿童游戏。 游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格,然后获得一次选房子的机会,直到所有房子都被选完,房子最多的人获胜。 跳房子的过程中&…

XGBoost超参数调优指南

本文将详细解释XGBoost中十个最常用超参数的介绍,功能和值范围,及如何使用Optuna进行超参数调优。 对于XGBoost来说,默认的超参数是可以正常运行的,但是如果你想获得最佳的效果,那么就需要自行调整一些超参数来匹配你的…

jupyter lab升级或者安装插件后编译失败

错误回显 报错提示:please run ‘jupyter lab build’ on the server for full output,那么就进入prompt执行一下jupyter lab build 继续接着报错 If you dont already have a jupyter_config.py file, you can create one by adding a blank file of th…

线下实体衰落,真是电商惹祸?实是贪婪以及服务理念落后所致

网上时不时就有人指责电商的兴起导致了线下实体衰落,然而如果各位比较了线下实体与电商的差异,就会明白导致如此结果完全是咎由自取,因为线下实体太贪婪以及服务理念落后于时代。 笔者最近就购买了某款国产手机,在该国产手机品牌的…

集显独显并存,ubuntu安装显卡驱动的坑

一、安装和启动黑屏卡死 1、怎么办?显示器先接集显,完成驱动安装。 (1)屏蔽nouveau驱动 只要是安装过NVIDIA显卡驱动的,nouveau一般都被禁止了。可以通过命令: lsmod | grep nouveau 查看。如果没有任…

实现设备的延时控制

1. 引言 当搭建IoT管理后台后,APP、设备、云端三端就可以实现交互;当点击APP中的控制按钮,其控制指令就可以经过云端转发到设备执行,当设备执行后将设备的状态上报到云端,APP通过轮训可以取到设备此时的状态&#xff0…

Spring Boot 优雅集成 Spring Security 5.7(安全框架)

Spring Boot 集成 Spring Security (安全框架) 本章节将介绍 Spring Boot 集成 Spring Security 5.7(安全框架)。 🤖 Spring Boot 2.x 实践案例(代码仓库) 介绍 Spring Security 是一个能够为基…

为行业变革注入新动能,行易道入选“高工智能汽车智驾榜单”

6月8日到9日,2023高工智能汽车开发者大会在上海成功举行。与会期间,北京行易道科技有限公司(以下简称“行易道”)营销副总裁袁泽雁带来了以“车载毫米波雷达进入成像时代”主题演讲,为大家分享了4D毫米波雷达如何以“新…

Java网络开发(Tomcat异步分页+增删改查)——从同步到异步 从jsp 到 js + axios + vue 实现 数据分页显示 数据增删改查

目录 引出一些固定的东西1.固定的响应格式2.name 变成 v-model 进行双向绑定3.下拉框选中--:value"type.id" v-model"companyDb.typeId"4.vue导包固定写法5.script固定写法6.axios的get请求7.axios的post请求---let params new URLSearchParams()8.前端美…

MYSQL 在优化器缺陷在次验证,与MYSQL 熄火了 还是 成熟了??

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

聊聊我做 NeRF-3D重建性能优化经历

我们新推出大淘宝技术年度特刊《长期主义,往往从一些小事开始——工程师成长总结专题》,专题收录多位工程师真诚的心路历程与经验思考,覆盖终端、服务端、数据算法、技术质量等7大技术领域,欢迎一起沟通交流。 本文为此系列第四篇…

飞桨携手第二届GitLink开源夏令营,邀你参与顶尖开源项目!

想参与顶尖开源项目开发? 想熟悉开源社区参与流程? 想获得资深导师指导和丰厚现金奖励? 机会来啦! 2016年9月,飞桨框架正式开源,其兼备易用性、高效性、灵活性和可扩展性等特点。如今,百度飞桨在…

软件工程:说透软件5种常见的部署策略

hi,我是熵减,见字如面。 在软件工程中,最终的价值交付,都是要通过软件的部署上线来完成的。 那如何将新的或改进的软件功能交付给用户,同时还要确保高质量、稳定性和用户体验,选择适当的部署策略变得至关重…