AI智能化逐渐趋于成熟后,预测今后最吃香的开发职业
AI智能化正在成熟的路途中,这中间会有波折,但终有一天会来的,我相信等到了这一天,我们的开发效率和代码质量,将会大大不同,而我们的团队与个人,也会面临着很棒的体验。
那么在AI智能化真正趋于成熟后,最吃香的开发职业将会是哪个呢?一起来看一下吧。
目录
1 开发日常代码工作有哪些?
2 代码开发的过程
3 那么AI可以帮助我们做哪些事情呢?
3.1 听需求阶段
3.2 技术选型阶段
3.3 功能开发
3.4 自动化部署
3.5 自动化测试
3.6 自动化文档
3.7 智能化监控
4 全自动AI智能后,对开发团队有哪些影响?
5 人工智能的完善,对我们开发人员个人有哪些影响呢?
1 开发日常代码工作有哪些?
我们日常的工作,无非那么几种,拿普通的一天工作内容举例来说,
打卡,开早会,写代码,开需求会,写代码,开项目会,吃午饭,中午休息,清醒清醒,写代码,开会,写代码,改bug,和同事聊天摸鱼,下午遛弯,写代码,吃晚饭,饭后溜达,写代码,代码审查,部署代码,巡检,打下班卡。
由此可见,做为一名正常的开发工作者,一天大多数时候还是在写代码的(可能有些人不太一样)。但代码内容,可能是写公共组件、写公共方法(这里推荐一个强大的前端工具js-tool-big-box,凡是你项目中遇到的JS公共方法,里面可能都会有)、写业务代码、写冗余代码、看代码、学代码、改代码、删代码。
2 代码开发的过程
一个项目的代码开发通常会经历以下步骤:
-
项目规划和需求分析:在这个阶段,团队会讨论项目的整体目标、功能和需求。这包括确定项目的范围、目标用户、功能特性等。
-
技术选型:根据项目的需求和规模,选择合适的开发语言、框架、数据库等技术栈。
-
项目搭建:在这个阶段,团队会创建项目的基本结构,包括目录结构、配置文件等。这也可能涉及到选择合适的开发工具和集成开发环境(IDE)。
-
安装脚手架:如果有适用的脚手架工具可用,团队可能会选择使用它来加速项目的开发过程。脚手架通常包含了项目的基本结构、配置文件和一些常用的功能模块。
-
功能开发:在这个阶段,开发团队会根据需求逐步实现项目的各项功能。通常会采用迭代开发的方式,每个迭代周期内完成部分功能的开发和测试。
-
单元测试:开发人员会编写单元测试用例,对项目中的各个单元(函数、类等)进行测试,确保其功能的正确性和稳定性。
-
集成测试:将各个单元测试通过后,会进行集成测试,验证各个模块之间的交互和整体功能是否正常。
-
性能优化:如果需要,团队可能会进行性能优化,包括代码优化、数据库优化等,以提高项目的性能和响应速度。
-
代码审查:团队成员会相互审查彼此的代码,发现潜在的问题并提出改进意见,确保代码质量和一致性。
-
部署上线:当所有功能都完成并通过测试后,项目就可以准备部署上线了。这包括将代码部署到生产服务器、配置服务器环境等。
-
监控和维护:项目上线后,团队需要持续监控项目的运行情况,及时发现并解决可能出现的问题,同时根据用户反馈和业务需求进行持续的维护和更新。
3 那么AI可以帮助我们做哪些事情呢?
3.1 听需求阶段
从现阶段来说,一个项目来了需求,是不是要参与开发的人员去听需求,开个会,大家碰一下?你们的团队是不是这样子?如果有了AI,他去听需求,还是他去梳理需求,还是他拿着需求文档,再整理一遍?你一个开发人员,需求都不听,需求都不了解?原型都不看?就要开始开发?除非后面都是AI在帮你做,那你觉得你这个时候是在工位上坐着,还是在大街上坐着?
3.2 技术选型阶段
你们公司,你们团队有没有小组长?就是他来负责选型,大家可以畅所欲言,大家可以说服他,但最终结果是:好的,我们用Vue吧。别管之前大家针对其他技术架构说了多少,其实这个小组长有自己的喜好与选取,大家畅所欲言,只不过是给大家一个看似公正的表象。
如果大家真的可以讨论过后,说最终投票使用哪个,那我们接下来要做的就是技术架构,例如脚手架,对应组件,对应方法的成熟化,AI化。其实说到人工智能,还能咋人工智能,你输入一行文字,和你点一个按钮,和你输入一个npm init区别大吗?很大,我跟你说,如果你们公司有的团队还在靠输入命令来做一些事情,靠写代码做一些事情,如果你可以点一个按钮,就做了这件事,哪怕你点这个按钮背后还是那些命令和代码的功劳,这件事,这个按钮,也够你写2页PPT的,也够你吹一年的。
所以,在接下来的一段时间内,如果你哪怕少写一些代码,把代码变为可操作的,让代码在背后执行,你就可以很高兴的说,我将某项任务人工智能化了。
3.3 功能开发
其实功能开发,还真的可以通过开发IDE插件来做了,这即便现在还有点小瑕疵,我觉得用不了两年,开发业务代码,你只要输入的需求合理,功能代码一定会很快被输出了,毕竟大家的代码拷过来,拷过去的,再多样性能多样性到哪里呢,AI完全可以胜任。
顶多就是你人工修改很少的部分,又或者,你告诉AI插件说这里不太对,那里不太合适,然后继续告诉AI插件,继续修改。
3.4 自动化部署
其实现在大家一直在提倡自动化部署,但做的再好的公司,几乎也还是像刚才说的那样,把一些操作做成图形界面的,复杂的团队,做出来的图形界面系统都够你学几天的了,甚至用起来更复杂,这完全不是符合人工智能的要求。
今后的自动化部署,需要更多的运维工程师,网络工程师去搭建更便捷的系统,以达到输入一句话,或者点一个按钮就可以达成部署效果。
但这恐怕还是需要团队的部署系统与开发IDE结合,才可以达到这种效果。因为你部署,总得知道往哪台服务器部署,部署哪个项目的哪个分支,部署后CDN缓存怎么刷新。不过相信,在未来,这些都是可以解决的。
但其实现在也有自动化解决方案,就是你把代码写完上传后,告诉你们公司那个运维同事,说句话,我要部署,一会儿他告诉你部署好了。你看,既是人工,他又很智能。所以,运维工程师们,你们谁研究出来了这套全自动的人工智能的系统后,必将被千夫所指,因为有你,所以个税减少了。
3.5 自动化测试
现在的测试快不叫测试了,你再叫软件测试,那你就快找不到工作了,现在人家叫测试开发,或者叫开发测试。干的啥事呢,我不光写用例,不光提bug,我还写脚本,我还写代码,我还做工具,就差帮你们搞开发了。
这一下,很多测试朋友其实是怨声载道的,我做个测试,现在必须学python,学JS,不学可能简历都得不到回复。人家说,你光点一点按钮,这不行啊。
在今后,你也不用写代码了, 也不用写压测脚本了,全自动,真 · 人工智能。其实我倒是觉得,这个人工智能,前面应该加个真字。在今后,你也不用提bug了,开发也不用盯着JIRA或者禅道看bug了,人工智能了嘛,AI工具测试出bug后,自动修改,因为大部分代码都是他写的啊,写完后,自己单元测试,整体测试,OK,再自动化部署。
3.6 自动化文档
一个项目做完后,总是需要输出一些文档的,比如针对开发过程中需求文档的修正,比如测试用例的完善,比如部署文档的完善,比如开发过程中哪里有关键点,开发代码详解等。都需要输出出来,避免哪天人工智能插件坏了,好临时找个兼职开发去赶紧接手代码去修改。
而测试文档,开发文档,一些部署文档,这些其实都是需要开发人员日常输出的东西,如果有了AI智能生成文档后,开发人员的开发效率将会得到大大的提升。
3.7 智能化监控
现在的监控系统,其实已经很完善了,例如开发人员可以在某些关键节点手机日志,并将报警日志分类归结起来,属于哪个系统的,属于哪个环节的,都是可以被分类的,这一点现在已经挺不错了。当报警信息出现后,再将信息发送给提前配置好的人员,这本来已经挺智能了。
但最大的问题在于,问题也报了,某个开发人员也收到了,但他不看,或者看不懂,后者没看见怎么办?
所以,监控智能化仍然有待提升,例如报警了不是,然后触发解决报警的AI插件,AI插件快速审查代码,梳理后,发现是误报还是真的有问题。然后快解决问题。
你觉得这项工作可以实现吗?多久可以实现?5年?10年?你们家的洗衣机买了多久了,又或者是你听说过洗衣机这个东西多久了?他可以自己坏了自己修不?
4 全自动AI智能后,对开发团队有哪些影响?
都不用等到全部智能后,对我们开发人员影响还是很大的。
- 技术选型不需要了,因为点一个按钮就可以自动搭建脚手架,你用哪个架构都一样,因为后边的代码逻辑也是AI智能帮你写;
- 测试不需要了,因为自动化测试,出了bug不用提,AI智能帮你来搞定,还能输出测试用例,自己看着测,还能写测试脚本,自己跑;
- 运维不需要了,因为开发IDE会结合git信息,结合部署系统,结合服务器,你只需要提交代码,点个按钮就可以实现部署了;
- 开发不需要了,因为线上出了问题,报警了,AI帮你来解决,来修复,之前业务代码就是他写的,他可以很快搞定;
所以,最后可能开发团队的形态就是,留一个开发组长,在那里点按钮就可以了。嗨,多虑了,老板自己点按钮得了。
5 人工智能的完善,对我们开发人员个人有哪些影响呢?
试想一下,不需要996了,不需要加班了,开发过程变得无比顺畅,效率大大提升,代码质量大大提升,以后将不会再有什么python、java、前端Vue、React、前后端联调、改bug的区分了,开发界将会大一统。那么对我们个人有哪些影响呢?
影响还是很多的,例如你不需要再加班了,甚至你得到了赔偿补助;你面试的时候不会再刷那么多题了,不用再被破leecode了,面试官只会问,你会写按钮吗?可想而知,今后学会写按钮将会是一件多么难得事情;你也不需要再上班了,就整天在家里悠哉悠哉,你将舍不得吃,舍不得穿,因为没收入了,你也不必担心买房养娃了,你只要静静地在床上躺着,喝自来水即可。身体开始浮肿,实在是饿了,继续喝自来水,然后安静的入睡。醒来后,继续喝自来水。
不过仍然会有面试机会,面试官问你,你会写按钮吗?这个时候,你要把精心准备的代码发给他,告诉你,为了这份兼职,你做了多少努力,代码如下:
<!DOCTYPE>
<html><head><title>地球大一统开发平台</title><meta charset="utf-8" /><script>function alert() {alert('AI全自动就是好');}</script></head><body><button onClick="alert()">点我</button><body>
</html>
所以,从现在开始,学习前端HTML5,很重要。
相关文章:

