这是我的一个内心独白,内容有点长,希望你能耐心地看完。

估计看到标题,大部分人都会说:哇!大牛!膜拜……之类的。至于是不是大牛,那我不知道,毕竟我依然有很多地方不懂,特别是现在已经流行的 Redis ,集群,那些所谓搭建高性能架构的技术,我一个都没用过,毕竟我不在互联网公司,做的基本上都是全栈相关的工作,从前端到后端再到数据库,除了设计不搞,其他都磨练出来了。

写这篇文章其实主要是心寒和有点失落吧,首先,在各大招聘网站上 .NET  的需求越来越少,即使有,要求的技术还是十年前那一堆,什么 aspx mvc wcf 这些;

其次,在知乎、头条、CSDN 这种大家常去的站点,时不时都有 JAVA C++ 或者现在的新气之秀 Python 以及最近很火的各种 AI 技术,而我看见最多的就是在说以阿里巴巴为最终目标的 JAVA  各种分布式技术,然后回复里各种热闹,回头一看曾经的 JAVA 对手的 .NET 在哪呢?几乎没有任何文章出现,要么你就得自己搜关键字才能找到几篇。

第三,就是各大论坛、公开课、分享会等大佬云集的地方,根本就没有 .NET 的身影,而 JAVA C++ 那都是一抓一大把的。

而且我好多以前的同事,大部分都转了 JAVA。每每想到这里,心里不禁一声长叹,这到底是为什么?然后又会反问我自己,还能坚持多久?到底是什么原因造成了 .NET 市场如此萎靡?我查了很多资料,问了很多人,网上也有很多人有过总结,其实我也很认同他们。不是微软本身的问题,也不是开源不开源的事情,JAVA 一直开源,又有多少人把整个 JAVA 的源码都精通了?

反过来想想 .NET 的初衷,估计很多人都是因为 C# 比 JAVA 简单而选择它的吧?我也是如此。当初学编程的时候我上的北大青鸟,而一开始学的就是 JAVA。那个时候的编辑器用的是 JBuilder,这东西已经被淘汰了,写一个 Hello World 那叫一个心累啊,光配置就得记很多步骤,各种看不懂的错误,还是在老师的奇奇怪怪的帮助下跑起来的。我那个心里当时就是万马奔腾啊,砸电脑的心都有了,简直是愚蠢至极!!所以在最后考核的时候我完全是自暴自弃,第一学期的毕设根本就是靠其他同学混过去的。当第二学期接触到 C# 之后,看到现在宇宙第一 IDE 的 Visual Studio (那会儿还是 2003 版本,比起现在差远了),一个 F5 就可以看到 Hello World ,瞬间自信心和决心就充满了整个身体,这才是编程啊!!所以后来的一年我很努力,而且毅然决然地选择了 C# 作为最终从事的方向。

外界对 .NET 似乎还是有很多误解,所谓的拖控件就是低级人员玩的。不知道你们用 JAVA 的玩 Swing 包的时候有没有羡慕 Winform(当年学 java 的时候用 swing 包做客户端程序),还有不管是 .NET 的 asp.net 还是 JAVA  的 jsp,难道你们做的界面是自己写的么?就一个下拉菜单来说,java 得循环输出 select 的 option,而 .NET 只需要 DataSource 做个数据绑定就完了,这是小儿科吗?这叫用户体验!!效果是一样的,效率却是大相径庭!!!你们产品经理所谓的简约、极致、用户思维不就是这个吗?使用编辑器的不就是这些语言创造者的用户吗?

我也面试过很多人,刚开始都是满心欢喜,一有面试的来,不管我现在多忙我都第一个举手申请我去面试,但是久而久之我已经丧失了那一点信心,后来就让水平还可以的同事代劳了,因为我觉得足够了,除非他们觉得还可以,我就会进行第二面,不过基本上都会被我打回原形。同样是七八年经验的,问一些基础,答不上来的大有人在,更别说一些七八年本来就该掌握的设计模式,多线程,分布式之类的了,一问工作内容,大多数都是cv模式(Ctrl+C,Ctrl+V),写写业务逻辑,连单元测试也没有。别看他工作七八年,开发水平和两三年的没啥区别。而且不乏从微软、IBM 等大公司出来的,虽然这些都是外包公司,可能核心业务不会给你,或者底层架构不会让你参与,牛逼的人除外,但明显这些人都不牛逼。

名人都说过类似的话:“真正的能力是在八小时之外才能体现”,见仁见智去理解吧,毕竟公司的业务不是你想改就能改的,所以很多新技术都需要你自己在这八小时之外自己去捣鼓,高手都是这么过来的,为什么他们是高手?因为他们挖的坑和填的坑比你看到的坑都多出好几倍!付出肯定有回报,但你得先付出!

