22届微软MVP连任:一个.NET技术人的社区长跑
22届微软MVP连任:一个.NET技术人的社区长跑
一、老朋友又来敲门了#
2026年7月15日,一个普通的周二晚上11点,我的邮箱弹出一封来自雷德蒙德的邮件。
标题很简洁:"You've been accepted to the Microsoft MVP Program!" 下面跟着一行小字——"Developer Technologies - .NET"。我盯着屏幕看了三秒钟,然后笑了。
这不是激动,是一种"老朋友又来敲门"的亲切感。
第22次。从2006年第一次拿到这个蓝色徽章算起,整整22年。微软的MVP计划每年重新评审,能连任一次不算难,能连任22次的人,在中国.NET圈子里,掰着手指头数得过来。
说真的,收到邮件的那一刻,我正在家里调试开源 OpenClaw.NET。老婆凑过来问"啥事这么乐",我说"又当了一年MVP",她愣了一下:"啊?您不是早就是了吗?"——你看,连身边人都觉得这是理所当然的。但只有我自己知道,这22年不是"自然延续",而是一场漫长的社区长跑。
二、22年,两个十年的跨度#
2006年,我第一次被授予.NET方向的微软最有价值专家。
那会儿我还在广州一家 公司做研发,.NET刚推出2.0版本,WebForm是主流,ASP.NET AJAX还是新鲜玩意儿。我在博客园写文章,纯粹是因为喜欢——喜欢那种把一个问题啃透、然后写下来分享的感觉。那时候博客园的阅读量过千就觉得自己是个"大V"了。
现在呢?2026年的.NET,早已经不是当年那个只跑在Windows上的框架了。
它跨平台、开源、云原生,和AI深度绑定。你用.NET可以写运���在Linux容器里的微服务,可以训练机器学习模型,可以构建智能Agent。.NET 10(对,已经到10了)里的很多特性,放在二十年前简直是科幻小说。
而我,也从当年那个在博客园写WebForm教程的年轻人,变成了广州智用开物人工智能科技有限公司的CTO,带着团队在AI和.NET的交叉点上做产品。2001年从兰州大学数学系毕业的时候,我压根没想到自己会在这个技术生态里待这么久——22年,几乎占满了我整个职业生涯。
三、数字不会说谎#
刚才说到博客园。我上去看了一眼自己的主页——2307篇随笔,1390万阅读。
2307篇。不是2307条微博,是2307篇技术文章。平均每3.5天一篇,坚持了二十多年。早期是WebForm、ADO.NET,后来是MVC、Entity Framework,再后来是.NET Core、Docker、Kubernetes,到现在的AI、大模型、Agent框架。这些文章串联起来,几乎就是一部.NET技术的演进史。
还有一个数字:22年。它比我的婚姻还长(开玩笑的,我结婚更早),比很多程序员的整个职业生涯还长。微软的MVP计划里,有人来了又走,有人转行做了管理,有人彻底离开了技术圈。而我还在这里,还在写,还在社区里回答问题,还在公众号"dotNET跨平台"(opendotnet)里推送每一篇觉得有价值的文章。
有时候我会问自己:22年的MVP,到底意味着什么?
是一份荣誉吗?当然是。但更准确的说是——一种承诺。你接受了这个徽章,就默认你会继续分享、继续回答问题、继续在社区里做那个"比别人多走一步"的人。这不容易。尤其是在AI时代,信息爆炸,人人都可以让大模型生成一篇教程,社区的价值在哪里?技术人的坚持还有意义吗?
这些问题,我没有标准答案。
但我想用这篇文章,试着找找看。
四、技术长跑:22年间的.NET进化史#
说来奇怪,拿到第一次MVP时,我并不知道自己签下了一份22年的长约。
那是2006年,ASP.NET WebForm正如日中天。Drag & Drop一个按钮,双击写事件处理,Visual Studio 2005帮你把一切都包办好了。那时候我觉得,技术世界大概就是这样了——微软定义框架,我们负责学习和使用。简单,甚至有点安逸。
但真正改变我对"技术"和"社区"全部认知的,是2007年春天的西雅图。
那是我第一次参加MVP Global Summit,微软把全球几千名MVP请到总部。我记得走进Redmond园区那个巨大的会议厅时,腿都有点软。但更让我心跳加速的,是一场关于ASP.NET MVC框架的投票。
微软的人坐下来,认真问我们:你们想要什么?
我们投票,我们讨论,我们把意见写在纸上投进那个箱子里。几个月后,ASP.NET MVC Preview发布了。那一刻我突然明白:社区不是单向的接收者,社区的声音真的会被听见。 那一年比尔·盖茨亲临现场演讲,我挤在人群中远远地看着,心里想的是——这条路,我要继续走下去。
2009年到2014年,MVC从一个"备选方案"慢慢长成了ASP.NET的主流。
WebForm的Postback机制越来越显得笨重,而MVC的清晰分层让开发者终于能喘口气。与此同时,一个有意思的项目叫Mono,让.NET开始悄悄爬上Linux服务器。开源文化像一颗种子,在微软的围墙外面发了芽。
那几年我在博客园写了不少文章。有时候一篇关于ASP.NET MVC的教程能收到几十条评论,大家争论路由配置、讨论ViewEngine,吵得不可开交。现在回头看,那就是中国.NET社区最蓬勃、最热闹的年代。 我们一群人在网上互相掐架、互相学习,谁也没意识到自己在参与一场历史性的转折。
2014年,萨提亚·纳德拉上台了。
"Microsoft loves Linux." 这句话从他嘴里说出来的时候,很多人的下巴掉了。包括我。
然后.NET Core来了。开源、跨平台、高性能——这是.NET历史上最大的一次转身,没有之一。 我至今记得第一次把ASP.NET 5项目跑在MacBook上的感觉,那种陌生又熟悉的味道,像在老房子里发现了新房间。
从ASP.NET 5到.NET Core 1.0,再到2.x、3.x,我一步步把自己的项目从传统的Windows Server + IIS,迁到了Linux + Docker + K8s。过程并不轻松,有无数个夜晚对着报错信息发呆。但每一次迁移完成,看着应用在Linux上稳定运行时,心里都有一种说不出的畅快。
微软变了。真的变了。
2021年往后,.NET 5、6、7、8一路狂奔,统一平台的愿景越来越清晰。
而我自己,也从传统的.NET开发逐渐转向了另一个方向。现在我在ai4c担任CTO,专注AI基础设施。手边除了Visual Studio,还多了Python和一大堆大模型的API文档。前段时间启动了OpenClaw.NET开源项目,想把这些年积累的东西回馈给社区。
有时候我会想,22年前那个在WebForm里拖控件的小伙子,和今天这个在研究AI Agent架构的中年人,究竟有什么没变?
大概是那份对技术的好奇,还有对社区的归属感吧。
.NET的故事还在续写。而我,还在跑。
五、转折——MVP的真正意义#
去年在上海的一个.NET线下聚会上,有个小伙子端着啤酒过来问我:"老师,您连续20多年MVP,是不是因为您技术特别牛?"
我愣了一下,然后笑了。
我说实话:不是。
我见过太多技术比我强得多的人,代码写得跟诗一样优雅,架构图画得像艺术品,但他们不是MVP。反过来,我也见过技术"没那么硬核"的同行,写的文章平淡朴素,但帮几百个新人跨过了入行时那道坎——他们是MVP。
这就是很多人理解错的地方。微软MVP的评选标准从来不是"技术水平最高",而是"对社区贡献最大"。
技术牛,是你自己的事。帮别人成长,才是社区的事。
微软这套制度,聪明就聪明在这里——它不奖励自嗨,它激励分享。你的代码写得再漂亮,如果只是躺在私有的Git仓库里吃灰,对社区而言价值为零。但你把踩过的坑写出来,让十个、一百个人少走弯路,这个价值是实打实的。
所以从这个意义上说,MVP不是技术水平的勋章,而是分享精神的奖状。
那22年是怎么跑下来的?
其实答案特别简单,简单到有点"凡尔赛"——因为我从来没想过"保住"MVP。
我写过2307篇博客文章,不是因为"这个月必须写一篇来维持MVP资格",而是因为那天解决了一个棘手的问题,觉得"这个坑值得记录下来,万一有人也踩了呢"。我在Stack Overflow上回答问题,不是因为要凑贡献值,而是因为看到有人卡在一个我刚好懂的问题上,不回答心里痒痒。
说真的,如果你做分享的初心是为了"成为MVP",那你大概率成不了MVP。
评审委员们看的东西可比你想象的细——他们能分辨出一篇文章是真心想帮人,还是为了凑数。那种"为了写而写"的东西,文字里透着敷衍,明眼人一眼就能看出来。
而反过来,如果你真心喜欢分享、真心享受看到别人说"噢!原来是这样!"那一刻的表情,那MVP只是顺带的副产品,跟你在公司好好干活拿了年终奖没什么区别。
这说白了就是:我就是喜欢分享。 不是为了头衔,是真心想帮到人。
还有一个很多人没意识到的事——写一篇文章的过程,比自己看懂要难十倍。
你自己懂一个东西,和让别人也懂,完全是两回事。你自己脑子里那团模糊的概念,要梳理成有逻辑的结构,要找到合适的比喻,要预判读者可能在哪一步会卡住,要把一个复杂的东西拆成层层递进的台阶——这个过程,本身就是对你理解力的一次极限测试。
有多少次,我坐在电脑前准备写一篇"简单的教程",结果越写越发现"原来这个地方我自己也没完全搞懂",然后一头扎进去重新研究,两天后才恍然大悟。
博客园那2307篇文章?每一篇都是我自己的学习笔记。 写给你们看,更是写给我自己看。
说是教别人,其实自己学得更深。
最后说点扎心的。
软件工程师的知识半衰期,大约是三年。
什么意思?三年后的今天,你引以为傲的技术栈里,大概有一半已经过时了。那个你花三个月精通的前端框架,可能已经被新的方案取代了;那套你引以为傲的设计模式,可能在云原生的新范式里不再适用。
听起来很焦虑?我反倒觉得这是件好事。
正是因为知识会过期,你才不能停。停了,就真成了"老古董"。不停,你的头脑就永远是新鲜的。
回头看看这22年,从WebForm到AI Agent,哪一年不是在推倒重来、哪一年不是在重新学习?MVP的22年长跑,本质上就是一场持续学习的马拉松。 不是你跑得快,而是你一直没停下。
头衔是别人给的,但脑子里的东西是自己的。
这大概就是我这22年最大的领悟吧。
六、写在连任之后:下一个起点#
讲完这些,你可能以为我要收笔了。
恰恰相反。故事才刚开始。
现在我成了广州智用开物人工智能科技有限公司的CTO,带着一支团队在做AI基础设施。OpenClaw.NET开源生态、TokenHub、AxonHub,这些是我过去两年把主要精力砸进去的地方。
说来也挺有意思。干了22年.NET,现在代码交给了AI 写,做的更多的是决策。AI Agent架构画得比三层架构还顺手。
但.NET依然是我的核心阵地。Semantic Kernel/Microsoft Agent Framework 让.NET直接拥抱了大模型能力,.NET Aspire for AI把AI服务编排做得有模有样。微软还是那个微软,它总能在你担心"是不是要被淘汰了"的时候,递过来一张新船票。
"dotNET跨平台"这个公众号(opendotnet),我也一直在更。只是现在写的不再只是async/await的底层原理,还有.NET怎么和GPT-5对话、怎么用Blazor搭一个AI应用。
技术在变,我手里的键盘也在跟着变。
说到变,社区的变化可能比技术本身更大。
想当年在博客园写篇技术文章,底下能盖几十层评论楼,大家为一个设计模式争得面红耳赤。后来转到微信公众号,变成了"点赞在看转发"的静默互动。现在呢?AI时代来了,很多人连文章都懒得搜,直接问ChatGPT。
形式一直在变,但有一件事没变——人帮助人的精神。
AI能给你生成一段代码,但它给不了你"我踩过这个坑,坑里有三米深的水"这种经验。AI能告诉你DbContext怎么配置,但它不会讲"那个凌晨三点我在生产环境救火,最后发现是连接池泄漏"的故事。
技术人的价值,从来不在那些能搜索到的知识点里,而在那些"活"过的经验里。
这大概也是我还会继续写下去的原因。
所以,想跟正在看这篇文章的年轻技术人说几句——
别为头衔做事,为热爱做事。头衔是结果,不是目标。如果你做某件事的前提是"这能帮我评上XXX",那你从一开始就输了。
分享不是浪费时间。恰恰相反,分享是你学习效果最好的检验方式。 能用自己的话把一件事讲清楚,说明你真正懂了。
技术确实有半衰期,三年前的热门框架今天可能无人问津。但学习能力和分享精神,这两样东西永远不会过期。半衰期不可怕,可怕的是你停止学习的那一天,你的知识就永远定格了。
说完这些,该说谢谢了。
谢谢微软MVP计划这22年的陪伴。它不是我坚持下去的理由,但它是这段长跑路上最温暖的加油站。
谢谢博客园、CSDN、微信公众号这些平台。它们见证了一个技术写作者从青涩到油腻的全过程。
谢谢每一个读过我文章的人。谢谢你们点赞,也谢谢你们在评论区说我"写错了"——正是那些质疑和争论,让我不敢偷懒。
最后,谢谢我的家人。22年意味着无数个周末在写稿,无数个晚上对着电脑屏幕。她们从来没说过"你干这个图啥",只是在我写完之后问一句:"饿不饿?给你煮碗面?"
回到7月15日那天。
那封邮件还在我的收件箱里。我没有把它截图发朋友圈,也没有写一条"感谢组织"的状态。
我只是看了一眼窗外的阳光,然后打开了VS Code,继续写那篇没写完的OpenClaw.NET教程。
22年不是终点,是下一个起点。
MVP会变,.NET会变,连我自己手上的技术栈都在变。但分享这件事——帮那个深夜还在调Bug的人多睡两个小时这件事——永远值得。
下一个22年,我们继续聊。
关于作者
张善友(Shanyou Zhang),微软最有价值专家(MVP)-.NET方向,连续22年连任。现任智用开物CTO,专注AI基础设施与.NET跨平台开发。博客园2307篇随笔,1390万阅读。公众号:dotNET跨平台(opendotnet)。
评论