徐磊(Devops):一名写了十几年代码但还没写够的程序员

640?wx_fmt=png


640?wx_fmt=png

徐磊(Devops 社区领袖)

【个人介绍】

徐磊,微软MVP(微软最有价值专家,大中华区域社区技术总监,Devops 社区领袖),从事过网管、技术支持、网络、软件开发等工作,一名写了十几年代码但还没写够的程序员。1999年,本科毕业于北京理工大学工业管理专业和计算机专业;2001年,硕士毕业于UNSW信息工程专业。2004年加入了SSW(www.ssw.com.au);2005年组建SSW中国研发中心任Country Manager,2012年成立独资公司SSW LIMITED BEIJING,任SSW中国研发中心总经理。2014年创立Lean-Soft,专注于软件工程领域的创新实践。目前为英捷创软CEO首席架构师,资深ALM顾问和解决方案专家,ScrumMaster,敏捷教练,超过10年的软件研发项目管理经验。


【写在前面】

编程语言绝对不是学习编程最核心的东西,因为语言只是传递信息的方式/工具,把学习编程语言当作学习编程的最终目标那就是最大的误解!”。学习方法其实很简单,就是多写;另外还要保持好奇心,对任何新技术要保持热情。



·  正  ·  文  ·  来  ·  啦  ·

640?wx_fmt=png

学习与工作


初识编程

第一次接触计算机是在小学时代,当时在妈妈工作单位的机房中有几台apple II电脑,在上面玩游戏玩得不亦乐乎;上高中以后,终于有了自己的第一台286电脑,也开始学习一些Basic编程。真正意义上的编程并用技术赚钱是在高中毕业的那个暑假,我在中关村的一家电脑公司打工,当时还在使用DOS和Windows 3.1系统,很多客户都希望可以打开电脑后,自动的进入VCD播放或者开始玩游戏;于是我就用之前玩过的.bat编写一些电脑引导程序,可以在启动的时候自动显示菜单供用户选择要进入的程序,很受欢迎,基本上每个客户都要求安装我写的引导程序,自己也很有成就感!


工作之旅

1995年毕业于北京理工大学管理学院,主修管理工程专业,辅修计算机专业;2001年赴澳大利亚留学,2002年在新南威尔士大学(UNSW)修完信息科学专业的硕士研究生,在澳大利亚工作了5年后回国。

在澳大利亚期间,在多家软件公司工作过,最早从事PHP/Java开发,后来为IBM工作1年时间,完成了澳洲税务局的桌面系统升级,澳洲最大的连锁超市(coles)的打印系统升级和澳新银行(ANZ)的柜员系统维护工作;最后进入SSW,开始从事微软技术的开发,完成了公司最受欢迎的产品SSW Exchange Report的开发工作。2005年,受SSW委派回到中国,成立了北京研发中心,任公司首席架构师和总经理,开始拓展中国区业务。2007年开始活跃于微软开发人员社区,作为微软背景.NET俱乐部的核心组织者,开展了很多社区工作,也成为了微软最有价值专家(MVP),并于2008年获微软社区最高技术奖项,微软区域技术总监(Microsoft Regional Director),此奖项在全球只有约100人,当时是我是中国区的唯一一名。

2008年开始,借助多年技术开发和项目管理积累的经验,开始从事软件生命周期管理(Application Lifecycle Management - ALM)方面的咨询服务,与微软Visual Studio 开发团队建立了良好的合作。至今已经为超过100家各种类型/规模的软件开发团队提供过和ALM落地服务,包括:华为、石化盈科、中国移动、中国人民保险、百威英博、京东、招商国际和斯伦贝谢等大型研发团队的管理。其中多家公司的研发团队规模超过2000人,涉及各种不同的开发平台,技术和工具。同时,我也开始在各种类型的技术会议上进行技术交流和演讲,主要专注于微软开发技术和ALM方面的实践和解决方案,案例的交流。

2014年,我成立了英捷创软(Lean Soft),继续专注于软件工程领域的服务和创新,并开始开发自己的产品。2015年,开始运营个人博客站点:http://devopshub.cn及微信订阅号 devopshub。

640?wx_fmt=png


关于创业

提到创业,应该说我的这些经历都是我创业的原因之一;我经常和别人说的最多的一句话就是,我希望把这些年看到别人犯的错误都写下来,分享给别人,让其他人不要再走同样的弯路。其实这就是作为一名咨询顾问最大的优势,看到的多了,自然就知道哪些是更好的解决方案。

