(旁白:哼,真是好为人师,你自己创过业嘛,创业成功了嘛,啥都不懂就知道瞎BB)
我很早就注册了电鸭,最近这两个月我都在电鸭上找工作找活。我发现这个现象。
这本来并没有啥,创业嘛,为降低成本,大量使用 AI, 再找一两个便宜的开发,duangduandang 干起来!!!上线,成功,迎娶白富美,走上人生巅峰!!!但很遗憾的是
他们总会不一小心忽略掉些重要的东西。
-
比如,做了一个 toC 的产品,但却用完全把前端做成了 SPA,用 api 跟后端通信,那几乎就算扔掉了 SEO 功能。难道搜索引擎侧一直花钱买广告吗?那其实花钱如流水。你充两千块不到一星期就没了。
-
比如,90% 以上代码都 AI 写的,而最初描述需求的时候又是碎片式的中文片段,AI 每次任务只是很小的一个范围,最终拼凑起来的项目,往往会出现逻辑不一致、用力过猛、方向不对、功能不完整的问题。就像一堆程序员在一个仓库里捣鼓,但缺少一个技术过硬架构师的样子。
-
比如,任何样式的登录认证,管理后台的权限系统,业内都有成熟的解决方案可以直接用,甚至不想用也能抄,但你若又让 AI 写,那不仅代码量大,写出来的东西只有 AI ta 自己能维护。你想找人类换,那是不可能的,工作量不如重写一个,只好让 AI 继续硬刚,小小一个应用,就刚到了无法让人类手动维护的地步。
-
还有,一个项目,我看到他们组件特别大,好几百上千行代码堆在一起,人类思考速度远不如 AI, 再让人类接管太难,要花更多钱,得不偿失。
他们往往花更少的钱请了初级开发,有一些基础的地方容易出问题。
-
比如,在微信小程序里引入超大量中文字体,遗憾的是还引成了日文字体,那字看起来缺胳膊少腿的。(请不要对号入座哈,我们这里只是交流交流,一起成长)
-
比如,开发微信小程序用原生开发,就是用微信小程序官方的 mina 框架开发(是的,微信原生小程序原生框架叫mina),代码量巨大,写法繁琐,维护成本高。你说你未来还想做个安卓版 iOS 版, 这就算用 React Native 开发都没代码抄。
-
比如,超多的直接写死的对象存储里的文件 url,连个可读的文件名都没有,超多的纯 svg 图标直接写入 html/jsx, 不打开页面预览根本不知道是个啥图标。大量注释掉的代码蹲在那里,也不删,也不注释下为啥注释掉那坨代码。npm pnpm yarn 的依赖 lock 文件都有,你们到底用啥管理依赖的?.npmrc 里写一堆都不如配置一下镜像。
-
比如,在 react 组件某处写错导致死循环,不断渲染,烧电脑烧手机,超高耗电,像 iPhone 用户玩两下手机烫但都不知道只玩了一会怎么手机就快没电了。
-
比如,同样的功能,未采用最佳实践,或常用写法,就去手动操作 DOM 元素去了,Duang, 组件傻了,我鱼呢? 刚还在这呢,咋一下子就不见了?
开发完后发现有些问题解决不了,就来电鸭上摇人看看。
-
摇到我了,我去看,我滴天这写得啥,真是一言难尽啊。连基本的文件目录结构都很怪异,改东西得先花个十天半个月了解清现有代码,现有代码量要像 AI 那么快的看代码才能快快解决问题。
-
比如,react 有一万种状态管理工具,什么 redux, redux toolkit, recoil, mobx, zustand, hookstate, jotai, xstate, unstated...列表又臭又长。而我现在只熟悉其中几个 zustand, hookstate, jotai, valtio..., 他们要是用了我不熟悉的,我得先去上手一会去。
-
再比如,你已经用 Next.js 开发 AI 应用了,而你还在用 Java 做后端部分,那你的功能本来就不多,Next.js 从服务端读写数据库和 AI 服务的 API 不就够了,那这个 Java SpringBoot 这一层的意义是?这是个小应用啊,本来就没有几个功能。
-
还有你 Next.js 应用,取数据为何不从服务端组件直读数据库,为何又先写 router handler, 再从客户端组件用 axios 发 http 请求 router handler api? 这样显得创造了 GDP 吗?
-
你表单检查为啥不用个工具,比如 react-hook-form, formik 也行呀。
-
你好像用了组件库了,但你的界面怎么没有一点组件库的样子? 如果要大量自定义样式,那最初用组件库的意义是什么?
-
有人真让我给重构项目,我看了项目本身,发出灵魂拷问,为了 XX 功能你愿意花 XX 多钱重构吗?重构出来就有用户付费了吗?(我话多,多问一下,就会让我丢掉这份重构的活,但重构出来他照样卖不出去,没用户付费,我也觉得没意思,同类产品太多,他白花钱。)其实跟重写一样,小应用,需求清晰时重写反而比在原项目捯饬容易点。
-
有个老板,连域名都不好好买一个用,就把产品投放出去了,那钱不打水漂了嘛。logo 都没有,页面用的 framer-motion 但由于用量过大, 写法一样,导致看起来跟 10 年前用 bootstrap 模版 + jQuery 做出来的一样,页面内容上写写得很随意,太假,起码的信任都建立不起来,一点都竞争不过同类产品,不会有用户来付费。
创业的老板们啊,创业前记得请个有经验的开发或架构师一同思考,听听他们的话,不要踩他们踩过的坑。如果手里钱不够,那就不要创业,不然钱老打水漂,除非你能找来大投资人来给你试错机会。
吐槽至此,与君共勉。
最后修改于
用过一段时间AI,确实如同大神说的那样,如果不懂编程的人,可以说是代码的堆砌,整体上来说没有啥架构思想。
从程序员角度看,我自己也用AI编程,但是最大的感触 ,给的任务指令越精确,任务粒度越细越好,能够一定幅度的减少工作量,但是人为的工作量也不少,以前是检视同事的代码,现在是检视AI的代码。
总的来说,AI不是万能的,总体架构,细枝末节还是需要人为的干预。
资本不需要检查代码,所以目前大肆盛行的说法AI会替换程序员。
老哥说的这些点我深有同感,简直是句句扎心!虽然不代表所有公司和团队,但你遇到的这些问题确实普遍存在,而且通常是几个严重问题交织在一起:
1. 不知道如何招聘
1.1 创始人缺乏经验或固步自封: 创始人没有长期的一线编程经验和独立思考能力,或者对技术似懂非懂,又或者过于老旧,没有与时俱进。典型的表现就是 SOLID 和 DRY 常挂嘴边,特别是后者,盲目地到处做组件抽象。比如,导致一个很简单的 table cell renderer 变得极其复杂(充斥
if-else
),自己还沾沾自喜,殊不知行业早已奉行更灵活的 composition 模式,直到有一天发现继续堆屎山是唯一选择。1.2 不切实际的招聘标准: 寄希望于3w月薪招一个全栈、熟悉云平台、有 AI 成功案例的“定海神针”,一下子搞定所有问题,顺利上线开始盈利,颇有撞大运的意思。而不是根据现有或未来技术栈的需求来招聘。
2. 对自身技术栈和项目管理方式没有清醒的认识
2.1 过度设计: 这和 1.1 有类似的问题。总共才不到2000个个人用户,可一上来就搞微服务 + 前后端分离,从零开始自建 auth,搭建 monorepo(包含前端、后端、工具库、SDK 和 Chrome 插件)。做过 monorepo 的朋友都知道,调和各个子项目的依赖需要写更多 config 和抽象。这些子项目紧密相连,牵一发而动全身。
2.2 过度依赖“Vibe Coding”: 这同样和 1.1 有关。如果创始人有经验,能够有条理地进行 prompt engineering 那还好,但见到的9成以上的情况是 prompt patching,打补丁式地写代码,想一出是一出,导致垃圾代码哪哪都是。
2.3 项目迭代失焦: 放着几个核心问题不解决(也可能是积重难返解决不了),却聚焦低价值的 fancy features。比如,他们能花8~16人时,就为了把弹出的 editor 刚好和背景的原触发 button 等宽,而且在更改窗口大小的时候,还能随原触发 button 的大小变化。
2.4 项目管理混乱: 口口声声说团队奉行 agile,每个需求倒是有对应 ticket,但 ticket 只写了症状,没写如何复现、前置条件、当前行为、期望结果都没有。这导致拿到 ticket 的人又要问一遍,而且 reporter 还不一定有空,要等,甚至要两三个人同时在等,珍贵的时间哗哗就流走了。这本来只要 ticket reporter 花30分钟写好 ticket 就能解决。
2.5 “不那么 Agile”: 这还体现在对 tickets 没有共识就开工。导致老板觉得这个简单 ticket 也就2天完工的事,到了第3天一问才知道这 ticket 需要前后端都改动,而后端因为这次是 breaking,迟迟想不到合适方案,导致的结果就是互相推诿,影响交付。这种情况其实可以利用 planning meeting,甚至简单碰个头就能大幅度减少这样的内耗。
3. 缺少对 SEO 的认识
我在面试时提到 SEO 和贵司的产品功能的重要性相当,甚至还略重要。面试官却不知道 SEO,说打算通过自身的人脉网络推广(也行,但无视 SEO 太不应该)。
总之,正常的项目、团队可遇不可求,我们能保证的就是自己做事专业,编码和测试负责任,及时告知进度(发送白纸黑字),其他就见机行事吧。嗷。
感觉你在说我前公司 aspecta ai
悲伤的故事~
最后修改于
头回听说这家公司,谢谢告知🙏,大家也避避雷。另外群里点名的几家adsgency ai,heyboss,drlambda等公司,大伙儿在接offer前值得三思三思再三思
加你微信了 通过下 我这有个项目 你看下 能不能做
wufu~ 好
AI的上下文记忆长度, 远不如人脑, 还有泛化能力.
只要加钱,就能记得多些 【逃】~