废话说太多了,说回来,其实不是 .NET 差,而是靠谱的 .NET 开发人员太少了。有多少半路转行了?转成 JAVA 因为看到了 JAVA 工资高。目前是这个状况,但如果你看到的只有钱,再过十年,你的水平就像刚才说的和那些混了七八年的人一样的话,肯定会被淘汰的,毕竟年龄大了,水平和俩仨年的一样,公司会要你吗?你真的以为 C# 差吗?你玩的游戏有几个不基于 .NET 的 Framework 框架呢?U3d很火,用的是 C# 开发,但招人还是一样的困难。所以不是 C# 没市场,是你没市场。

由于大多数的 .NET 从业人员不靠谱,造成早期大量的老旧项目越来越难更新。思想高度上升到企业层面,是不关心技术的,只关心成品,反正都要重做,而市场上 JAVA 人员很多,所以就转成了 JAVA,毕竟现在的公司都不差钱了。

为什么那么多 .NET 人员不靠谱?除了自身不努力之外,大部分学编程的都是培训学校出来的。而我近期查了一下,很多培训学校,像达内、千峰,以及用.NET培训起家的传智播客都已经把.NET给取消了,只有北大青鸟还留着,别的我不知道。因为市场很小,所以这就形成了一个死循环,没有优秀的.NET人员出来,市场就更小,市场小了学校就不愿意去培养了……然后我查看了一下北大青鸟的.NET教材大纲,winform wpf asp.net web service mvc......还是十年前的那种教材……连现在互联网最流行的 webapi技术都没提到,更别说 .NET Core 这种新技术了。世界在进步,但是教材还是在十年前,这和大学毕业还找不到工作的有啥区别?

我去,居然写了这么多了……果然是满腔热血啊……其实我希望的是搭建一个只属于我们.NET人的生态圈,网上资料一大抄我已经见怪不怪了。我一直立志于培养出一批又一批合格的.NET人,所以加了很多群,帮助他们解决问题。我的风格是给思路而不给答案,就是想让你们能学会独立思考,远离cv模式(除非你很懂这块),学会动手而不是动嘴。

码农猩球的初衷就是想聚集.NET人们,每个人拿出自己的一点贡献,无论这个贡献有多少,凝聚起来的力量那是无限的,同时也给自己一个向前进的机会,而不是原地踏步。这里都是我们的心血,都有我们的感情和梦想,如果我们都不把自己当回事,谁还会把我们当回事呢?目前看来我也不知道我写的东西帮助了多少.NET人,或许在某些角度来看写的并不是很好,我希望我能用自己的行动告诉我们.NET人,只要有心,梦想就一定会实现。所以我坚持了十年。

说回来,目前的码农猩球是我下载的别人的开源系统,我还进行了一点点二次开发。如果你愿意为我们.NET人做更多的贡献,为码农猩球的重建贡献自己的一点点力量,欢迎加入官方群(号码在内容末尾);或者你只是想完成一个小目标,走好自己的路,同样也可以加入技术群(号码在内容末尾)。无论怎样的选择,我都希望你们能坚持下去,如果不是因为理想和梦想,我们不会选择同一条道路。

我是周大侠,一个一直以C#为核心语言的研发追梦工程师,希望你能跟我一起追梦下去。

如果你认可我,希望你能把这篇文章转发出去,让更多像我们一样的.NET追梦人能走在一起。

文章出处:码农猩球http://www.dotnetstar.club/cms/c-35/comid-0