AI智能化逐渐趋于成熟后,预测今后最吃香的开发职业
AI智能化正在成熟的路途中,这中间会有波折,但终有一天会来的,我相信等到了这一天,我们的开发效率和代码质量,将会大大不同,而我们的团队与个人,也会面临着很棒的体验。 那么在AI智能化真正趋于成…...
Acwing2024蓝桥杯BFS
AcWing 1355. 母亲的牛奶 bfs: #include<iostream> #include<queue> using namespace std; const int N21; int A,B,C; bool flag[N][N][N]; struct node{int a,b,c; }; queue<node>q; void check(int a,int b,int c){if(!flag[a][b][c]){q.push({a,b,c})…...

vue打包报错:CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
前言: vue项目,打包报错:CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 报错现象: 报错原因: 这个错误是由Node.js在尝试分配内存时因为系统的可用内存不足而发生的。"JavaScript heap…...

计算机组成原理网课笔记
无符号整数的表示与运算 带符号整数的表示与运算 原反补码的特性对比 移码 定点小数...
Python学习第四部分 函数式编程
文章目录 高阶函数lambda 表达式和匿名函数偏函数闭包map函数reduce函数filter 函数sorted函数 函数式编程主要学习:高阶函数、闭包closure、匿名函数、偏函数,map函数、reduce函数、filter函数、sorted函数 函数式编程是个很古老的概念,最古…...