我的公司叫做Lean Soft(英捷创软),大家如果对精益有了解就应该明白我公司名字的用意了;其实这里面有2个意思,第一个是我希望以精益的思想来运作自己的公司,第二个是我希望能够帮助其他的软件开发团队了解精益的思想,变得敏捷起来。成立这家公司其实也是希望把这些年积累的各种管理经验和技术自我操作一下,如果在我自己身上可行,那才有可能拿出去给别人做为参考,才能帮助到别人。

说不上是梦想,就是希望能够有更自由的方式做自己想做的事情;最大的挑战其实是如何平衡家庭和工作。说实话,之前工作的10年我过度关注工作的重要性而忽视了家庭,所以这一次我希望能够平衡好,毕竟工作不是生活的全部!创业者最需要知道的是自己擅长什么!现在很多人创业都在问,现在市场需要什么,其实这个问题真的不重要,你自己能做什么才重要!

其实从05年开始运营SSW北京研发中心开始我就已经不算一个纯粹的技术人员了,面对管理、市场、财务、业务、销售等等问题都需要解决和面对。其实不是技术人员创业会遇到瓶颈,而是每个人都会遇到瓶颈,这个瓶颈就是你不懂的东西,而保持好奇心就是解决这个问题的办法。记得07年开始公司曾经一度无法招聘到合适的会计(因为总部要求熟悉中澳两国的会计制度),我一边编程一边把公司的账目梳理,并且完成了近3个月的会计工作,而且使用Excel的Pivot Table功能作出了财物预测功能。其实每种工作都有其中的乐趣,保持好奇心,发现你能改进的东西,一切皆有可能!

近年IT业快速变化,影响肯定是有的,但“影响”本身是个中性词,不代表好坏!而我所专注的软件工程领域其实这几年变化很大,不过其核心思想是不变的,变化只是方法,工具和做事的人!


640?wx_fmt=png

经验分享


学习经验

【学习语言】

编程语言绝对不是学习编程最核心的东西,如果把学习编程语言当作学习编程的最终目标那就是最大的误解!就如同我们日常说话一样,语言就是帮助你传递信息的方式/工具,而你要表达的意思才是核心。理解了这一点,你就会发现,学习不同的编程语言不过就是不同的表达方式而已,这比多掌握几门外语其实简单过了,至少变成语言只使用26个英文字母,而且不用读出来。

学习方法其实很简单,就是多写;我入门时候的时候曾经把谭浩强老师的C语言教材中所有的代码自己敲了一遍/运行一遍;现在我也是一样,在网上看到希望学习的语言,我都会自己敲一遍,而不是拷贝/粘贴运行一下而已。另外一点就是要保持好奇心,对任何的新技术都要保持热情,好折腾是一行的本质!

【分配时间

分配时间其实是个大难题,因为很多事情每天都在变,而经常还有各种突发情况。我的习惯是尽量让生活形成规律,将不同的事情区分对待!比如各种杂事是可以用零碎时间做的,而编程则需要比较长的时间持续进行,我就把这些杂事做为编程的调剂和休息。

写程序还是每天的必修课,不过有时候是工作内容,有时候纯属兴趣爱好,最近比较喜欢玩JavaScript、Node.js、还有PowerShell … 对脚本语言比较钟情。

工作中的每一天都在充实,看到不懂的东西就会顺藤摸瓜的去研究一下;现在搜索这么方便,没有什么知识是互联网上找不到的(当然,要用Google,不是百度!)。


三个收获

【收获一:学会如何学习】

出国对我来说,确实和编程有很大的关系,我在大学选专业的时候没有办法直接选择自己喜欢的计算机专业,而进入了管理专业,虽然后来自己辅修了计算机专业,但还是觉得不过瘾。于是,毕业以后就开始准备出国留学,继续学习编程。应该说,在那个大家都希望出国移民的时代,我的出国意愿非常单纯。

出国留学对我来说,收获很大。其中最重要的应该是学会了如何学习,在国内的大学中,其实一直处于被动学习的状态,但到了国外才发现,学习真的是自己的事情。特别是,第一次电子工程考试失败后,老师告诉我如果期末不能得到95分以上,我就必须重修的时候(要知道重修一门课程就是将近2000澳币的费用);我开始疯狂的学习,每天只睡3个小时,一直持续了3个月。


【收获二:思维方式的转变

第二个重要的收获是,思维方式的转变。其实,从国外回来才开始真的感觉外国人的思维方式和中国人确实不同,因为那个时候不仅仅要做开发,还要管理北京研发中心的日常运作,开始和总部之间有了很多的“非技术”交流,开始深深感受不同文化背景给每个人所带来的影响。我不想评论孰好孰坏,但对这种不同的了解开始让我可以用多个角度来思考问题。


