你好,我是梁桐铭,.NET程序员,啰嗦下过去几年来的感悟吧
序
所有的文章都会有序言,我的当然也不例外。
因为职业和工作的关系,很少有时间陪伴家人,感谢妻子10年以来的容忍和支持,感谢女儿给我生活带来的乐趣。
希望孩子长大了之后能热爱编程(可以不用以它谋生)。
关于编程
世界上有两类程序员。
一类是为了谋生。
一类是因为热爱。
关于这一点,我在之前的直播中有具体的阐述,有兴趣的可以去看看:https://www.bilibili.com/video/av31334354
关于.NET 开发我很佩服 @陈晴阳 的执着。上班写Java下班写.NET。(手动点赞!),最近又开始搞.net core了。
无论您是哪类人,无论你是否从事编程,希望你们都保持对生活的上进心和自驱力。
往事,我其实是个淘宝卖家
2011年大学实习在成都找工作,但是当时程序员的薪资太低了,刚刚毕业的大学生2500一个月,惨啊。那个时候,我已经兼职做淘宝有点的时间了,程序员的薪资还没有我淘宝店赚钱,所以我毅然投身了淘宝了,成为了一个C店卖家。
这么多年一直很感谢淘宝2年多以来的经历,让我对电商的玩法和机制了解的那么透彻。
11年天猫还叫淘宝商城,那个时候流量还很便宜,当然这个又是另外一个故事了。(有空的话,我可以写一写)
12年来淘宝商城改名天猫商城,发生了围城事件,有幸目睹和参与。然后C店流量级数下滑,11年的时候你只要认认真真用量子恒道观察流量,学好用SEO引流,不用直通车一样赚钱。
12年天猫收费流量的变化太明显,作为一个赚不到钱的苦逼青年(其实是12年适逢暗黑3上市,玩了大半年吧),我选择找工作。
那个时候淘宝和天猫的门槛发生了变化,继续玩下去,最后被吊着打吧。毕竟我只是个穷学生(当时还是比做程序员赚钱)只是知道不是长久之计。
离财富自由最近的一次
现在想来我的人生错过了很多东西,12年回家,买了36个比特币,比特币涨到2000的时候卖了。啧啧,后来看着它涨到7500,腰斩到3000,人生真是大起大落太刺激了。有时候朋友也说你应该坚持下去的。
回归编程之路
还是说说我编程的事情吧,12年去找工作的时候发现咦我会Java和.NET找哪个工作好呢。现在你们都知道我选择了微(ju)软(ying)的技术栈,现在回顾我当时的水平啊,一个字“渣”。
13年开始折腾上班这件事情,从被亲戚骗(所以哪怕是亲戚也请大家张开自己的眼睛认清楚)、初级程序员、需求分析师、中级程序员、技术负责人、项目经理、技术部部长一路走来。遇到的经历和事情要比同龄人复杂的多,很累,很多时候都想放弃了。
所幸坚持了下来,毕竟 这狗娘养的生活把我压成一摊烂泥我也要给你挤出一根狗尾巴草来。
关于技术&框架&招聘
正如我在很多文章和自我介绍的时候15年我接触到了ABP框架,感谢@罗阳铭 ,在国内推广它。你的技术好不好跟你自己混不混社区很重要,因为社区中总有很多厉害的人出现。
16年1月恰逢换公司,将ABP框架推广到了我们现在的公司中进行开发使用。也见证了积微物联从十几名开发人员,到现在快三百名程序员的规模,我也成为了一个部门的tech leader。我能说最开始包括我在内只有3名.NET开发吗?
我一直觉得自己的技术一般,每一次来到新公司发现我技术要是都一般就没有技术好的了。
以上是@朱永光大哥在群里的一句调侃话语,当时觉得不愧是大佬,
说话这么硬气。
当我从16年底,我开始带团队,发现招聘人员是有多么的痛苦。
- 招聘不到合格的人
- 招聘不到人。
- 什么乱人都有。
举个栗子:
印象比较深的是十年左右开发经验的来了,薪资要求高的吓人你,一说做笔试不愿意,说瞧不起,那就面试吧。问问前端Angular、VUE、双向绑定、MVVM、MPA、SPA一个回答不上,说是我是.NET开发。ok,那就问问什么是并发、异步、依赖注入、分布式架构,有过带团队经验没?基本一问三不知,嘶,当时脑袋里面就冒出来了朱大哥当时调侃的那句话。
我一直觉得自己的技术一般,每一次来到新公司发现我技术要是都一般就没有技术好的了。
而在15年的时候@罗阳铭当时也说过技术团队和人的问题:
在这段时间的招聘面试过程中发现一个很严重的问题,大多数无论是工作2、3年的还是5到10年的程序人员,基础知识、经验能力、对新技术的了解和运用,都差得让我难以理解,几乎没有什么技术特长或深入专研的领域。
当然,因为我们是创业公司,工资标准受限,很难吸引到优秀人才来应聘,但工作了很多年的程序员,还仅仅只是会简单三层架构的数据增删改查,没什么技术特长和开发思想,连能准确回答“int类型是多少位,能表达最大范围是什么数量级,或者是2的多少次方”这个问题的面试者都几乎没有。
对“依赖注入”熟悉的面试者几乎没有,应聘高级开发和架构师岗位的人能说得清楚缓存机制的也几乎没有。
其实,这每一个知识点,在互联网上都能找到很详细的资料。
我认为只要找到方向并努力学习和运用,半年时间已经可以超过大多数工作2、3年的人,认真努力2年时间可以超过大多数工作5年8年的人,因为大多数工作多年的程序员多数时间都在做重复的、没有提升性的工作。这段时间实在招不到满意的有经验的,所以让HR多招一些有强烈上进心的应届毕业生来培养。
感谢编程之路遇到你们
在过去的经历中,特别感谢@陈晴阳 @张善友 @杨中科@朱永光和@罗阳铭 几位大哥,感谢各位在编程的道路上一直无私的分享,从你们的身上学到了很多。在此深深的感谢!
17年的时候很荣幸的成为了Microsoft MVP(微软MVP)感谢MVP项目组对我的认可,特别感谢@kris 霸姐、@朱永光两位的指导,在MVP项目中也结实了上一代的各种大神。
2018年开始我想做点事情了
在过去的日子中作为.NET 开发人员总是低人一等,说到.NET 就是拖控件、你们闭源、不能跨平台。但是其实.NET 一直有mono啊,一直可以跨平台啊。
.NET 在国内缺乏核心竞争力的地方个人认为如下原因:
- 不开源
- 国内公司不愿意在技术上投资
- 微软自身发展方向的抉择
- 缺乏行业技术积累
- 整体行业缺人,中国的开发者依然太少
国内10年前都是草根创业,技术选择导致BAT等大型公司在相互挖人的时候,都是java为主的程序员。导致了具有国内特色的.NET开发局面。当然我无力能改变这个局面,这个局面是市场的抉择。
但是从2015年微软推出.NET CORE 正式开始了跨平台。
我也写了一篇算是目前个人认为比较全面的 .NET 介绍吧
参考资料:
.NET:持续进化的统一开发平台
就开始了不一样的道路。
2018年,我重新起航想尝试用.NET CORE为核心打造一套进可攻退可守的技术路线。
当然我知道肯定会有人来嘲笑我,唱衰.NET的人大有人在,不多你们一个。
我建立了一个网站 52abp.com
在过去的几年编程之路所带来的感悟就是,互联网上有很多好的经验分享,也有很多好的开源项目,但相对也比较分散,这个对于新人、应届毕业生、初级程序员来说是一个致命打击。因为他们不具备辨识能力和归纳,不知道他们的优缺点。
所以新网站就是为了帮助初级程序员成为中级、高级程序员继续往上走所准备的。
当然我也不具备能力将所有的领域全部搞懂,涉及到相关领域的我会找相关领域大神的文章来进行分享。
标准只有一条:
- 一定是我会使用和我会落地到实际项目中的技术。
而并不是做成一个新闻资讯门户介绍网站,这样就丢失了意义。
所以内容会除了ABP框架以外的内容。比如:Devops、领域驱动设计、人工智能都会去讲,当然这些都只是个规划。
推荐几本书
这些书都有一个特点不是技术书,更多是传记和思维,我认为很多时候我们需要的思维的提升而不是单纯的技能的提升
- 《刷新》
- 《用户故事地图》
- 《.net传奇 从封闭走向开放》
- 《人月神话》
你好,我是梁桐铭,.NET程序员,啰嗦下过去几年来的感悟吧的更多相关文章
- 两个C++对象是否相等,要程序员自己下定义,通常是覆盖==操作符
我曾经好多年对Java的==和equals的区别和联系搞不清楚,后来搞清楚了,笔记在这里: http://www.cnblogs.com/findumars/p/3240761.htmlhttp:// ...
- 【转载、推荐】不要自称是程序员,我十多年的 IT 职场总结
注评:一气读完后,有些和我的观点类似.这篇文章显然是外国老写的,但是不妨碍我们的跨国交流. 如果我可以给每个工程教育增加一门课,它不会涉及编译器.门电路或是时间复杂度,而是一门介绍行业现实的入门课,因 ...
- 新手程序员随笔2——初识html、css和javascript
翻看博客,发现好久木有发blog了.纠其原因,一则是近来工作上卡到了一个编程难题,我是一个单线程的小猿,当我手头有事情做的时候,我不想分心去做其它事情,如写blog.二则是我个人的写作能力不佳,想到写 ...
- 一个十年IT从业者的职场感言:为什么不要自称是“程序员”
转载:https://blog.csdn.net/S_king_/article/details/78529089 如果我可以给每个工程教育增加一门课,它不会涉及编译器.门电路或是时间复杂度,而是一门 ...
- (转)不要自称是程序员,我十多年的 IT 职场总结
其他: 我是一名程序员,工作很努力,为什么绩效还总是垫底? 外企,中年失业何去何从? 来公司半年了,也悟出了一些道理. 如果我可以给每个工程教育增加一门课,它不会涉及编译器.门电路或是时间复杂度,而是 ...
- 腾讯微信支付,程序员是如何让jQuery代码付钱的
微信支付和支付宝支付已经是我们生活中不可确实的两个金融软件了,也是必备的,小编认为小钱用微信,大钱用支付宝. 下面这个图是我们生活中用腾讯微信支付平台的最后一个页面,大家想不想知道这个页面是如果做出来 ...
- 520特辑丨码神VS爱神:盘点程序员的四大男友力,你偏爱哪一种?
摘要:写卡路里计数器带女友减肥,抢票不忘分析系统bug,打造独家游戏只为成为你的另一半,程序员男友"浪漫"起来,谁能招架得住? 本文分享自华为云社区<520特辑丨码神VS爱神 ...
- 浅谈Android移动开发程序员的职业发展之路
现在几乎每个it公司都在开发移动产品,我最早知道Android还是在09年成都某学院上大学的时候,从新闻上知道有这么一家公司,创始人安迪·鲁宾很有名,但安卓到底是做什么的,我并没有关注. 到2010年 ...
- 【经验分享】-PHP程序员的技能图谱
一.技术知识积累作为参与工作一定年限的程序员,最重要的就是静下心来把遇到的和遗漏的知识点记录下来,做好学习和总结的准备.学习方面,除了看书上网查资料之外,实践也是非常重要的一点,很多不懂的或者不明白的 ...
随机推荐
- Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台
转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...
- JQuery Dom的基本操作
这是赋值 $("#test").val ("aaa"); 这是取值 string s = $("#test").val (); text( ...
- 软件测试工程师这样面试,拿到offer的几率是80%
面试难还是不难?取决于面试者的底蕴(气场+技能).心态和认知及沟通技巧.面试其实可以理解为一场聊天和谈判,在这过程中有心理.思想上的碰撞和博弈.其实你只需要搞清楚一个逻辑:“面试官为什么会这样问?他希 ...
- js异步编程终级解决方案 async/await
在最新的ES7(ES2017)中提出的前端异步特性:async.await. async.await是什么 async顾名思义是“异步”的意思,async用于声明一个函数是异步的.而await从字 ...
- Spring的xml解析原理分析【转载】
一:前言 二:spring的配置文件 三:依赖的第三方库.使用技术.代码布局 四:Document实现 五:获取Element的实现 六:解析Element元素 七:Bean创造器 八:Ioc容器的创 ...
- 构造方法为private与类修饰符为final
构造方法为private的:在这个类外1:不能继承这个类2:不能用new来产生这个类的实例 在这个类内:1:可以继承这个类2:可以用new来产生这个类的实例 类修饰符为final的:在这个类外1:不能 ...
- link-hover-visited-active
:link { color: blue; } :visited { color: purple; } :hover { color: red; } :active { color: orange; } ...
- jQuery 对AMD的支持(Require.js中如何使用jQuery)
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一个可用的模块化 JavaScript 的解决方案. AMD 模块格 ...
- [CSS] Scale on Hover with Transition
效果 源码 <!doctype html> <html class="outline color"> <head> <meta chars ...
- Dynamics 365-部分用户访问环境缓慢
链接来自MS MVP 罗勇大神的Dynamics 365中部分账号使用系统明显缓慢怎么办?先这么干! 之前项目中也遇到过客户部分账户访问环境缓慢的问题,在此做个记录,等再碰到了,以此思路进行尝试