[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-who-joins-client-visits-zh-CN":3,"blog-adjacent-who-joins-client-visits-zh-CN":30,"blog-related-who-joins-client-visits-zh-CN":64},{"id":4,"slug":5,"title":6,"excerpt":7,"content":8,"cover":9,"tone":10,"author":11,"publishedAt":12,"updatedAt":12,"readingMinutes":13,"featured":14,"tags":15,"category":19,"seoSettings":29},101,"who-joins-client-visits","谁该去见客户","不是只有销售和项目经理能见客户，开发者见客户的价值被低估了。","\u003Cp>我们做过对比：同一个需求，客户口头描述转两层传到开发，偏差率相当高。后来推行一个做法，开发者在项目关键节点直接参与客户沟通，返工明显减少。\u003C\u002Fp>\n\u003Ch2>三个必须见客户的时点\u003C\u002Fh2>\n\u003Cp>需求调研阶段。开发者直接听客户讲业务，听得懂哪些话是客套，哪些是真实痛点。\u003C\u002Fp>\n\u003Cp>方案演示阶段。客户对界面和流程的第一反应，开发者比任何人都需要看到。\u003C\u002Fp>\n\u003Cp>上线后回访。听到真实的抱怨和意外的好评，比看报表更能校准判断。\u003C\u002Fp>\n\u003Ch2>去了之后做什么\u003C\u002Fh2>\n\u003Cp>不发言也可以，重点是观察和记录。客户打开系统时的动作顺序，往往和设计假设不同。\u003C\u002Fp>\n\u003Cp>在现场问清边界条件：数据量有多大、网络环境怎么样、谁在用、出错会怎样。\u003C\u002Fp>\n\u003Cp>回来后半天内写纪要点，趁记忆新鲜，发给项目组。\u003C\u002Fp>\n\u003Cp>让写代码的人亲耳听到问题，比任何需求文档的转述都准确。见客户的成本，远低于理解错需求的成本。\u003C\u002Fp>","","teal","佳益方圆团队","2026-05-20T13:36:00+08:00",1,false,[16,17,18],"团队文化","客户沟通","需求",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21},4,0,"team-culture","团队动态","公司活动、技术分享、团建与招聘文化，了解佳益方圆团队的日常。","users","blue","article",30,{},{"previous":31,"next":48},{"id":32,"slug":33,"title":34,"excerpt":35,"content":9,"cover":9,"tone":10,"author":11,"publishedAt":36,"updatedAt":36,"readingMinutes":13,"featured":14,"tags":37,"category":41},82,"migration-three-runs","数据迁移复盘：十万条数据的三次重跑","第一次跑出错，第二次跑对不上数，第三次才通过。每次失败都暴露了不同的问题。","2026-05-22T13:36:00+08:00",[38,39,40],"复盘","数据迁移","老系统",{"id":42,"parentId":21,"slug":43,"name":44,"description":45,"icon":46,"cover":9,"tone":26,"kind":27,"sortOrder":47,"count":21},3,"project-retrospective","项目复盘","从 0 到 1 的真实项目记录，完整呈现问题、方案、踩坑经验与最终结果。","clipboard-check",40,{"id":49,"slug":50,"title":51,"excerpt":52,"content":9,"cover":9,"tone":10,"author":11,"publishedAt":53,"updatedAt":53,"readingMinutes":13,"featured":14,"tags":54,"category":58},120,"domestic-database-migration","国产数据库迁移的观察","迁移本身不难，难的是迁移之后三年的稳定运行。","2026-05-18T13:36:00+08:00",[55,56,57],"行业观察","数据库","迁移",{"id":59,"parentId":21,"slug":60,"name":55,"description":61,"icon":62,"cover":9,"tone":26,"kind":27,"sortOrder":63,"count":21},5,"industry-watch","对互联网、软件与数字化行业趋势的深度分析，输出团队自己的判断。","globe",20,[65,75,86],{"id":66,"slug":67,"title":68,"excerpt":69,"content":9,"cover":9,"tone":26,"author":11,"publishedAt":70,"updatedAt":70,"readingMinutes":13,"featured":14,"tags":71,"category":74},89,"thirty-minute-weekly","每周三十分钟的技术分享会","不讲新技术，不讲行业趋势，只讲这周踩过的坑和解决方式。","2026-10-11T09:00:00+08:00",[16,72,73],"技术分享","成长",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21},{"id":76,"slug":77,"title":78,"excerpt":79,"content":9,"cover":9,"tone":80,"author":11,"publishedAt":81,"updatedAt":81,"readingMinutes":13,"featured":14,"tags":82,"category":85},90,"what-code-review-is-for","代码评审是为了什么","评审不是找错，是让另一个人的脑子过一遍你的代码。","cyan","2026-09-29T10:13:00+08:00",[16,83,84],"代码评审","工程实践",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21},{"id":87,"slug":88,"title":89,"excerpt":90,"content":9,"cover":9,"tone":10,"author":11,"publishedAt":91,"updatedAt":91,"readingMinutes":13,"featured":14,"tags":92,"category":95},91,"docs-start-with-templates","文档从模板开始","没人愿意写文档，多半是因为不知道从哪写起。一张模板能解决大半问题。","2026-09-17T11:26:00+08:00",[16,93,94],"文档","知识管理",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21}]