荣获2015微软.NET MVP称号!

引子

2015.7.2 早晨上班,得知获得微软2015年 .NET MVP.

确确实实的,小小激动了一个上午!

  • 终于可以使用正版Visual Studio 软件了
  • 终于可以使用正版Office软件了
  • 终于可以使用正版Windows 操作系统了。
    12天后,从微软美国总部快递到西安的MVP证书和奖杯到了:

image

 

image

而此刻,距离我离开市场团队,重返研发团队,刚1个月。

 

故,些许心得和感想,一并成文:

      记得刚入行做.net开发,那个时候MVP的含金量很高,对找工作具有非常关键的加分项。故,很多年,我个人一直对MVP非常的敬仰,没有想到多年后,我竟然申请通过了。周围一个朋友(原来也是资深.NET, 目前转行做Android了,他说“没有想到,我身边也有1个MVP啊,哈哈。”)。— 可惜的是,目前的环境下,找工作,MVP貌似已经过气了 微笑

 

以往做.net开发的点点滴滴,请参见前年写过3篇总结的博客:

我新的工作,虽然不是专门开发微软平台的技术,但也会使用微软的Visual Studio 2013开发工具, C#.NET编程语言,故,微软相关的技术,依旧会占我日常约50%比重。

    新的工作,和以前的业务截然不同,但是软件开发的流程和理念是可以复用的,如同《士兵突击》里面说的,对于一个士兵而言,“上膛、瞄准、射击”,这些深入骨髓的东西,是不会忘的,唯一不同的是当年新入行,周围80年的人多; 而如今,85后已经担当主力,紧随其后的90后已经崭露头角了。
      下面就最近几个月非技术的一些思考,分享出来:

     

    团队分拨

    在IT团队,无论大小,按照日程工作对内、对外的主要沟通方式、工作地点等,可分服务团队和研发团队。

    image

    • 服务团队:含市场、销售、运营、服务、工程岗位,主要是对外沟通,必要时候需要定点驻守用户现场。
    • 研发团队:含软件开发、需求、测试、美工等岗位,主要是对内沟通,一般集中在总部办公。
      我过去的工作经历,大部分经验是在研发团队养成的,故内部沟通多一些,而对非研发的团队了解的少一些,有时候交流中不够耐心,对服务岗位颇有不解。而去年在市场、服务团队工作1年多,结合实战经验–和用户直接沟通多次后才发现,服务团队,更要有胸怀和忍耐力. 一个曾经在服务的同事自嘲—“用户虐我千百遍,我待用户如初恋”。  服务团队工作性质,可见一斑。
      研发团队中,尤以软件开发团队的程序员最桀骜难驯,年纪轻轻的,年薪10万的比比皆是,且业内猎头虎视眈眈,故靠谱的程序员很难管理和沟通,不过,也有一些法则能够“无冕则王”—只要你技能过硬、勇担重任,则往往威望会升的很快。

      研发的流程

      研发团队的多个工种,虽然日常工作共处一地,但是细细说来,也破费笔墨的。

      对软件角色而言,输入是美术提供的素材、需求的文档、以及自己的技能灵感。产出则比较简单,一个可运行的软件,文档是辅助产出。

      对需求角色而言,输入是用户的需求,(有时候是甲方的合同和规范),主要产出物为需求文档,

      image

       

       

      下面这个流程是我依据实际项目裁剪的,少了很多环节。

      其中最最重要的是使得项目干系人沟通、沟通、沟通,从而为产出一个可运行的软件万众一心。

       

      image

       

      可能对2、3个人的小作坊而言,流程不是很重要;但是要开个大店,想往大的做,越早的梳理流程,且日积月累,这个将来会增值的。

       

      记得早期刚入行那会,3~5个人开发,原型产品是国外知名的软件,我们就“山寨”之,照猫画虎,开始一个阶段忙的很,后来大部分时间不忙,就穷开心的搞框架、重构代码,如Chat视图,我记得我自己都手刃了7个不同的版本,学到了非常多的设计、框架的知识,影响至今。个人技能虽然增加了不少,但对组织而言,却很少有组织财富,因为那个时候大家的共识—对小团队而言,流程这玩意很鸡肋。

      而后,团队规模急速扩大了3倍,但是,文档模板没有,流程没有—准确的说,包括我在内的大部分人很“土包子”,不懂这些是何物。 故15个人做项目,还不如5个人做的好,做得挺不爽的:忙中有盲也。

      其后3年,公司关门了。

       

      研发的纪律

      image

       

      作为一名老程序员,再熟悉不过程序员的秉性了:看别人代码希望有详细的注释、自己写代码很少写注释。

      研发中的每项纪律,拿出来说事,都显得吹毛求疵一般,但是往往“千里之堤毁于蚁穴”—编码规范、研发流程、checklist等的忽视,导致基本问题日积月累,尾大不掉。

       

      最爱看的一部电影:《角斗士》带兵的一句重要的纪律是—“Hold the line, stay with me”.

      极为简洁,但很实用

      image

       

      附录:什么是微软MVP?

      MVP(Most Valuable Professionals,最有价值专家)是指具备一种或多种微软技术专业知识,并且积极参与在线或离线的社群活动,经常与其他专业人士分享知识和专业技能,受人尊敬、信任,而且平易近人的专家。微软对上述专家在技术社群专业贡献的一种正式认同。

      image

      MVP正是这样一群拥有丰富知识和实际经验并乐于分享所学知识的微软技术专家。他们不是微软的员工,但是非常乐于通过在线或离线社区的方式帮助技术人士。

      在全球90多个国家拥有接近4000多位最有价值专家,而中国大概有250位,这个是以一年为任期的人数,包括成功连任的和新当选的MVP人数,也称为活跃MVP人数,一年有4次申请MVP的机会,所以平均下来,在中国每一期MVP人数大概为50人左右(包括连任的新当选的)。

      10年微软MVP路(如何成为一个MVP?)

       

      为什么本次我能获得MVP?

      本次能获得MVP,充分肯定了技术积累+市场运作==好的产出

      第一部Windows Phone 8.1 手机(Lumia 630)使用一月总结

      参加联通的5.17活动(通信行业从业者都知道5月17号意味着什么),换购了一个诺基亚 Lumia 630手机,在Build 2014上介绍说,这个是Windows Phone 8.1第一批出厂的机器–千元级。

      怎么说呢,有喜有忧。下面简单分析:

      喜从何来:wp_ss_20140621_0001

      1. 999元的Lumia 630,性价比比较好,这一点不失望。(我第一部智能机是HTC G7,2011.1购买的)。
      2. 自带正版Office软件,尤其是配合Office 365,非常爽
      3. Bing的融合,如每日可更换手机图片,非常酷。

       

       

       

      忧心忡忡:

      1. 周围人群的不解-你竟然用千元的WP的手机wp_ss_20140622_0001,WP用户基数低
      2. “正在恢复”。每日,你总是要遇见几个这样的字样
      3. 拨打电话,默认的拨打电话功能,例如你要给“小米”拨打,需要切换3个界面;Andoird再菜,2个界面也能搞定的。

              回顾去年我翻译的Windows Phone和Android对比的文章,我在猜想,当时我可能对HTC G7手机无法与时俱进的升级新的手机操作系统有点厌烦,才有翻译这篇文章的动机吧:

              [译] 开发者角度,王道之论:Android 与 Windows Phone

               

              未来2~3年,给WP 的机会不多,下面有几点革命性的策略,或许可拯救WP阵营:

              • Windows 9和WP9 2个平台足以,且要极力互通互动
              • Windows 9 开始免费道路,结合WP的免费,将会极大引领移动互联网时代(Win 8的普及率太低)
              • 加大力度发展Office 365和Bing,相比WP而言,前2者更有机会和优势,更符合互联网服务盈利模式些
              • 大力扶植WP App生态圈,不使用WP手机,你不会不知道生态圈缺失的重要性。例如常用的微信、微博、百度、***应用,WP要不没有,要不比Android要差1~2个版本的功能。

              我感叹,幸亏没有购买3000+以上的WP手机,要不心疼坏了。

              Build 2014摘录:移动、云

              微软在三藩市举行了 2014 年度 Build 大会。这一届 Build 大会太受注视——因为在2013 年,诺基亚被微软收购了,代表了微软要在移动领域发起摩拳擦掌之势。

              • 语音助手 Cortana
              • Windows Phone 8.1正式发布
              • 9″ 以下的 Windows 平板、手机机型,Windows 与 Windows Phone系统授权免费
              • 企业市场(桌面、移动端):未来发力的黑马。
              • Lumia930和630
              • Xbox、Kinect V2 for Windows
              • Universal Windows Apps
              • DirectX 12
              • NET Native:Project N”的项目 怀疑? 真的能编译得和C++一样吗?
              • Windows 跨平台应用开发:Xamarin
              • Windows 8.1 Update1: 开始菜单回归
              • WinJS开源
              • Visual Studio 2013 update 2 RC更新
              • 新版物联网Windows免费发布

              新的CEO纳德拉看起来还比较给力。 顺便赞一个,关注微软的生态媒体,报道的非常及时和全面。

              [译] 开发者角度,王道之论:Android 与 Windows Phone

              前几天,在codeproject搜索Silverlight资料,偶然看到这篇文章,耐心读了2遍,非常不错:文章通过访谈聊天形式叙述,2位主角目前在《斯法克斯国家工程学院》软件学院上学。

              周五晚上,我给作者Houssem Dellai发gmail,咨询能否授权我翻译为中文,并发布。 3个小时后,他很爽快的回邮件说没有问题,给我一个原文链接就行。

              英文原文地址: Android vs Windows Phone

              ———————————————————————————————————————————

              作者目前在突尼斯,属于非洲北部一个小国家,人口1000万左右,约西安市人口的规模。

              自我介绍

              大家好,我是Houssem Dellai: 一名Windows Phone 开发者(译:他曾多次参加突尼斯Windows Phone编程挑战赛并屡屡获奖,且已获得微软Windows 8认证)。我身边的这位是我的同学Zied Jaballah: 他是Android 开发者 (译: 他已有3年Android开发经验).

              我们一起曾在droidcon conference in tunis中做了一个session分享:从开发者的视角分别就Android和Windows Phone移动终端开发平台的几个方面问答。

              Android和Windows Phone PK:

              首先,我们通过应用商店,即一个移动终端开发者如何挣钱这个话题展开讨论;紧接着又讨论了手机终端支持情况。 然后,对IDE集成开发环境进行了分析: Visual Studio和Eclipse. 再然后,讨论了开发者最关注的模拟器。最后,我们又讨论了Google和微软对UI设计的规范要求。 结尾部分,又聊了一下平板电脑的话题。

              1 – 应用商店

              Houssem: 首先,让我们从应用商店开始讨论吧,看看Google为开发者做了些什么?

              Zied: Google的应用商店叫 Google Play, 目前包含了近百万的app应用, 全球下载次数超过250亿次以上。那么,Houssem, 微软应用商店的情况如何?

              Houssem: Windows Phone 应用商店目前有超过13万应用app. 虽然在数量远远不如Android商店的庞大, 但是,你可以找到你需要的所有应用app程序。

              Zied: 开发者如要在google商店发布Android应用, 首先需要拥有一个 Google Play账号,申请注册费用为25刀。 那么,开发者申请一个微软的商店账号,需要多少钱?

              Houssem: 在微软商店发布应用,有2类不同账号:开发者账号,需要49刀;还有一个是企业账号,需要99刀的费用。

              Zied: 为了在Googe Play商店发布你的应用,你必须要通过Google的验证审核,这个过程很快,大约需要15到30分钟。 那么, 微软的应用审核策略呢?

              Houssem: 微软商店的审核大约需要5天时间。 如果你的app被拒绝,你同样会受到一个审核错误报告,微软会告之你如何改进。 Zied! 我注意到你的PPT中提到了’恶意软件’ ?!!

              Zied: 是的, 这不是笔误。Google play商店良莠不齐,有很多恶意软件, 这个可能是因为审核过程过快,且 Android开发者群体数量庞大导致的。 事实上,google已经认识到这个问题的严重性,并且出了一个新政策,它参考了微软和苹果的做法,即通过应用的使用反馈情况来代替审核制度,如:Google允许你发布你的应用app, 然后它会扫描app是否属于恶意软件。 在今年2月,Google创记录的从应用商店下架了6万款应用程序。

              Houssem: 感谢上帝,在Windows Phone商店,你不会受到恶意软件侵扰,她值得信赖。

              2 – 手机终端

              Zied: Ok, 我们现在讨论手机终端吧。你知道Android阵营拥有数量庞大的终端吗? 这些是为数众多的手机厂商生产的,如我们耳熟能详的三星、LG、摩托罗拉等。(译:还包括HTC和华为、中兴) 这些手机终端,纵横了低端、中端、高端市场的不同的用户需求。那么Windows Phone手机的情况如何?

              Houssem: 拥抱Windows Phone的手机厂商有诺基亚、三星、HTC、LG等等(译:还包括华为、中兴)。微软出于想给消费者以最佳体验品质,故对硬件比较挑剔, 所以,目前市场上的终端的售价都较高。

              3 – 集成开发环境(IDE)

              Houssem: 截止现在,我们讨论应用商店和手机终端, 下面接着讨论一下集成开发环境(IDE)吧。为了开发Windows Phone 8程序,你需要安装Visual Studio 2012,如免费的Express版。 那么Zied, 谈谈Eclipse吧?

              Zied: Eclipse是Android程序员使用最多的IDE,免费且开源。呵呵,最重要的是,它没有太多的需求。( Zied望着Houssem乐了一下 😛 ).

              Houssem: 对于要通过VS 2012来开发WP8应用程序,确实对运行环境比较挑剔,或者说稍微有点困难吧。如,VS 2012要求操作系统和硬件必须达到最低配置:硬件需要支持能够安装虚拟环境; 操作系统的要求是Win 8 专业版或者企业版,Basic版本不支持,更重要的是,要求Win8操作系统是64位的。

              Zied: 那么对你来说,能够满足WP8开发的必备条件, 你算是很幸运了。 但是, 对于Eclipse 来说,则更幸运:压根就不挑剔操作系统和硬件环境。 如,你只需要安装JVM虚拟机即可。事实上,只要能够安装JVM虚拟机,程序员可以在Windows、Mac、Linux等任何操作系统下用Eclipse开发Android应用程序。

              Houssem: 众所周知,Visual Studio给程序员非常爽的体验,如:调试源码很容易、高效的编程能力、定位错方便误、修复问题非常快等等优势。

              Zied: Houssem,在调试源码这一点上你获胜了, Visual Studio的的确确在调试上把Eclipse远远甩在后面。 但是,我更喜欢Ecipse数量众多的插件,通过这些插件的配合,你可以做得更出色。那么,VS有插件吗?

              Houssem: 插件,Visual Studio当然有啦! VS也有大量的插件,且这些插件大部分开源。 你可以通过VS来搜索不同的插件,安装或升级来扩展Visual Studio的IDE。

              4 – 模拟器

              Houssem: Ok, 我们接着讨论下一个开发者关注的话题:模拟器.

              Zied: Android 模拟器运行的不够快,我周围的很多开发者都饱受其害。但是,Google 对一些新机器,通过类似快照技术加速,目前看效果还不错。 如,这里还有一个模拟器开源项目Android x80, 其运行效率非常高,或许是Google模拟器的可选方案之一吧。让我们看看,微软为开发者在模拟器方面做了些什么?

              Houssem: Windows Phone 模拟器运行效率非常高。她采用了hyper-v作为虚拟化环境,所以响应很及时。

              5 – UI设计

              Zied: Ok, 对比WP8的模拟器,Android确实显得力不从心。那么,微软的UI设计方面的支持情况如何呢?

              Houssem: 呵呵, 我很欣赏你的坦率。Windows8采用了一种叫做现代UI设计的新的图形风格。它基于“内容胜过形式”的思路,这也意味着,编程开发者只需要把心思放在编码逻辑上,而不用太多注意主题、颜色、外形等。 这种UI设计有其严格的设计规范,但也有一些可复用的模板和控件,故UI可以被做的很漂亮。 如,作为WP8的程序员或者美工,你将会通过微软的expression Blend设计工具的做出最佳视觉效果。 Blend是一个IDE,专门为美工而生,即美工不用安装VS 这种程序员专属的IDE。 当程序员熟悉这些规则后,他将在一开始的时候不用美工。等程序demo成型后,在考虑美工介入提升UI设计、美化等。

              Zied: 在Android这一侧,设计是程序员较头痛的一件事情。 你不得不写大量的XML去调整UI,拖拽的方式调试UI元素效果往往不好。 但是,一旦你精通XML的设计模式,则会爽翻天。Google也有自己的设计规范,只是没有微软这么严格罢了。

              截止目前,我们讨论应用商店、IDE、设计规范、手机终端。 下面讨论一下平台电脑情况吧。

              6 – 平板电脑

              Houssem: Windows tablet平台没有运行WP的操作系统,它运行的是Windows RT,这是一种轻量级的Windows 8操作系统,专为平板电脑设计: 不能运行.exe程序, 仅只能运行Windows商店里面应用程序。但是,另外一种叫做Surface Pro平板可以运行
              windows 8操作系统和.exe程序。

              我猜测WP8有80%的API和Windows8 API相同。故,你可以很容易的在WP8和Windows 8之间共享代码。

              Zied: Android操作系统不仅可运行在手机终端,也可以运行在平板电脑。从Android 3.0开始, Google新增了专门为大尺寸屏幕设计的API,故你可以开发专门适用于平板电脑的应用。其平板应用程序使用起来效果非常好。

              总结

              一般而言,这种讨论无法一决雌雄。某些方面,Windows Phone占据优势, 另外一方面说,Android获得胜利。至于谁是王者,这取决于你选择采用哪个平台,选择权在你。