突然有个困惑。
感觉现在写代码越来越依靠 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 不需要人工介入,编程会变成一项复古的爱好