[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-useful-annual-review-en":3,"blog-adjacent-useful-annual-review-en":30,"blog-related-useful-annual-review-en":65},{"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},106,"useful-annual-review","An Annual Review Worth Writing","An annual review should not be a log. It should answer one question: where did you get stronger?","\u003Cp>For years our reviews were project lists: what you joined, what you achieved. They did little for growth. We gradually settled on a more useful structure, and everyone follows it now.\u003C\u002Fp>\n\u003Ch2>Four sections\u003C\u002Fh2>\n\u003Cp>What you shipped: no more than five items, focused on outcome and impact rather than process.\u003C\u002Fp>\n\u003Cp>What you learned: concrete shifts in skill, method or perspective, ideally with an example.\u003C\u002Fp>\n\u003Cp>What you got wrong: at least one, with cost and correction. A review without mistakes means reflection has not started.\u003C\u002Fp>\n\u003Cp>Who you want to become next year: one capability or role, specific enough to act on.\u003C\u002Fp>\n\u003Ch2>How managers use it\u003C\u002Fh2>\n\u003Cp>Read every review and discuss parts three and four in the meeting, not numbers.\u003C\u002Fp>\n\u003Cp>Aggregate common asks into team plans: if several people want architecture exposure, arrange the talks and projects.\u003C\u002Fp>\n\u003Cp>Archive reviews and reopen last year&#39;s before writing; count what actually happened.\u003C\u002Fp>\n\u003Cp>An annual review matters less for looking back than for choosing where the next year of time goes. Write it honestly and it repays the hours.\u003C\u002Fp>","","teal","佳益方圆团队","2026-03-21T10:41:00+08:00",1,false,[16,17,18],"Team Culture","Annual Review","Growth",{"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","Team and Culture","Company events, tech sharing, team building and hiring culture that show the daily life of the Jiayifangyuan team.","users","blue","article",30,{},{"previous":31,"next":49},{"id":32,"slug":33,"title":34,"excerpt":35,"content":9,"cover":9,"tone":36,"author":11,"publishedAt":37,"updatedAt":37,"readingMinutes":13,"featured":14,"tags":38,"category":42},87,"multilingual-site-retro","Retrospective: Translation Is Not Copy-Paste","After the English site launched, overseas visitors said they did not understand it. The problem was the content, not the language.","indigo","2026-03-23T10:41:00+08:00",[39,40,41],"Retrospective","Multilingual","Export",{"id":43,"parentId":21,"slug":44,"name":45,"description":46,"icon":47,"cover":9,"tone":26,"kind":27,"sortOrder":48,"count":21},3,"project-retrospective","Project Retrospectives","Real project records from zero to one, covering problems, solutions, lessons learned and final outcomes.","clipboard-check",40,{"id":50,"slug":51,"title":52,"excerpt":53,"content":9,"cover":9,"tone":10,"author":11,"publishedAt":54,"updatedAt":54,"readingMinutes":13,"featured":14,"tags":55,"category":59},125,"edtech-procurement","Education Procurement: Buyers Who Cannot Specify","The hardest part of school software procurement is not the budget but articulating the real need.","2026-03-19T10:41:00+08:00",[56,57,58],"Industry Watch","Education","Procurement",{"id":60,"parentId":21,"slug":61,"name":56,"description":62,"icon":63,"cover":9,"tone":26,"kind":27,"sortOrder":64,"count":21},5,"industry-watch","In-depth analysis of internet, software and digital industry trends with our own point of view.","globe",20,[66,75,86],{"id":67,"slug":68,"title":69,"excerpt":70,"content":9,"cover":9,"tone":26,"author":11,"publishedAt":71,"updatedAt":71,"readingMinutes":13,"featured":14,"tags":72,"category":74},89,"thirty-minute-weekly","The Thirty-Minute Weekly Share","No new technology, no industry trends. Just the pitfalls of the week and how they were solved.","2026-10-11T09:00:00+08:00",[16,73,18],"Knowledge Sharing",{"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","What Code Review Is Really For","Review is not fault-finding. It is letting another mind walk through your code.","cyan","2026-09-29T10:13:00+08:00",[16,83,84],"Code Review","Engineering Practice",{"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","Documents Start With Templates","People avoid writing docs mostly because they do not know where to start. A template solves most of it.","2026-09-17T11:26:00+08:00",[16,93,94],"Documentation","Knowledge Management",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":26,"kind":27,"sortOrder":28,"count":21}]