如何技术探索与实践?一个天通苑考公程序员的真实折腾史
上周五晚上十一点,我瘫在天通苑那张吱呀作响的二手宜家沙发上,左手端着一碗刚泡好的康师傅红烧牛肉面,右手还在敲键盘。老婆在卧室里喊:“你又加班到这么晚?不是说好今晚一起看《甄嬛传》重播吗?”
我头也不抬:“这不是加班,是在搞我的‘副业项目’——用 Aider 帮我把产品原型跑起来!”
她叹了口气:“又是那个什么 AI 工具?你都考公了还折腾这些干嘛?”
我说:“考公是退路,但技术不能丢啊。万一上岸失败,我还得靠代码吃饭。”
这话听起来有点丧,但确实是我过去一年最真实的写照。
一、从“躺平”到“焦虑”:一场突如其来的职业危机
事情得从去年十月说起。那时我在一家中型互联网公司做后端开发,月薪22k,房租3500(天通苑单间,离地铁站步行15分钟,别问,问就是性价比之王)。表面上看,生活稳定,实则内心早已草木皆兵。
起因是公司一轮裁员——不是裁我,而是裁掉了我们整个产品线的PM和两个前端。理由很官方:“业务调整,聚焦核心”。但私下聊天时,HR小王偷偷跟我说:“老板觉得你们这条线ROI太低,不如砍掉,省点云服务器钱。”
那一刻我突然意识到:技术再强,如果脱离产品思维,迟早会被当成“可替换零件”。
更糟的是,我发现自己已经半年没学新东西了。每天就是CRUD、改bug、开需求评审会。连GitHub都快长草了。某天刷知乎看到一篇《35岁程序员如何自救》,评论区一片哀嚎,我手抖得差点把手机摔进泡面桶里。
那天晚上,我跟老婆商量:“要不……我试试考公?”
她说:“你疯了?北京公务员报名人数动辄几千比一,你一个码农去卷行测申论?”
我说:“总比坐等被优化强吧。而且你看隔壁老李,去年上岸税务局,现在天天晒食堂饭菜,还不用写日报。”
她翻了个白眼:“那你白天备考,晚上别碰电脑了,早点睡。”
结果呢?我嘴上答应,身体却很诚实——越是焦虑,越想写代码。因为只有在敲键盘的时候,我才感觉自己“还有价值”。
二、Aider 出现:一个“懒人”的救星?
今年三月,我在V2EX上看到有人安利一个叫 Aider 的工具。描述很简单:“用自然语言驱动代码生成,支持Git集成,适合快速验证产品想法。”
我当时嗤之以鼻:“又是AI画饼?我见过太多‘革命性开发工具’最后变成玩具了。”
但架不住好奇心,还是下了个试用版。没想到,这一试,直接打开了新世界的大门。
事情的转折点发生在一个周三深夜。那天刚刷完一套行测题(错了12道,心态崩了),突然灵光一闪:能不能做个小程序,帮考公党自动整理错题本?
想法很简单:用户上传PDF真题,程序自动识别错题、归类知识点、生成复习计划。听起来像个小产品,但对我这种只会写API的人来说,前端+OCR+数据库全栈搞下来,至少得两周。
可那天,我用了 Aider。
我打开终端,输入:
aider --model gpt-4 --git-repo ./gongkao-helper "Create a Flask app that extracts wrong answers from PDF exam papers, categorizes them by subject (e.g., logic, math), and outputs a weekly review plan in Markdown."
不到十分钟,它给我生成了基础框架:Flask后端、PyPDF2解析、简单的分类逻辑,甚至还写了README和.gitignore。
当然,代码有bug——比如它把“图形推理”错误地归到了“言语理解”里。但关键在于,它让我从“想法”直接跳到了“可运行原型”,中间省去了80%的样板代码。
我兴奋得差点把泡面打翻。凌晨两点,我给这个项目起了个名字:GongKaoMate(考公搭子)。
三、从“玩具项目”到“真实产品”:技术探索的正确姿势
接下来一个月,我几乎每晚都在迭代 GongKaoMate。白天刷题,晚上coding。Aider 成了我的“影子搭档”——我不再需要记住所有库的API,只要描述清楚需求,它就能帮我生成骨架。
比如我想加个“错题趋势图”,就告诉 Aider:“Add a route /trend that shows a line chart of error rate over time using Chart.js.” 它不仅生成了前端图表代码,还贴心地建议我用 localStorage 缓存数据,避免频繁请求后端。
但真正让我意识到“技术探索”意义的,是一次意外反馈。
四月中旬,我把 GongKaoMate 的demo发到了一个考公QQ群里(群名:2025上岸突击队)。本来只是想求几个测试用户,结果有个叫“小雨”的姑娘私聊我:“这个太实用了!但我不会部署,能做成网页版吗?”
我愣住了。原来有人真的需要它。
于是,我咬牙花300块买了个阿里云学生机(备案三天,差点放弃),用 Nginx + Gunicorn 部署上线。还注册了个域名:gongkaomate.com(后来发现被人抢注了,只能用 .xyz 后缀,心痛)。
上线第一周,有47个UV。虽然不多,但每次看到后台日志里有人访问 /upload,我都激动得想截图发朋友圈——当然没敢发,怕被现公司发现“不务正业”。
更重要的是,这个项目逼我补上了很多短板:
- 为了优化PDF解析速度,我研究了多线程和异步IO;
- 为了防止滥用,我加了简单的Rate Limit;
- 为了用户体验,我第一次认真写了前端CSS(以前都是Bootstrap糊弄)。
技术探索,从来不是为了炫技,而是为了解决真实问题。而“产品思维”,就是那个把技术和用户连接起来的桥梁。
四、考公与编码:两条腿走路的生存哲学
现在是六月底,我刚结束北京市考笔试(行测68,申论估分65,希望进面)。同时,GongKaoMate 已经迭代到v0.8,GitHub有89个star(虽然大部分是我小号点的)。
有人问我:“你到底想干啥?考公还是继续当程序员?”
我的答案是:都要。
我知道很多人觉得“考公=放弃技术”,但我觉得恰恰相反——体制内现在极度缺懂数字化的人才。我看过不少岗位要求“熟悉Python/数据分析”,甚至有些单位在招“数字政府建设岗”。
而这段用 Aider 快速验证产品原型的经历,让我明白了一件事:技术人的核心竞争力,不是掌握多少框架,而是“把想法变成现实”的能力。
Aider 只是个工具,真正的价值在于它让我敢想敢试。以前觉得“做个产品好难”,现在觉得“先跑起来再说,不行再改”。
这种 mindset,无论是在互联网大厂,还是在未来的政务系统开发中,都极其珍贵。
五、给同样在挣扎的朋友几点建议
如果你也像我一样:
- 在职但焦虑
- 想转型但迷茫
- 爱技术但怕被淘汰
那么我的血泪经验或许对你有用:
从小项目开始,别追求完美。GongKaoMate 至今没有登录功能,数据存在本地,但它解决了真实痛点。MVP(最小可行产品)的核心是“可行”,不是“完美”。
善用工具,但别被工具绑架。Aider 能帮你写代码,但架构设计、产品逻辑还得你自己把控。它是个加速器,不是自动驾驶。
把技术探索和人生目标绑定。我做这个项目,既是为了练手,也是为了积累“数字化政务”相关的实践经验——万一上岸,这就是我的差异化优势。
允许自己“不纯粹”。我不是全职开发者,也不是全职考生。我是在夹缝中寻找可能性。这种“斜杠状态”很累,但也最真实。
结语:在不确定的时代,做一个“可运行的版本”
写这篇文章时,窗外天通苑的早高峰刚刚开始。楼下煎饼摊的吆喝声、地铁13号线的轰鸣、还有隔壁情侣的吵架声混在一起——这就是我的日常。
我不知道自己能不能上岸,也不知道 GongKaoMate 会不会有一天真的帮到成千上万的考生。但我知道,只要我还能写出可运行的代码,还能解决一个小问题,我就没被时代抛下。
技术探索与实践,从来不是宏大叙事。它可能只是一个深夜的灵感,一个 Aider 命令,一个简陋但能用的产品原型。
而我们要做的,就是不断把自己编译成一个“可运行的版本”——哪怕只是alpha版,也比永远停留在“构思阶段”强。
共勉。
(P.S. 如果你也想试试 GongKaoMate,GitHub搜“gongkaomate”就能找到。Star不重要,提issue我一定回——毕竟,这可能是我上岸前最后的作品了。)

评论 0