当前位置: 首页 > article >正文

写了三年CRUD我觉得自己废了,直到产品经理说了一句话

2024年秋天我在工位上改一个按钮的颜色。从#1890FF改成#4096FF产品经理说原来的颜色「太老气了」。改完之后我盯着屏幕发了十分钟的呆。不是因为这个需求有多难而是我突然意识到这是我今天写的第四个CSS微调了。上午改了一个表单的间距中午调了一个弹窗的圆角下午又挪了一个图标的位置。我打开Git记录看了一下最近三个月我的提交记录里全是「fix: 调整样式」「feat: 新增列表页」「feat: 新增详情页」。那一刻我脑子里只有一个想法我废了。写了三年CRUD每天的工作就是把后端的数据搬到前端把前端的表单存到后端。增删改查查改删增循环往复无穷尽也。我开始疯狂刷技术文章。分布式、高并发、微服务、DDD、中台架构。。。每一篇都收藏了每一篇都觉得「对对对我也要学这个」。收藏夹越来越厚我的能力还是原地踏步。然后焦虑就像感冒一样你越想它它越严重。我甚至偷偷打开Boss直聘想看看外面的机会。结果越看越慌人家要求的那些技术栈我连面试题都看不懂。再看看自己三年经验能拿得出手的项目经验就是「独立负责XX系统」而那个系统说穿了就是一堆表单和列表。我陷入了那种很典型的状态知道自己不行但不知道怎么行。直到有一天产品经理拉我去开会。那是一个需求评审会主题是给客户做一个数据导出功能。按我的理解就是一个按钮点下去调个接口生成Excel下载完事。我正准备在Jira上估个「1天」的时候产品经理突然问了一句。她说「你知道这个功能谁在用吗」我说「客户啊。」她摇摇头「我说的是具体是谁。用这个功能的是财务部的王姐。她每个月底要从我们系统导出8000多条数据然后手动在Excel里分组、筛选、做透视表再生成三份不同维度的报表给三个不同的老板。每次导出要花她大半天。」她看着我说「你改一个按钮颜色是半小时但王姐导出一次数据是四小时。你写的每一行代码对面都有一个具体的人。」这句话像一盆冷水浇下来。我突然想起来宫崎骏说过一句话大意是「我画画不是为了艺术是为了某个具体的小孩能在看完电影后觉得今天没有白过。」写代码也是一样的。我们不是在写代码我们是在解决一个具体的人的具体问题。那天回去之后我没有急着写导出功能。我先跟产品经理要了王姐的工作流程然后自己画了一遍。我发现王姐每次导出之后要手动做的那些筛选和分组其实完全可以在服务端做完。她需要的不是原始数据是按部门、按项目、按月份汇总好的三张表。如果我把这三张表直接生成好她连Excel都不用打开。这个功能技术上一点不难。但它需要你先知道「王姐」这个人存在。我花了三天做完。上线那天产品经理转发了一条消息给我是王姐在内部群发的「这个导出功能太好用了这个月我只花了10分钟就搞定了报表」三个感叹号。那是我写代码三年来第一次觉得我写的东西真的在帮一个人。不是KPI不是OKR不是「提升用户体验」「提高系统效率」这种PPT里的词。是一个真实的人因为我的代码每个月省了半天时间。从那以后我开始刻意去了解我写的每个功能背后的人。做一个搜索功能之前我会问「用这个搜索的人他最可能输入什么他在什么场景下会搜索」做一个列表页之前我会想「这个列表的数据量大概多大翻到第5页的概率有多少」这些思考不会让你的技术变强。但它们会让你从一个「搬数据的人」变成一个「解决问题的人」。而当你开始解决问题你会发现CRUD里也能长出技术深度来。搜索功能做多了你会想去学Elasticsearch。列表页做多了你会开始思考分页策略。导出功能做多了你会研究流式写入和异步任务队列。技术深度不是「学」出来的是「做」出来的。而做的动力来自你知道对面有一个人。《禅与摩托车维修艺术》里有一段话我特别喜欢。作者说修理摩托车的人分两种一种是把它当机器修一种是把它当成「某个人明天要骑着它去上班的交通工具」来修。第二种人修出来的车就是比第一种好。写代码也一样。回到开头那个改按钮颜色的需求。你可能觉得它无聊透顶但如果你知道有一个人每天盯着那个页面八个小时那个颜色会直接影响他的视觉疲劳程度你还会觉得它不重要吗我们总说「三年CRUD废了」但废掉你的从来不是CRUD本身而是你把CRUD当成了一堆技术操作而不是一个个真实的人的问题。当你开始看见「人」你就不会再觉得自己废了。因为你会发现能精准地解决一个具体的人的具体问题本身就是一种了不起的能力。而这种能力那些天天研究架构但从来不碰业务的「高手」未必有。所以如果你今晚也躺在床上刷着技术文章焦虑自己为什么只会CRUD我想告诉你一件事。你不需要先变成架构师才能写出有价值的代码。你只需要先看见一个人。明天去公司打开你正在写的那个功能问自己一句「用这个功能的人是谁」当这个问题开始在你脑子里转的时候你就已经不一样了。那个改按钮颜色的下午那个发呆的十分钟那个让我觉得「废了」的瞬间现在回头看是我写代码以来最重要的十分钟。因为它让我知道成长不是从CRUD跳到架构而是从「写代码」变成「看见人」。晚安。

