那些优秀的开发者----汪宇杰:从重视细节,到成就技术专家

汪宇杰(Edi Wang),.NET及Windows开发者,2018-2019年度微软最有价值专家(Windows Development方向)。现担任某金融科技企业的网站开发工程师。他对微软技术有鉴定的信念和不灭的热情,曾在Windows Phone及Windows 10应用商店发布过《上海轨道交通》、《描图》、《Character Map UWP》等几十款免费无广告应用,也使用ASP.NET构建了自己的个人博客。

初识汪宇杰



在长沙.NET技术社区筹建过程中,溪源有幸认识来自上海的MVP汪宇杰Edi Wang。在中国众多的微软MVP中,Edi Wang作为一名九零后,也是一位年轻而充满才气的开发者,或许他或许外表平(Ying)平(Jun)无(Xiao)奇(Sa),但是却没有走奶油小生的颜值出道,而是心怀丘壑,视.net技术为精神动力,他对c#语言和微软的技术体系尤其充满了学习的兴趣,他甚至以微软大国王自称,写了许许多多有关.net 技术的博客,在坊间留下了许多精彩的故事。

 当我说想写《我们身边那些优秀的.NET开发者》系列的第二篇博客,想写一写他的故事时,他起初还有点抗拒,他说别写我,应该没有人有我这么惨,遇到过那么多的坑吧,他说社区中优秀的开发者无比众多,每一个人都有自己的独特品质,而他也不过只是最平凡的一位。

他这种谦虚内秀的品质令我敬佩,并促使我把这篇博客写了出来。这篇博客也期待能向陈希章老师的三天前写的文章《汪宇杰:以终为始的技术践行者致敬,所有优秀的开发者,都值得我们学习~

640?wx_fmt=png


从UWP到.NET CORE专家


在.NET技术体系中,最悲催的一种技术大概属于微软移动开发技术,包括Windows Mobile开发以及后来的UWP开发技术(通用Windows平台技术)。 

640?wx_fmt=png

在微软的产品线规划中,曾经对移动充满了梦想,花了72亿美刀的高价收购了没落贵族Nokia,然而由于各种原因,最终移动战略失败,留下满地鸡毛。直到萨提亚·纳德拉被推举成CEO之后,逐渐的将微软在移动领域上的积累往surface上发展,推出了UWP技术,其目的是为了能够通过开发一个应用,在所有的windows10设备上运行。不过对于广大.net开发者来说,虽然这种技术吸收了XAML和WPF技术的精华,可谓站在了巨人的肩膀上,但是由于学习资源的限制或市场原因,未能得到普及,尤其在中国内地,基于UWP开发app的开发者少之又少。2017年我也曾经学习和了解UWP技术,并试图使用这种技术来开发一个移动端的应用,但是后来由于项目过于赶工期,踩UWP的坑将面临的挑战过于巨大,因此仅仅开发了一个最简单的demo,然后就被迫放弃了。

而翻开Edi Wang的个人博客网站(edi.wang),从2015年到2018年间前前后后发表了大约40多篇关于UWP开发的博客,他还曾经坚持使用UWP技术开发了30多个应用,目前在github上得到了较为瞩目的关注度,有的应用还拥有数百万用户,但是Edi Wang都将这些项目开源出来了,成为了UWP开发者们(如果还有的话)了解和学习这种技术过程中轻易可以获得的宝贵财富,尤其是他踩过的那么多坑,也可以为其他开发者提供便利。 

当然,后来有幸听ediwang说UWP只是他会的众多技术栈中间的一个,而他的主要技术依然是asp.net的技术栈。对于开发者来说,所谓技术,不过是解决问题的工具而已,优秀的开发者总是善于钻研技术和学习技术,并从技术中汲取进步的养分,并成长为更加优秀的开发者。 

Edi Wang就是这样的开发者,一位年轻的90后开发者,从最早的ASP.NET,UWP技术出发,现在又在.NET Core领域认真钻研,一方面为实现企业的技术转型做出了贡献,另一方面也为开源社区贡献了许多学习资料,这使得他得以成长为一位MVP,他的成长历程,堪称我们身边的典范。

绿帽风波