数据结构-二叉树-AVL树(平衡二叉树)
红黑树是平衡二叉树的一个变种。 一、 产生平衡二叉树的原因。 二叉搜索树的问题在于极端场景下退化为类似链表的结构,所以搜索的时间复杂度就变成了O(N)。为了保证二叉树不退化为链表,我们必须保证二叉树的的平衡性。 二叉平衡搜索树就是解决上面的问…...

【Qt问题】windeployqt如何提取Qt依赖库
往期回顾 【Qt问题】Qt Creator 如何链接第三方库-CSDN博客 【Qt问题】Qt 如何带参数启动外部进程-CSDN博客 【Qt问题】VS2019 Qt win32项目如何添加x64编译方式-CSDN博客 【Qt问题】windeployqt如何提取Qt依赖库 考虑这个问题主要是:当我们的程序运行好之后&#…...

VS2019下使用MFC完成科技项目管理系统
背景: (一)实验目的 通过该实验,使学生掌握windows程序设计的基本方法。了解科技项目组织管理的主要内容和管理方面的基本常识,熟练应用数据库知识,通过处理过程对计算机软件系统工作原理的进一步理解&…...

【Android】Kotlin学习之数据容器(数组for循环遍历)
数组遍历 1. for ( item in arr){…} 2. for ( i in arr.indeces ) {…} (遍历下标) 3. for ((index, item) in arr.withInfex()) {…} (遍历下标和元素) 4. arr.forEach {} ( 遍历元素 ) 5. arr.forEachIndexed{index, item -> …}...

