距离上一次发推文已经过去了 600+ 天,马上连年更博主都当不上了。
从 11 年毕业开始,广州-杭州-上海折腾了一圈,兜兜转转。有天也不知道是哪根筋搭错了线,开始思考一个无法回避的问题:无论在哪个城市,哪家公司,无论做什么岗位,拿多少薪资,每天永远都是花 10 多个小时追别人的梦,然后在所剩无几的时间里精细地切分哪些用于家人、朋友,哪些用在健康、娱乐,以及几乎总是被排在最后的——自己的梦想。
在这个年纪,在这个经济大环境下,谈「梦想」是一件羞耻感十足的事情。没有经济基础的纸上谈兵就是单纯的白日梦,嘴上说说,心里 YY,然后继续拧巴,也就仅此而已了。即便自己不是嘴炮选手,也不得不面对现实的引力。但想自由的心在连续加班导致的左耳全频率听力下降和短期记忆缺失之后彻底放飞,趁着现在还有折腾的能力和力气,决定赶紧开启人生的另一条主线剧情:独立开发。
跟猫叔聊天,他打趣我这是逆市入局,别人都是「35 岁大龄码农被辞退」的时候,我主动跳进去开始学编程。网上更是夸张,说在 AI 时代学编程已然是「末班车」,颇有「49 年入国军」的讽刺感。更别提那一大片因为经济环境不好而被迫挤入所谓「离职赛道」的技术博主,各个都在搞「独立开发三件套」:记账、待办和笔记应用,卷的要命。即便是现在有 AI 的加持,即便攒了一小笔「F You Money」不至于「手停口停」,但作为一个过往只有一些爬虫代码编写经验的产品经理,想要放弃现在还算不错的收入和团队,跨行到接近全栈工程师的独立开发,还且不说 10 个独立开发有 9 个半都在亏钱,再怎么看这都不像一个马上要到 35 岁的人应该作出的决策。
我不是没有犹豫过,甚至在作出这个决定之后的一个月内还数次后悔,整晚整晚的睡不着觉,脸上爆痘,头上长包,纯靠疯狂地吃麦当劳和玩 Steam 游戏来消解压力和焦虑。当你发现在毕业快十五年来第一次月初没有工资进账的时候,你就会开始无比怀念过去的确定感。给别人打工是累,身心俱疲;但同时,打工是一件有确定回报的社会活动,虽然这个回报可能大多数时候都让人觉得不那么值,但确定感能够显著降低人的压力和焦虑水平,能够让你睡个好觉,然后在第二天有更好的精力继续吐槽。
当确定感消失,心境的历练才刚刚开始。无论是在虚拟世界里沉迷,还是在现实生活里撸铁、酗酒、跑步、抽烟、游泳、飙车,一路向北的长途旅行,一掷千金的纸醉金迷,总是要回归内心:想要什么样的生活?想成为什么样的人?
从产品经理到独立开发,对于我而言并不只是一个职业的转型或选择,它更代表一种理念和行为偏好:决策在我,行动在我,结果也在我,「我」负责一切。从某种意义上来讲这就是我所向往的「一人公司」,因此它也继承了所有公司的特质,即公司的能力边界取决于创始人的眼界和心界。想要在这条路上留下点痕迹,对自己的改造不可避免。过往的成绩只能代表自己还算是个不错的资深牛马或者螺丝钉,离开了平台和团队,真要自己包揽一切的时候,不呛几口水基本上不可能。
不过也算幸运,在当前这个学习资源的丰富程度下,只要你想学,没什么是学不到的,有视频、文档、论坛,当然还有 AI,最大的变量只是学习效率的差异,而不是能否学到。当然,「学到」和「学会」之间的鸿沟仍然需要靠「做」来填补。就算看遍了每天的热点,不自己上手,就只能永远嚼别人的剩饭。但不管怎么说,对于我而言,独立开发最困难的反而并不是技术本身。(作为例证,我在 AI 的辅助下用三周的时间做了自己独立开发的第一个 Web 产品,可以往后看看。)
所谓选择
最大的困难来自选择方向。其实绝大多数的创业都一样,选择「赛道」是第一个关键决策点。但赛道真的是「选」出来的吗?老东家从显示器板卡入行,因为那个团队之前就是做这个的,然后延伸到教育和会议大屏,本质上也还是显示器的另一种形态,只是行业应用场景的扩展;前前老板从电子邮箱起家,然后又转向门户,纳斯达克上市后开始做游戏,再到后来开始做电商,整个过程其实也是互联网浪潮的一个小小缩影;前老板则是从传统汽车行业转身投入新能源的怀抱,跨界吗?好像也没有。
说起来是「选择」,但其实也都是摸出来的。没有谁的创业是像玩城市天际线一样,开上无限资金模式就开始框框铺路网,试图在最开始的设计里就解决之后可能会碰到的堵车和污染问题。至少对于我而言,现在唯一能做的就是在当前的资源范围内找一个模糊的大概正确的方向,然后摸着石头过河,走一步看一步。毕竟是「一人公司」,很多做事的逻辑都跟以前不同了。
我决定先拿自己熟悉的产品领域练练手:人力资源 + AI,但想换个方向:to C。
人力资源 + AI 在 B 端算是很古早的概念组合,只不过以前效果确实不咋地,一直不算很火,但自从 GPT 的风刮起来了之后,相关概念又开始被炒了起来。然而这一两年过去之后发现,能落地的还是只有那么几个场景:
- 招聘面试:JD 生成、简历评分、面试辅助
- 员工体验:智能客服
- 人才发展:人才画像
- 效率工具:报告生成与整理
- 等等
这些场景在业务上可以说全都是放之四海皆准的方法论,产品经理只要吃透一套,去哪儿都能从零到一搭个架构,然后从一到十开始迭代,无非是行业领域知识要跟着一起变。然而,一旦要开始迭代,做定制化或者场景的深入应用,就不可避免要碰到投入产出比的挑战,因为这些场景只是提升了对应岗位打工人的效率,也许还提升了一部分的用户体验,但却无法为企业带来直接的实际营收。
节省人力成本?现在还有点早,还没见过哪个人力资源 AI 产品能完全顶替一个真实员工,即便是我认为现在硅谷做的最接近取代人类员工的 AI Recruiter Max,也只是一个简历搜寻、初筛和面试安排助理的角色,企业也许可以少招一两个实习生或初级外包,但依然还是会有额外的 token + 服务费用,成本的降低相当有限。(而且退一万步说,如果没有这些基础工作的历练,初级员工怎么成长为中级?让一个简历都没筛过 1000 份的人直接去做面试官还是有点夸张。)
所以,对于甲方,尤其是企业内部负责这个领域的产品来说,越往后做,工作就越会像是一个「为了证明自己和团队存在的价值而不断雕花」的数字游戏,但这也会成为自己的领域护城河,只要能苟住,只要上面的大老板还在,没人动的了。而站在乙方的角度,如果做 B 端,其实前面从 0 到 1 的部分也算是个不错的标准化市场,但现在在国内也已经被卷成了白菜价。
当然,这不是我「选 C 不选 B」的原因。以个人当下的浅薄理解,独立开发就天然地和「B 端」不适配。一方面是已经脱离了那个协作环境,产品设计的起点就容易走偏,B 端最重要的是「流程适配」而非「功能适配」:我有一堆好功能但没办法嵌入你的内部工作流程,那我对你的价值就很有限;除非有底气跟「某先进生产力」一样,让客户照着自己提供的功能来重构其业务流程。另一方面则是 B 端项目周期长,运作复杂,不适合单打独斗。
所以与其说是自己「不选 B 端」,倒不如说是自己「做不到」。再加上现阶段 AI 对输入的标准化要求极高,但目前绝大多数内部流程的数据结构标准化基础是真的不行,与此同时企业又对 AI 输出的容错率很低(相对于 C 端个人用户而言),在这个阶段要强上的话,不可避免的是要用更多的人力来给 AI 洗数据和验结果。
并且,由于大企业之间天然的不信任因素,加上数据合规的要求以及地缘政治关系的影响,非端侧的底层大模型的选择往往受到诸多限制(结果就是明知道 A 模型的效果不如 B 模型,但因为种种原因只能花几倍的人力来给 A 模型做微调和适配);甚至于像在大企业内部,赛马机制的存在也让不同团队之间互卷(比如主流蓝色支付软件都不用自家另一个团队的大模型)。这是现阶段在 B 端做 AI 应用无法绕开的困境。(当然还有另一个常见的场景是做 AI SaaS 平台,比如 Dify,这个方向可以单独拉出来写一篇文章了,这里不展开讨论。)
我自觉没有能力解决这些困境,甚至连谈论都有些不自量力,所以还是选个力所能及的方向来作为自己独立开发的练手项目:C 端的 AI 应用。
但 C 端的 AI 应用也有自己的门槛。产品确实可以出得很快,但死得更快。就目前来看,偶现的几个爆款大多也不具备可持续性和可复制性(成本、合规,以及底层大模型的进化会吃掉 C 端应用本身)。网上一搜一大把的除了那些售卖与 AI 相关的 FOMO(Fear of missing out) 焦虑和赚流量的资源汇总搬运的之外,剩下的就是「虽然我自己没拿到过结果,但我可以教你」的 AI 赛道职业导师和创业教父。摸良心说,这些也是我所不具备的能力,自己没啥资格去评价别人,只是口嗨一下~
当然,说这么多困难的主要目的还是给自己找个台阶下,免得真没做成之后老脸挂不住。
其实所有的困难都有解决方案,市场不会任由你挑挑拣拣,能抓老鼠的才是好猫。所以如果换个角度,不再以某个具体产品或者项目的成败来定义目的,那么核心问题就不是「该不该走这独立开发条路」,而是「应该怎么走」。最差的结果无非是竹篮打水一场空,设定止损线,撸起袖子干就完了。
在给自己心里建设好一个「没关系,先试试,不行再说」的框架之后,凭借着一直以来对新事物的好奇,对新技术的兴奋,还带着一丝「终于不用再写一堆产品价值来证明雕花必要性」的畅快,我开始动手写下第一行代码。这一写,便停不下来。
写代码的快乐
写代码给我带来的即刻满足感是无与伦比的,比刷短视频还令人着迷。在刷短视频时或多或少还有些自律在作对:看完这个就不看了……最多再看三条……唉怎么又到 1 点了。无意识的手指滑动只为带给大脑最强烈的感官满足。但写代码需要付出思考,即便大多数时间我只是让 AI 在写,自己仅仅做一个 CV + Tab 工程师,也得看清楚在哪里 V 才不至于报错,报错了还得改改 bug。所有思考所汇聚形成的压力,在点下运行按钮的前一刻积累到最大值,甚至还会因为 Error 的出现而继续累积,但最终只需要一次符合设计的成功输出,那一刻奔涌的畅快就让人欲罢不能,流连忘返。
以前做产品的时候,画出满意的原型也会让我有类似的感受,然而即便是加了动效的高保真原型也都并不是用户最终拿到手的东西;但写代码就不一样了,每一行字符都代表这个产品的最终交付状态,再也没有比这更「所见即所得」的了,这让我的「掌控欲」得到了极大的满足。当然,这个过程也让我更清楚地认识到,有些以前从产品角度看起来所谓精妙的设计其实并不符合代码的设计模式,反而会给迭代和维护带来巨大的工作量;以及深刻理解了为什么业务说「我就是改个字段」但开发测试要排一整天的工作量,这些以后可以展开聊聊。
在这样高强度即刻满足感的刺激下,我的第一个独立开发产品诞生了。
这是一个面向个人用户的职业指导 AI 助手。设想中它能提供的服务有:
- 简历优化:基于目标岗位职责和要求,改写现有简历内容,已经上线了。
- 简历制作、面试准备、模拟面试:还在开发中。
- 还有些帮助写简历内容的小工具。
用到的技术栈和相关服务如下:
- 后端:Python,Django,MySQL,Redis,Celery,Gunicorn
- 前端:React,Chakra UI
- 云服务:DigitalOcean,Cloudflare,Sentry,Logtail
- 邮件服务:Resend + Zoho
给自己的预期管理
把 mycareerhelp 当成一个练手项目的话,其实效果还算不错,毕竟这一个 Web 服务做完,前后端和云算是都摸过了,从架构设计到代码实现再到单元测试和线上运维的开发全流程也算是都跑通了,再加上设计、营销、运营、合规、财税法等等环节跑下来,这段时间是真的收获颇丰。至少印证了我上面的观点:在现在这个 AI 加持的学习环境里,最大的变量只是学习效率的差异,而不是能否学到。
但话说回来,从商业的角度来讲,这个方向并不好。一是没什么「钱」景,二是门槛极低。即便是从老本行的产品专业视角来评估,这个东西也是简单到不行,其实都没必要做个产品出来:把 prompt 拉出来直接用对话框做一个聊天机器人,也可以实现类似的效果——不用怀疑,MVP 验证就是我用 Dify 花了 30 分钟搭出来的。在这个产品上我所做的只不过是把输入和输出结构化,顺便加了些业务视角的提示词和工作流,然后封装到一个 Web UI 里而已。
进一步讲,那些本身就在做求职招聘平台的产品(比如某脉,某直聘,某in 等)更适合做这个事情,因为它们有场景、有数据、有使用习惯,做起来更顺理成章。(扯句题外话,某脉上面有简历诊断和定制的服务售卖,我看了下价格要 369 元起……)
所以,你要非说我能做出什么差异化或者竞争优势我也讲不出来,因为现在这不是在大厂里做项目的思路,我也没什么立项、市场分析、竞品分析、成本分析、风险预警 blablabla 一大堆为了证明结果而写的材料来说服老板这是个值得投入的方向去要开发资源,我只是拍了个脑门就开动了,没有什么结果保证。
但有一点差异很确定:那些平台所提供的类似服务,最终目的还是为了获取用户的信息,转手做 B 端收费(某直聘在 2023 年接近 60 亿元的收入中,面向 B 端的企业招聘业务收入占比超过 99%,面向 C 端用户的收入还不到 1%),而我的这个项目只是单纯地做一个工具。用户只需要一个验证过的邮箱就可以开始使用这个工具;简历内容中的学校、公司名称都可以直接用 XYZ 等随便什么字符替代;整个流程不存在收集用户真实姓名及联系电话的地方,即便你上传的附件里有,解析的时候都直接 dump 掉了,因为数据库就没设计相关的字段;如果不想用了,直接一键删除账号,所有信息全部清空。
当然也可以说是现在还没能力做平台,只能做工具,事实的确如此。如果以前在大厂做产品经理是在做一个「T」型人——横向跨域覆盖,纵向主业专长,那么现在做独立开发创业就是要当「π」型人——每个领域都要深耕,要不然就会被最短的那根木桶边所限制。
- 这个方向空间大吗?不大,找工作群体里的大多数还是蓝领,白领且需要优化简历或职业发展咨询的占比很小,天花板很低。当成独立开发的练手项目还行,但要支撑一个公司(哪怕是一人公司)还是过于勉强了。
- 大厂/别人如果也进来做了怎么办?不用如果,已经有大厂做了。功能上对于大厂来说就是顺手的事儿,但对于做的人来说这可是职级评审的好材料。
- 能盈利么?盈利就算了,得先有人用。独立开发的获客是真的难,但好在固定成本也不高,慢慢苟着再做点新项目也不是不行。
- 那为什么还要做?
其实也确实可以什么都不做,在这个经济大环境下,能继续拿着工资在大厂里安心当一条咸鱼,出卖身体和时间换取确定感已经很不错了;又或者找个沙滩躺平,当一条真正的低物欲咸鱼,反正只要不养娃就没那么多后顾之忧。但我总觉得不甘心,在还有能力、身体和资本去折腾的年纪不应该就这么按部就班地过去。谁也不知道再过十几年的时候回头看,究竟是会后悔当时做了点什么,还是会后悔没做点什么。
我还是想要做点什么。摸着石头过河,也总要迈出第一步才知道水深水浅。如果这个方向真做不下去了,那就再换一个。我想做的不是某个特定的产品或者项目,而是独立开发这件事。即便最后只是黄粱一梦,也算曾经拥有了。
写在最后
之前看过一句话,「如果你不为自己的第一个版本感到羞愧,那么一定是发布的太晚了。」是的,原本应该在八月中旬刚做完的时候就发布,但那时的我实在担心会被打上一个「不过如此」的标签,担心在这个年纪做出来的东西还那么初级,担心所谓的「人设崩塌」——当然,拖到十一之后才发布也有很多不可控因素,比如注册公司、银行开户以及税务相关的各种行政和合规工作,这些确实是之前从未接触的领域,也算是获得了新的经验点。
但刮台风那天窝在沙发里撸猫的时候突然意识到,自己确实「不过如此」,我就是一个刚开始从产品经理向独立开发转型的初学者。就像每次问 AI 有关新领域问题的提示词里我都会加上一句「I'm a new learner in [specific field]」。既然如此,没什么可羞愧的。趁着脑子还转得动,借助 AI 的力量去做点自己想做的事。
I AM a new learner, and I'm ready to explore the new world.
后续还计划要写几篇跟这个项目开发过程相关的文章,作为编程的初学者还是扎扎实实踩了好几个坑,不复盘一下总还是有点浪费。也算是学习的另一种方式,就跟做题一样,自己做出来其实还不算会了,能给别人答疑才是真的掌握。感兴趣的朋友可以持续关注下,尤其是编程小白如何用 AI 完成从产品概念到代码实现的完整工作流,我可以算得上是深有体会。
留言
暂无留言。来第一个留言吧!