如何可以持续提升自己的编程能力
突然有个困惑。
感觉现在写代码越来越依靠 AI 辅助生成,跟 AI 不断对话,得到基本框架,然后自己在做一些微调。导致现在拿到一些需求之后,反而不知道该如何自己写了。
这种情况是需要刷题或者看书持续提升自己的编程能力,还是说拥抱变化,毕竟 AI 驱动开发也是开发能力的一种?
当然是拥抱变化
先自己想思路,然后再问 AI ,如果 AI 给的方案比自己想的好,就吸收学习。
多看书,多看优秀代码,多写代码实践
自己都知道原因了,还有什么好问的。
想提升自己就少用 AI ,就像汽车发明出来了,人就不用跑步锻炼身体了?
老板们都会希望你多开车、乘车,尽可能多的把时间交给公司,而自己整天锻炼、自律、养生……
学习 AI
提升解决问题的能力
以终为始,想清楚为什么写这份代码,实现功能还是编程练习。我个人倾向于拥抱变化。
我现在是做点简单的底层项目,自己想查资料。
来参与开源项目吧,我这个做了三四年了, github.com/LinuxSuRen/api-testing ,可以持续做下去,做的越来越深入
多看优秀代码 看懂,想清楚,还有解决问题的能力是要积累的,可以参与开源代码
以前我领导也问过我:你为什么觉得比人的代码水平更加高?
其实这东西很难统一标准的对比,领导应该是看 解决问题的能力。
其实仔细想想现在阶段 AI 就是刚入行时候样子,特定的实现某个功能。干得久了就发现了软件的设计是比较难的,界面怎么设计体验感更好,服务怎么设计冗余少,性能高,成本低。
x.com/brucexu_eth/status/1893788942979469504
简单地说,编程回归了本质,本质还是利用一种工具来解决现实中的实际问题和需求,对于程序员和开发的要求,也变成了对于实际问题需求的理解、抽象、思考方式,过去单纯技能型的优势将会毫无价值。好的开发者将会需要以下知识:
- 社会学,了解社会和人类是怎么运作的,了解自己的程序要解决什么问题
- 创业,了解商业的运作,了解 PMF 和 PLG ,了解各个参与方以及如何协调各方的利益和沟通
- 设计和艺术,单纯的功能性软件已经没有门槛,好的设计,具备很好的艺术和理念才能脱颖而出
- 良好的逻辑,抓到核心问题,语言和框架优劣之争的话题都变得毫无意义,找到核心问题,使用最适合的编程语言,应用正确的逻辑更重要
- 架构设计、设计模式,AI 目前还是只能针对部分功能写出能用的代码,架构和设计模式的优劣可以拉开较大差距
等等
会不会有种,别人都使用联合收割机割麦子了,而自己还用镰刀慢慢割?
不会,你知道有收割机,但你还要学习镰刀是如何进化为收割机的,才能更好的把控收割机
开 copilot ,学习 ai 给的代码哈哈哈
我觉得是发现需求的能力无比重要。
你可以问 AI ,你为什么这么写,有什么好处,我那么写有什么坏处。
发挥自己主观能动性。聪明人已经行动了,懒人还在想到底该咋弄。
我觉得既然是软件工程,还是提升一下工程能力,往更高层次看
你搜一个关键字:怎么突破编程认知差
你会用收割机,别人也会用收割机,只要不是傻子谁学开收割机不是分分钟的事,而你能把收割机开到 120 码还是能玩漂移?
所以我的意思是,“学 AI”这种低门槛的投入很难形成自身竞争力,大家都是搞技术的,也没什么不得了的信息差,“用 AI”提升的效率除了让老板开心,对自己没什么帮助,别看那些老板挂在嘴上说的是要“会用 AI 提高效率的人”,实际还不是当成螺丝钉在用,可替代性++,同样都是 AI 玩的 6 的,老板只会留下便宜的和会拍马屁的。
当然了,这些说的还是短期的情况,还可以通过提升自身水平,勉强和 AI 仔差异化竞争扳扳手腕。长期来看都是无用功,AGI 不需要人工介入,编程会变成一项复古的爱好
之前看 b 站 youtube 视频都用浏览器默认窗口大小,最近换了 4k 显示器,想看一下 4k 视频有多高清,结果才发现,浏览器看视频一直是一卡一卡的,480p 的都卡,以…
比如 java,js(vue) 1.后端选择 java,因为自己有多年的 java 开发经验,而且 java 的生态非常丰富 2.vue 底层是用的 js,同时 web 端有成…
比如数据库服务吧。 程序启动,先连 db 。连成功。启动 web 服务。然后 setup 路由啥的一堆。 好,服务启动成功了。 现在接受 http 请求,此时数据库崩了。 go…