【收获三:为人父母学会生活

最后一个才是最大的收获就是我的儿子,开始为人父母以后很多事情真的不同了。我儿子2004年出生,现在已经上小学5年级了。虽然现在很多时候需要照顾他而改变很多自己的习惯,比如熬夜、晚起等等;但我也发现,其实一个人只有会生活,懂得如何生活才真的知道自己想要些什么。


640?wx_fmt=png

社区建设


当选MVP

07年第一次当选MVP,至今连续8届。其中做的事情很多,博客/论坛/技术交流/演讲等等都有。国内的技术社区首选CSDN和博客园,最近我还比较关注开源中国;另外国外的就是GitHub,StackOverflow这两个。其实参与论坛和社区对技术人员很重要,因为你所遇到的问题80%以上别人都已经遇到并解决了,所以知道“从哪里”和“如何”获取这些知识就是决定了你成长的速度,想象一下:你花了2天时间琢磨出来的问题,我用Google搜索5分钟找到了答案,那我就比你节省了2天的生命(技术生命)。我们常说10000小时定律,但怎么能够善用这10000小时,让它更有效率其实才是你真的应该关注的!

640?wx_fmt=png


经营社区

兴趣为先,谈论自己感兴趣的话题当然有的聊!但是经营还是需要的,这里面又很多方法,比如你必须熟悉SEO(就是搜索引擎优化)。如何用技术和非技术手段,不花一分钱提高自己的网站排名,这是有办法的。最好的例子就是我原来所在的SSW公司的网站(www.ssw.com.au),我曾经有2年多的时间负责公司网站的SEO工作,让公司的网站在没有使用任何的竞价排名的情况下,对主要关键词的搜索结果进入Google前2页!