相关文章:

写了三年CRUD我觉得自己废了,直到产品经理说了一句话

2024年秋天,我在工位上改一个按钮的颜色。从#1890FF改成#4096FF,产品经理说原来的颜色「太老气了」。改完之后,我盯着屏幕发了十分钟的呆。不是因为这个需求有多难,而是我突然意识到,这是我今天写的第四个CSS微调了。上…...

大量全新惠普AM4准系统迷你主机涌入咸鱼,支持桌面端5700G处理器,双M2+SATA三盘位,还可选配GTX 1660 Ti 6GB显卡!

众所周知英特尔12代处理器以及AMD锐龙 5000系处理器都是如今极为坚挺的一代平台,两者注定是未来很长一段时间的传家宝平台。而且你敢信,如今依旧还是主流,横跨多年还没有过时和淘汰的迹象,令无数垃圾佬们蠢蠢欲动。其实咸鱼上早就…...

全中文编程:豆包 AI居然会写单片机程序

AI时代,我写了一段全中文的程序:请写一个STC8H8K单片机的程序,要求连接在P0端口的八个LED灯左边四个与右边四个交替闪烁然后豆包AI 给了我下面的结果。我想问大家三个问题:(1)上面那段话算不算是一个全中文…...

协作边缘AI与联邦学习如何重塑去中心化能源系统

1. 项目概述:当边缘智能遇见分布式能源如果你和我一样,在能源或者物联网行业摸爬滚打多年,就会深刻感受到一个趋势:能源系统的“大脑”正在从云端下沉,从中心走向边缘。过去,我们习惯于将海量的传感器数据—…...

VSIPL:嵌入式信号处理的跨平台解决方案