一个在 .NET 一线战斗了十年的 C# 程序员的内心独白的更多相关文章

  1. 十年京东Java程序员的工作总结,写给迷茫中的你!

    很多年前,刚刚从大学毕业的时候,很多公司来校招.其中最烂俗的一个面试问题是:“你希望你之后三到五年的发展是什么?”.我当时的标准回答是(原话):“成为在某一方面能够独当一面的技术专家“.后来经历了几家 ...

  2. 十面阿里 Java 程序员,最终拿下阿里 P6 offer!

    转子:https://mp.weixin.qq.com/s/RkMxPbm8E99-rTZKmvBy6Q 今天介绍小编的一个朋友,他现今有四年开发经验了,前前后后为了进阿里面试十次(阿里旗下—蚂蚁金服 ...

  3. Hi Java!!!---来自十八岁的程序员随笔

    9月23日我正式加入了程序员的行列,在哪以前我都不知道程序员到底是干嘛的,电脑对于我来说也不过是打打游戏,玩玩QQ.转眼间一个月了,我真正的喜欢上了这门行业,当自己写出一个程序的时候特别有成就感,哪怕 ...

  4. 做了一个非竞价排名、有较详细信息的程序员职位 match 网站

    作为一个程序员,每次看机会当我去 BOSS 直聘 或者拉勾网进行搜索时,返回的顺序并不是根据匹配程度,而是这些公司给 BOSS 直聘或者拉勾网付了多少钱.这种百度式的竞价排名机制并没有把我做为求职者的 ...

  5. 【2019.10.17】十天Web前端程序员体验(软件工程实践第五次作业)

    结对信息.具体分工 Github地址:https://github.com/MokouTyan/131700101-031702425 学号 昵称 主要负责内容 博客地址 131700101 莫多 代 ...

  6. 十年Java开发程序员回答,自学Java,培训Java的利和弊

    最近有一个朋友在群里面问我:是应该去培训Java还是应该自学Java,我想的说的是我并不是想给他一个去培训或者不去培训,我用自己多年对于行业的了解去分析这个问题,然后让他自己去思考,哪种更加适合他.他 ...

  7. 金九银十跳槽季,程序员面试点解析之Java专场

    前言 近年来Java工程师这个岗位炙手可热,市场需求大,学习Java的人也越来越多,所以IT企业与求职者的选择都比较多,那么IT企业在面试时都会提哪些问题呢.下面为大家分享 Java高级工程师面试阿里 ...

  8. 一个lock锁就可以分出低中高水平的程序员对问题的处置方式

    说到lock锁,我相信在座的各位没有不会用的,而且还知道怎么用不会出错,但让他们聊一聊为什么可以锁住,都说人以群分,大概就有了下面低中高水平的三类人吧. 第一类人 将lock对象定义成static,这 ...

  9. 4年前端、2年CTO:一个非科班程序员的真实奋斗史

    1.引言   我,Scott,一家创业公司的 CTO. 从业6年却很少写文章,近一年来接触了几十个刚毕业的前端新人,也面试了100多个前端工程师和Nodejs工程师,对于前端发展的这个职业算是有些感触 ...

随机推荐

  1. ssh密钥创建分发(端口号非22)&脚本实现自动创建分发密钥

    1.1 服务端端口号变化了,如何基于秘钥连接 1.1.1 环境准备 实验环境: [root@test ~]# cat /etc/redhat-release CentOS release 6.9 (F ...

  2. Python filter用法

    class filter(object) | filter(function or None, iterable) --> filter object | | Return an iterato ...

  3. vue-修改vue项目运行端口号

    一.导语 最近在研究,左侧是导航,右侧是显示对应的内容,左右可单独滚动,不互相影响,如何实现? 萝卜蹲的游戏大家都玩过,白萝卜蹲,白萝卜蹲,白萝卜蹲完红萝卜蹲,可是若是在含有滚动条的页面的情况下,白萝 ...

  4. C#递归查询

    一.sql --构造测试数据: 只作演示用 CREATE TABLE [dbo].[Tim_LinqTable]( [Id] int PRIMARY KEY IDENTITY(1,1) NOT NUL ...

  5. MUI开发记录——我的考勤

    已经好久没有更新技术博客了,因为最近一直在做跨平台web app应用的开发,由于是刚做这个,也没太多经验同大家分享,可我是一个闲不住的人,我还是决定于百忙之中抽空整理一篇,记录下开发历程......— ...

  6. 关于帧动画steps属性的理解

    CSS3的Animation有八个属性 animation-name animation-duration animation-delay animation-iteration-count anim ...

  7. robotframework自动化系列:修改流程

    在上一小节中,新增流程操作已经完成.那么接下来就是修改的流程操作了,对于一个页面的修改如何操作呢? 针对修改修改操作是在一个已经存在的账号直接修改还是新添加一个账号再修改呢?从用例设计健壮性出发,我们 ...

  8. SQL2012导出的脚本没有if exists判断

    SQL2012导出的脚本没有if exists判断 以前用SQL2000的时候,导出存储过程,表各种object的时候,前面会自动加if exists的一段脚本,这样的脚本很方便的可以重复执行.现在使 ...

  9. vue新手入门——谈谈理解

    毕业到现在大概4个月了,从java开发慢慢转到前端开发(其实是因为公司前端人不够),然后开始接触vue.所以我也只是一只小菜鸟. 首先附上vue的官网:vue官网 然后附上一些常用的vue框架,组件之 ...

  10. CloudStack架构分析

    Cloudstack功能 作为云计算解决方案,毫无疑问,以下几点是服务的核心关键(不限于以下几点),也作为后续开发和使用的出发点: 1. 支持多租户 2. 能够按需提供自服务 3. 宽带网络的接入 4 ...