3月初,微软vs2019预览版的发布成为不少.NET开发者关注的新闻,而其中一个不起眼的小问题格外引人注目,在此后的新闻中,被称为“微软绿帽事件”。在vs2019之前的宇宙第一IDE visual studio安装文件的启动项,都是一位头戴绿色遮阳帽的骑自行车少年。如下图: 

640?wx_fmt=png

以前笔者也经常跟朋友谈起,说微软肯定不知道中国人对于绿帽子的避讳。但是在visual studio 2019预览版中,这个bug被微软进行了修复,而这个issue的提出者正是EdiWang。

640?wx_fmt=png

在事件发生之后,这个新闻占领了一周的头条,不少看热闹的群众纷纷指责微软这是浪费时间、那么多优先级更高的bug不解决,却优先解决这个无关紧要的bug,而且Edi Wang作为一位mvp,一位社区领袖,不花时间做开源,却操这些闲心干这些无聊的事,根本就是尸位素餐,浪费资源,一时间Edi Wang莫名其妙的成为了一位网络红人。 

但是笔者却认为,作为一位负责任的技术专家、一位MVP,让微软技术能够在中国内地更好的落地,更好的符合当地的文化习俗,本身是他的义务。而遇到问题要较真,刨根问底,发现问题,并想办法解决,这正是体现了一位优秀工程师的精神。 当然不仅仅是这件小事,在他的个人博客中,写了许许多多不同的问题,这些问题,有的看似简单却极其刁钻,有的则看起来非常的高大上,让人不明觉厉。 当然,他的博客很多都是英文版的,可能阅读需要花一点点时间,这也让他的博客在国内.net开发者中拥有大量拥趸的同时,也获得了大洋彼岸优秀开发者的关注。

工程师思维


回到这个成功学泛滥的21世纪,大概大家心目中,认为优秀,一定是用来形容那些事业有成,财富自由的企业家,或者为国家做出突出贡献的专家,或者只有成为管理者,才能证明一个人的价值。

然而,笔者认为,企业家和专家学者们,他们固然是优秀的典范,而那些在我们身边,深耕于技术,致力于技术的应用和普及的优秀开发者们,他们不仅仅是我们学习路上的良师益友,更是我们引以为傲的榜样,他们身上表现出来的精神,正是工程师精神和工程师思维,这种优秀的思维方式,让他们脱颖而出,得以成为企业的栋梁以及社区的精神支柱。 

640?wx_fmt=png

上面这张图,来源于《软件质量报道》公众号的文章《软件研发三大思维之三:工程思维》,在这张图表中,介绍了三种不同的思维,而工程思维则是与软件工程师们最为接近的一种思维方式。无论是基于目标为导向的解决问题、价值定向的基本能力外、做正确的事并正确地做事,并在做事中不断的提高质量与效率和规范化,也是一种正确的思维导向,由于全文太长,这里就不再赘述了。

随着中国互联网发展速度的逐渐放缓,也意味着像过去十年那样大规模的IT 基础设施投入的可能性将越来越小,IT 产业的寒冬显然将一直持续。 而离开IT 我们还能干什么?这或许是个问题。但是在此之前,只有努力使自己成为最专业的软件工程师,或许可能让我们具备更多的筹码。 与软件行业莫过于制造业和建筑业吧,在这些工业领域,涌现出了许多大国工匠,这些工匠们他们对产品、技术孜孜不倦,一丝不苟,于小处着眼、矢志于产品品质的提高,持续五年、十年,乃至数十年的辛苦付出,最终让他们得以生产出最优质的产品,服务于最优质的客户,创造最优秀的价值。 而软件工程师或许同样应该如此,我们所设计开发的软件产品,就是我们的作品。


总结

对技术充满渴望,时刻探究技术细节,让每一个部分都能尽可能的了然如心,做一位刨根问底的开发者,培养自己的工程师思维,努力成为最优秀的工程师,或许,未来我们都将成为IT产业的大国工匠。 

【版权声明】 

作品来自于长沙.NET技术社区成员【邹溪源】,有兴趣了解长沙.NET技术社区详情,请关注公众号【DotNET技术圈】,作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

 

码字不易,求打赏smiley_20.png