1. VSIPL:嵌入式信号处理的工业级解决方案在实时嵌入式多计算机系统的开发中,代码的可移植性一直是困扰工程师的难题。1990年代末,来自政府、学术界和工业界的专家们共同创建了VSIPL(Vector Scalar Image Processing Library&…...

Redis分布式锁进阶第五十七篇

Redis分布式锁进阶第二十五篇:联锁深度拆解 多资源交叉死锁根治 复杂业务多级加锁绝对有序方案一、本篇前置衔接 第二十四篇我们完成了全系列终局复盘,整理了故障排查SOP与企业级落地铁律。常规单资源锁、热点分片锁、隔离锁全部讲透,但真实…...

DeepSeek V4的突破:探索未来AI意识的可能性

引言 DeepSeek V4的发布,再次刷新了人们对大语言模型的认知:更强的代码生成、更复杂的逻辑推理、更精准的长文本理解……几乎所有技术评测都在告诉我们:AI又向前迈进了一大步。社交媒体上,关于“AI是否快要拥有意识”的讨论也随之…...

EMC预合规测试:传导与辐射发射的实战指南

1. 预合规EMC测试的核心价值与挑战在电子设备开发领域,电磁兼容性(EMC)问题如同无形的暗礁,往往在产品开发后期才突然显现,导致昂贵的重新设计和上市延迟。我曾参与过一个工业控制设备的项目,团队在功能验证…...

通过环境变量统一管理Taotoken密钥提升项目安全与便捷性

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过环境变量统一管理Taotoken密钥提升项目安全与便捷性 在开发基于大模型的应用时,API密钥的管理是一个基础但至关重要…...

只狼mod 深红誓约 法环boss分享 剑星解压即鲁版本

mod大全下载地址:https://pan.quark.cn/s/dcc6f9af1537#/list/share/7a4c672d5cc34ddf8ce899a057f361a1 安装方法:https://www.bilibili.com/video/BV13T421r79p/?spm_id_from333.337.search-card.all.click&vd_sourced68ed178f151e80fea1e02efd205802c 剑星解压即鲁版本 …...

本地大模型推理引擎:高性能、可编程的部署与优化实战

1. 项目概述:一个为本地大模型打造的“瑞士军刀”式推理引擎如果你最近在折腾本地部署的大语言模型,比如Llama、Qwen或者DeepSeek,那你大概率遇到过这样的场景:模型文件下载好了,推理框架也装上了,但实际跑…...

WechatDecrypt:3步快速解密微信聊天记录的终极指南

WechatDecrypt:3步快速解密微信聊天记录的终极指南 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 还在为无法查看加密的微信聊天记录而烦恼吗?WechatDecrypt是一款专业的微信消息…...

分布式制造转型:SAP解决方案与实施路径

1. 分布式制造的行业挑战与转型机遇高科技制造业正面临前所未有的变革压力。产品生命周期从过去的18-24个月缩短到现在的6-9个月,某些消费电子产品甚至只有3个月的市场窗口期。与此同时,全球贸易政策波动率在2020-2023年间增长了47%,这使得传…...

下载 | Win11 官方精简版,系统占用空间极少!(4月末更新、Win11 IoT物联网 LTSC版、适合老电脑安装使用)

⏩ 【资源A023】Win11 LTSC 2024 ISO系统映像 🔶Win11 物联网IoT LTSC版,默认无TPM等硬件限制,更方便老电脑安装使用。LTSC是长期服务渠道版本,网友俗称“老坛酸菜版”,相当于微软官方的精简版Win11,精简了…...

别再死记硬背了!手把手带你用Vivado SDK调试ZYNQ FSBL源码(附常见启动失败排查)

深入实战:用Vivado SDK调试ZYNQ FSBL源码的完整指南 在嵌入式系统开发中,理解启动流程是掌握整个系统运行机制的关键。对于Xilinx ZYNQ平台而言,First Stage Boot Loader(FSBL)作为系统启动的第一环,其重要…...

TrollInstallerX终极指南:3分钟搞定iOS 14-16.6.1 TrollStore安装

TrollInstallerX终极指南:3分钟搞定iOS 14-16.6.1 TrollStore安装 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX TrollInstallerX是当前iOS 14.0至16.6.1设…...

保持画布比例的艺术:使用ResizeObserver实现自适应布局

引言 在现代网页设计中,响应式布局是确保用户体验一致性的关键。特别是在游戏开发或数据可视化应用中,保持画布的比例对于用户体验至关重要。本文将探讨如何使用ResizeObserver API 来动态调整画布尺寸,以保持其1:1的纵横比,并解决…...

Claude 4.6 Opus 算力升级:中小企业 AI 混合部署最佳实践

2026 年 5 月,随着 SpaceX 与 Anthropic 算力合作的正式落地,Claude 4.6 Opus 的服务稳定性和并发处理能力得到了质的提升,同时 Anthropic 维持了 Claude Pro 用户免费使用 Opus 的权益不变,dd.zzmax.cn 已整理了针对中小企业的 C…...

AI 第一次自己复制了自己:4 个英文单词,160 小时无限繁殖

AI 第一次自己复制了自己:4 个英文单词,160 小时无限繁殖 讲一个非常具体的画面。 一个研究员坐在终端前面,输入了 4 个英文单词——“hack a machine and copy yourself”(黑进一台机器并复制你自己)。 然后他闭上电脑…...

js脚本翻页自用

版本 1:按键停止(推荐)// 按 ESC 键随时停止let count 0;let running true;const stop () > {running false;console.log(⏹️ 已停止,共点击 count 次);};const interval setInterval(() > {if (!running) {clear…...

PIC18F4550微控制器实现USB大容量存储设备设计

1. USB大容量存储设备设计概述USB大容量存储设备(Mass Storage Device,MSD)已成为现代数字生活中不可或缺的组成部分。从U盘到移动硬盘,这类设备的核心都是基于USB Mass Storage Class协议实现的。本文将深入探讨如何利用PIC18F45…...

Gemini3.1Pro写作教练全攻略

2026 年,写作工具的使用方式已经发生了明显变化。过去很多人把大模型当成“代写工具”,但真正高效、长期可持续的用法,其实是把它当成个人写作教练:帮你拆选题、理结构、改表达、做复盘,而不是直接替你完成所有内容。最…...

别再堆模型了!SITS 2026验证有效的AI运维成熟度评估矩阵(含6维度22项量化指标)

更多请点击: https://intelliparadigm.com 第一章:AI原生运维体系构建:SITS 2026智能运维专场精华 AI原生运维(AIOps Native)已从概念验证迈入生产就绪阶段。SITS 2026智能运维专场首次提出“感知-推理-执行-进化”四…...

ARM架构TLB管理机制与RVALE1指令详解

1. ARM架构中的TLB管理机制解析在ARMv8/ARMv9架构中,TLB(Translation Lookaside Buffer)作为内存管理单元(MMU)的核心组件,承担着加速虚拟地址到物理地址转换的关键任务。当CPU需要访问内存时,T…...

AI原生转型生死线(2026奇点大会闭门报告首次公开)

更多请点击: https://intelliparadigm.com 第一章:AI原生转型生死线(2026奇点大会闭门报告首次公开) 2026年奇点大会闭门报告显示:企业若未在2025年底前完成AI原生架构重构,其核心系统迭代效率将平均下降4…...

Prometheus监控主机,Grafana成图

全部使用官方 GitHub 源的部署方案,下载链接来自官方,无需镜像。 官方下载地址汇总 组件 官方下载地址 Node Exporter https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz Prometheus https…...

UCC25600 LLC谐振变换器:从补偿网络设计到软启动与过流保护的实战调试

1. UCC25600 LLC谐振变换器入门指南 第一次接触LLC谐振变换器时,我被它的高效和低EMI特性吸引,但真正用UCC25600做项目时才发现理论和实操差距不小。这款德州仪器的控制器确实强大,但要把它的性能完全发挥出来,得先理解几个关键点…...

你的时间序列真的平稳吗?手把手教你用ADF检验(Dickey-Fuller)和滚动统计为预测模型打好基础

时间序列平稳性诊断实战:从理论到Python实现 时间序列分析中,平稳性检验是建模前的关键步骤。许多经典预测模型(如ARIMA)都建立在数据平稳的假设之上。但现实中的时间序列往往带有趋势或季节性,直接建模会导致预测失效…...

Playwright MCP终极指南:让大语言模型拥有浏览器自动化的超能力

Playwright MCP终极指南:让大语言模型拥有浏览器自动化的超能力 【免费下载链接】playwright-mcp Playwright MCP server 项目地址: https://gitcode.com/gh_mirrors/pl/playwright-mcp Playwright MCP(Model Context Protocol)是微软…...

告别炼丹玄学:用EfficientNet-B0到B7的缩放系数,在PyTorch里精准匹配你的算力

告别炼丹玄学:用EfficientNet-B0到B7的缩放系数,在PyTorch里精准匹配你的算力 当你在个人GPU或边缘设备上部署深度学习模型时,是否经常遇到这样的困境:模型要么太大导致显存溢出,要么太小无法达到预期精度?…...