JavaWeb_请求响应_简单参数实体参数
一、SpringBoot方式接收携带简单参数的请求 简单参数:参数名与形参变量名相同,定义形参即可接收参数。并且在接收过程中,会进行自动的类型转换。 启动应用程序后,在postman中进行测试: 请求成功,响应回了O…...

windows端口复用
1. 概述 使用 HTTP.sys 中的 Net.tcp Port Sharing 服务,配合 WinRM 实现端口复用。 优点: HTTP.sys 为 windows 原生机制, WinRM 为 windows 自带功能,动作较小,不易触发主 动防御。 需要管理员权限。 2. 原理 (…...

[Redis] 使用布隆过滤器和分布式锁实现用户注册
布隆过滤器(Bloom Filter)是一种数据结构,用于快速判断一个元素是否可能存在于一个集合中。它通过使用多个哈希函数和一个位数组来表示一个集合,当一个元素被加入到集合时,通过哈希函数计算出多个哈希值,并…...
Okhttp 发送https请求,忽略ssl认证
工具类 import lombok.extern.slf4j.Slf4j;import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManagerFactory; import javax.net.ssl.X509Tru…...

IT项目管理-大题【太原理工大学】
一、根据进度网络写出时间参数表、关键路径、总工期 此类题一般是给一个表,问三问。 第一问会问某个活动的时间参数,但我们需要把整个表都求出来,否则单求一个很困难(如果你就是不想求整张表也行,不是硬性要求…...
【代码随想录】day48
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、198打家劫舍二、213打家劫舍II三、337打家劫舍III 一、198打家劫舍 class Solution { public:int rob(vector<int>& nums) {vector<int> dp(n…...
【补充】1-auth的使用、扩写auth的user表、django支持缓存
1 Auth的使用 1.1 扩写auth的user表 2 缓存 1 Auth的使用 # django 的一个app---》用户的登录,退出,注册。。。# 配置文件中配置:---》表会被迁移INSTALLED_APPS [django.contrib.auth,]# auth有哪些表---权限控制:-Permission&a…...

力扣-21. 合并两个有序链表-js实现
/*** Definition for singly-linked list.* function ListNode(val, next) {* this.val (valundefined ? 0 : val)* this.next (nextundefined ? null : next)* }*/ /*** param {ListNode} list1* param {ListNode} list2* return {ListNode}*/ const mergeTwoList…...

tensorflow报错
参考 TensorFlow binary is optimized to use available CPU instructions in performance-critical operations._this tensorflow binary is optimized to use availab-CSDN博客 解决Python中cuBLAS插件无法注册问题_unable to register cudnn factory: attempting to re-CS…...
企业数字化转型走向平台化运营会经历哪些阶段?
蚓链实践总结企业数字化转型走向平台化运营通常会经历以下几个阶段: 1. 规划与准备阶段:明确转型目标和战略,评估现有业务和技术状况,制定转型计划。 2. 基础建设阶段:搭建数字化基础设施,包括云平台、数…...

最新AI实景自动无人直播软件教你实现24小时不下播带货;智能化引领直播新时代
随着互联网的快速发展,直播行业已经成为商家品牌推广和商品销售的热门方式。而如今,一款令人惊叹的AI实景自动无人直播软件正在让直播变得更加智能化和便捷化,为商家带来全新的直播体验。 AI实景自动无人直播软件的一大优势是其智能讲解功能。…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...