从2015年开始,我开始运营DevOps门户(http://devopshub.cn)这个博客社区,利用这些经验和手段,我没有使用任何的竞价排名的情况下让我的《快速创建网站》系列博客的每一篇文章都在3天内阅读量超过3000,总阅读量超过50000。无论是演讲和写博客,内容都首位的,你的战术再好,如果内容不好还是不行的。所以讲干货才是所有的经验中最重要的!

640?wx_fmt=png



640?wx_fmt=png

兴趣爱好


跑步/旅行/养狗

跑步、旅行和养狗是我除了工作之外的主要爱好了。坚持每天跑步和健身,这应该算是最好的充实自己的方式!其他的,读书、听音乐也不错,但我觉得这几年我做的最正确的事情就是坚持每天跑步,其实很多程序员的生活方式都非常不健康,熬夜、吃垃圾食品等等,我之前也一样,但是开始跑步以后真的一切都在发生改变。所以,最后给大家最重要的建议就是:坚持运动、保持健康、每天编码!

我的阿诺(一条4个月大的拉布拉多犬), 我工作的时候它一般都会乖乖的趴在脚边,当然也会时不时的提醒我休息一下。

640?wx_fmt=png


阅读(书/博客)

【好书推荐】

  • 《Running on air 跑步时该如何呼吸》:这本书真的很好,很多人都有跑步岔气,受伤等问题;其实根本问题是呼吸的方法不对。因为我们无法直接控制自己的心跳和血液供氧率,呼吸频率和深度是唯一可以控制的。所以在跑步的时候控制好呼吸就是你正确控制心率和提高跑步质量的最好办法!

  • 《The Lean Startup 精益创业》:这是微软全球副总裁Julia推荐给我的书,微软的Visual Studio 团队使用精益方法成功的将自己的版本发布周期从2年缩短到3个月;这里面思维方式的转变非常重要,Julia做为vs团队的领导者对这一些深有感触。我自己读过以后也觉得受益匪浅!建议每个创业者都应该读一读;这本书与那些讲商业模式的书最大的区别是作者用自己的真实经历在叙述过程,由你自己发现结果;而不是上来就讲些啥模型/模式等等!(建议阅读英文原版)

  • 《Clean Code 代码整洁之道》:关注代码本身质量的书不多,这本不错。如果说写代码是在用“编程语言”说话,这本书则在教你如何“唱歌”,讲究韵律,规则和美感应该是每个程序员应该学习的,也只有那些真的关心编程本身的程序员才能体会到这些!


【博客推荐】

  • DevOps 门户:我运营的研发运维一体化技术门户,自己广告一下!

  • Scott Hansleman 博客 :这哥们写了10多年,我也看了10多年,要关注微软技术的最新动向,特别是Asp.net,Azure的内容,多关注这个博客。

  • 微软ALM开发团队博客:如果你对软件工程感兴趣,这个博客不容错过。


640?wx_fmt=png



·  写  ·  在  ·  最  ·  后  ·


关注Devops

最后感谢大家的阅读!

  1. 文档中心:https://docs.devopshub.cn

  2. DevOps+LIVE直播频道:https://devopslive.bopoda.cn

  3. 微信群:微软DevOps技术交流群 (关注devopshub公众号就可加入)


640?wx_fmt=jpeg

徐磊与潘淳,2018年11月27于苏州邮储,开展关于《金融科技创新环境下银行科技的项目管理思路和案例》的专题培训。


640?wx_fmt=png

夹岸高山,皆生寒树。——南朝梁·吴均《与朱元思书》

就做一个有个性,较高端的,Office 技术小品牌~~~

QQ交流群:976054900

查看更多交流方式

微信号:寒树Office

英文ID:HSOffice

640?wx_fmt=jpeg


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

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

相关文章

AcWing 320. 能量项链

AcWing 320. 能量项链 题意&#xff1a; 题解&#xff1a; 和环形石头合并基本一样 代码&#xff1a; #include<bits/stdc.h> #define debug(a,b) printf("%s %d\n",a,b); typedef long long ll; using namespace std;inline int read(){int s0,w1;char c…

ERP不规范,同事两行泪

最近的很多次对外交流&#xff0c;都聊到了ERP建设的话题&#xff0c;并且无一例外的不那么让人省心&#xff0c;回想我这么多年走过的ERP坑坑路&#xff0c;在这里也写下经验和总结&#xff0c;希望能给正在或者即将走上ERP建设路的企业一些思考和帮助。导读1、几个瞎眼而普遍…

长沙.NET社区之光

奈何万事开头难迎着改革开放四十年带来的春风&#xff0c;长沙的互联网生态环境以唐胡子俱乐部为首的一众互联网社群将长沙互联网的环境推上了一个新的台阶。年底&#xff0c;我与有幸一起共事的溪源兄&#xff0c;下班后一起闲聊&#xff0c;觉着长沙的.NET的生态环境亟待改善…

高级进阶:Azure DevOps搞定.NET Core编译版本号自增

点击上方蓝字关注“汪宇杰博客”熟悉.NET Framework的人知道&#xff0c;我们可以通过指定AssemblyVersion为10.0.*来让编译器自增版本号。但是.NET Core和.NET Standard不行。即使有MSBump这样的开源项目&#xff0c;也有一定的缺陷。一般这样的需求会出现在CI/CD服务器上。我…

Newbe.Claptrap - 一套以 “事件溯源” 和“Actor 模式”作为基本理论的服务端开发框架...

本文是关于 Newbe.Claptrap 项目主体内容的介绍&#xff0c;读者可以通过这篇文章&#xff0c;大体了解项目内容。轮子源于需求随着互联网应用的蓬勃发展&#xff0c;相关的技术理论和实现手段也在被不断创造出来。诸如 “云原生架构”、“微服务架构”、“DevOps” 等一系列关…

NET Core微服务之路:SkyWalking+SkyApm-dotnet分布式链路追踪系统的分享

对于普通系统或者服务来说&#xff0c;一般通过打日志来进行埋点&#xff0c;然后再通过elk或splunk进行定位及分析问题&#xff0c;更有甚者直接远程服务器&#xff0c;直接操作查看日志&#xff0c;那么&#xff0c;随着业务越来越复杂&#xff0c;企业应用也进入了分布式服务…

Tree UVALive - 8212

Tree UVALive - 8212 题意&#xff1a; 有n个点&#xff0c;k个颜色&#xff0c;每个点都要被染色&#xff0c;相同颜色之间的边算是被该颜色覆盖&#xff0c;问有多少边被所有颜色覆盖 题解&#xff1a; 题目给的是无根树&#xff0c;我们可以将1默认为根然后求所有点的子…

dotnetcore-officeaddin-toolbox : Office 365 Add-in开发人员的工具箱

在上一篇文章&#xff08;.NET Core开源行动&#xff1a;一键创建Excel Add-in&#xff09; 中我给大家展示了一套为Office 365 Add-in开发人员准备的模板库&#xff0c;你可以通过 dotnet new excel & dotnet run 命令即可完成一个新的Add-in的创建和运行。关于如何加载这…

Asp.Net Core对接钉钉群机器人

钉钉作为企业办公越来越常用的软件&#xff0c;对于企业内部自研系统提供接口支持&#xff0c;以此来打通多平台下的数据&#xff0c;本次先使用最简单的钉钉群机器人完成多种形式的消息推送&#xff0c;参考钉钉开发文档中自定义机器人环节&#xff0c;此次尝试所花的时间不多…

转录组无参比对教程

写在前面 2023年将结束&#xff0c;小杜的生信笔记分享个人学习笔记也有2年的时间。在这2年的时间中&#xff0c;分享算是成为工作、学习和生活中的一部分。自己为了运行和维护社群也算花费大量的时间和精力&#xff0c;自己认为还算满意吧。对于个人来说&#xff0c;自己一直…

.NET Core开源行动:一键创建Excel Add-in

作为.NET Core开源行动的一部分&#xff0c;我此前已经创建和发布了一套基于.NET Core的Office 365开发模板库&#xff0c;是针对Microsoft Graph开发的场景的&#xff0c;有兴趣可以参考 https://github.com/chenxizhang/dotnetcore-office365dev-templates-msgraph &#xff…

【学习笔记】最小生成树系列的必做经典题

最小生成树系列【模板】最小生成树prim算法kruskal算法Borůvka (Sollin)算法次小生成树最小生成树计数最优比率生成树最小乘积生成树最小度限制生成树最小方差树【模板】最小生成树 prim算法 最小生成树的prim\text{prim}prim类似于最短路的dijkstra\text{dijkstra}dijkstra…

通过 Azure Pipelines 实现持续集成之docker容器化

IntroAzure DevOps Pipeline 现在对于公开的项目完全免费&#xff0c;这对于开源项目来讲无疑是个巨大的好消息&#xff0c;在 Github 的 Marketplace 里有个 Azure Pipeline&#xff0c;就是微软的 Azure DevOps Pipeline。实现 Docker 容器化的持续集成实现的目标&#xff1a…

Acwing 1082. 数字游戏

Acwing 1082. 数字游戏 题意&#xff1a; 现在大家决定玩一个游戏&#xff0c;指定一个整数闭区间 [a,b]&#xff0c;问这个区间内有多少个不降数。 题解&#xff1a; 利用数位dp的套路来做 我们还是利用前缀和来做 我们先求1~n中满足情况的个数 对于一个n位数&#xff0c;…

【招聘(南京)】南京纳龙科技有限公司招高级.net开发工程师

南京纳龙科技有限公司成立于2002年12月&#xff0c;隶属纳龙科技在南京成立的研发中心&#xff0c;坐落于南京市雨花台区。公司立志以守护人类心脏健康为使命&#xff0c;专注推动心电信息化技术的发展&#xff0c;为全国各级医疗机构提供心电检查、诊断一体化的解决方案。公司…

Acwing 1081. 度的数量(以及本人对数位dp的浅薄理解)

题意&#xff1a; 求给定区间 [X,Y] 中满足下列条件的整数个数&#xff1a;这个数恰好等于 K 个互不相等的 B 的整数次幂之和。 题解&#xff1a; 数位DP 技巧1&#xff1a;[X,Y]>f(Y)-f(X-1) 技巧2&#xff1a;用树的方式来考虑。 在本题中&#xff0c;题意是问[X,Y]中…

EFCore动态切换Schema

最近做个分库分表项目&#xff0c;用到schema的切换感觉还是有些坑的&#xff0c;在此分享下。 先简要说下我们的分库分表分库分表规则我定的规则是&#xff0c;订单号&#xff08;数字&#xff09;除以16&#xff0c;得出的结果为这个订单所在的数据库&#xff0c;然后他的余数…

东莞.NET俱乐部线下技术沙龙-活动报名

自广州.NET技术俱乐部在2018年12月08日线下活动顺利开展后&#xff0c;东莞作为兄弟城市&#xff0c;也想通过线下活动的方式&#xff0c;点燃东莞.NET技术的熊熊之火。现决定先借助广州、深圳兄弟城市的帮助下&#xff0c;开展一场东莞方主办的线下活动&#xff0c;聚集东莞本…

如何撰写较受欢迎的技术文章

本来我这篇文章的标题是 “如何撰写受欢迎的技术文章”&#xff0c;但反复斟酌之下&#xff0c;还是加了一个“较”字&#xff0c;这主要是考虑我不是什么知名作者&#xff0c;写的文章大多也谈不上很受欢迎&#xff0c;贸然地谈“受欢迎” 是有点忐忑的&#xff0c;而改成现在…

Recursive sequence HDU - 5950

Recursive sequence HDU - 5950 题意&#xff1a; 给你一个式子&#xff1a;f[n]2f[n-2]f[n-1]n4 给你f[1]和f[2]&#xff0c;给你一个n&#xff0c;求f[n] f[1],f[2],n<231 题解&#xff1a; 很明显&#xff0c;矩阵快速幂&#xff0c;但是太久没做这种题&#xff0c;我…