(本文是作者为社区贡献的内容,赞赏的所有费用都将作为长沙.NET技术社区运营费用用以维持社区运营,感谢您的关注,让我们一起努力,共同创造长沙.NET技术社区更好的明天)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/316433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P4062 [Code+#1]Yazid 的新生舞会(线段树做法)

P4062 [Code#1]Yazid 的新生舞会(线段树做法) 题意: 给你一个序列a[1…n]​,求存在绝对众数的子区间个数。 绝对众数指:区间中出现次数最多的那个数,出现次数严格大于区间长度的一半。 题解&#xff1a…

《从零开始学ASP.NET CORE MVC》课程介绍

大家好,欢迎来到52ABP学院,收看我们的 《从零开始学ASP.NET CORE MVC》。ASP.NET Core 简介从2015年开始随时互联网成长,云计算和AI、大数据的爆发,大家从谈论项目信息化到数字化的转型,从ToC产业到ToB产业的转型&…

[ZJOI2015] 地震后的幻想乡(状压dp + 期望)

problem luogu-P3343 solution dp(i):dp(i):dp(i): 当恰好加入第 iii 小边时候,所有点联通的方案数。 则 ans∑idpi(mi)im1ans\sum_i \frac{dp_i}{\binom mi}\frac{i}{m1}ans∑i​(im​)dpi​​m1i​ 。 重点是如何计算出 dp(i)dp(i)dp(i)。 这个恰好的限制不好…

P2152 [SDOI2009]SuperGCD

P2152 [SDOI2009]SuperGCD 题意&#xff1a; 求a和b的最大公约数 a,b<101000010^{10000}1010000 题解&#xff1a; 高精度&#xff0c;java高精度直接有模板&#xff0c;c高精度结合gcd的辗转相减法 对于&#xff1a;a,b的gcd(a,b)有&#xff1a; 若a为奇数&#xff0c…

Docker - 容器部署 Consul 集群

目录 准备 Consul 镜像安装单个 Consul组装集群 Consul启动 Consul 和 Web 管理器Consul 命令简单介绍Web 管理器Server 加入集群Client 加入集群了解 ConsulConsul 使用场景Consul 优势Consul 中的概念说明简介安装总结引用和附件说明本文主要介绍怎么使用 Docker 在 Linux…

[LOJ3153] 三级跳(单调栈 + 线段树)

problem loj3153 solution 有一个显然正确但又不起眼却是正解必备的结论&#xff1a; 考虑 (x,y,z)(x,y,z)(x,y,z) 答案三元对&#xff0c;如果有一个数 i∈(x,y)∧ai≥axi\in(x,y)\wedge a_i\ge a_xi∈(x,y)∧ai​≥ax​&#xff0c;那么 (i,y,z)(i,y,z)(i,y,z) 一定是不劣…

P2167 [SDOI2009]Bill的挑战

P2167 [SDOI2009]Bill的挑战 题意&#xff1a; 有n个长度一样的字符串&#xff0c;字符串的每一位是&#xff1f;或者确定的字母&#xff0c;&#xff0c;求与这 N 个串中的刚好 K 个串匹配的字符串 T 的个数 1<N<15,1<|S|<50 题解&#xff1a; 很明显状态dp 我…

VS2017创建ASP.NET Core Web程序

创建ASP.NET Core Web应用程序如果您使用的是VS2019 请看 VS2019创建ASP.NET Core Web程序在这个视频中我们将讨论可用的不同项目模板及其功能预制的项目模板有什么不同&#xff0c;哪些是可以使用的&#xff0c;以及他们的作用。在Visual Studio2017中创建新的ASP.NET Core 项…

[ZJOI2015] 幻想乡战略游戏(树链剖分 + 线段树二分 + 带权重心)

problem luogu-P3345 solution 这是一个带权重心的题&#xff0c;考察动态点分治。点分治&#xff1f;呵&#xff0c;不可能的&#xff0c;这辈子都不可能写点分治 我们重新考虑重心的性质&#xff1a;以这个点为根时&#xff0c;所有子树的大小不会超过整体大小的一半。 …

巧用linux版powershell,管理linux下的docker

owershell,docker,cli,命令,docker ps,docker image第一章 在linux中搭建docker环境目的&#xff1a;在任意版本的linux&#xff08;物理机&#xff0c;虚拟机&#xff0c;节点机&#xff09;中&#xff0c;安装docker服务。动作&#xff1a;教程略&#xff0c;不是本文主要目的…

P1972 [SDOI2009]HH的项链

P1972 [SDOI2009]HH的项链 题意&#xff1a; 给你一个序列&#xff0c;问这个序列中的种类数 n,m,ai<1e6 题解&#xff1a; 三个方法&#xff1a;莫队(会超时)&#xff0c;树状数组&#xff0c;主席树(会超时) 莫队就是裸题&#xff0c;不讲了&#xff0c;复杂度O(n*sq…

从ASP.NET Core2.2到3.0你可能会遇到这些问题

趁着假期的时间所以想重新学习下微软的官方文档来巩固下基础知识。我们都知道微软目前已经发布了.NET Core3.0的第三个预览版&#xff0c;同时我家里的电脑也安装了vs2019。So&#xff0c;就用vs2019.NET Core3.0来跟着做一下Contoso University这个WEB应用&#xff0c;但是在基…

【学习笔记】整体二分

文章目录引整体二分几道模板题Dynamic Rankings[ZJOI2013]K大数查询[国家集训队]矩阵乘法[THUPC2017] 天天爱射击[CTSC2018]混合果汁引 例1. 给定 nnn 个数 aia_iai​&#xff0c;一次询问&#xff0c;询问区间 [l,r][l,r][l,r] 中的第 kkk 小数。 我们通常想到二分答案&#x…

P2157 [SDOI2009]学校食堂

P2157 [SDOI2009]学校食堂 题意&#xff1a; 小F 的学校在城市的一个偏僻角落&#xff0c;所有学生都只好在学校吃饭。学校有一个食堂&#xff0c;虽然简陋&#xff0c;但食堂大厨总能做出让同学们满意的菜肴。当然&#xff0c;不同的人口味也不一定相同&#xff0c;但每个人…

EntityFramework Core 3.0 Preview

前段时间.Net Core 3.0 发布了&#xff0c;Entity Framework Core 3.0 也发布了Preview版。假期用了一上午大致研究了一遍&#xff0c;同时又体验了一把Visual Studio 2019。总结一下分享给大家&#xff1a;VS2019 新建.Net Core 3.0 Console应用&#xff0c;添加EFCore相关的N…

[luogu-P4299] 首都(并查集 + LCT动态维护树的重心 / 维护虚儿子信息)

problem luogu-P4299 solution 本题考察了很经典的模型&#xff0c;运用了很经典的解法。 本题用到了重心的两个性质&#xff1a; 两棵树合并为同一棵树时&#xff0c;新的重心一定在原来两棵树各自重心的路径上。 重心为根时的最大子树大小最小&#xff0c;不超过 siz/2s…

计算几何模板中的代码

计算几何模板代码选自kuangbin 7 计算几何 7.1 二维几何 // 计算几何模板 const double eps 1e-8; const double inf 1e20; const double pi acos(-1.0); const int maxp 1010; //Compares a double to zero int sgn(double x){if(fabs(x) < eps)return 0;if(x < …

机器学习 ML.NET 发布 1.0 RC

ML.NET 是面向.NET开发人员的开源和跨平台机器学习框架&#xff08;Windows&#xff0c;Linux&#xff0c;macOS&#xff09;,通过使用ML.NET,.NET开发人员可以利用他们现有的工具和技能组&#xff0c;为情感分析&#xff0c;推荐&#xff0c;图像分类等常见场景创建自定义机器…

[PA2015]Siano(线段树 + 二分)

problem luogu-P5579 solution 此题关键在于发现一个结论&#xff1a;生长速度快的草在任何时刻都不可能矮于生长速度慢的草。 正确性显然。 所以当我们将草按照 aaa 升序排序后&#xff0c;每次收割的草一定是一个后缀。 那么这个后缀的起点就可以二分找到。 割完后要对…

容器化时代我们应当选择Kubernetes

昨天发的文章《基于Kubernetes 构建.NET Core 的技术体系》&#xff0c;有同学问.NET Core上有Spring Cloud类似的平台吗&#xff1f; .NET Core出现这么久了&#xff0c;这个为云原生应用开发而准备的系统需要Spring cloud这样的全家桶吗&#xff1f; 大家希望使用Spring Clou…