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

估计看到标题,大部分人都会说:哇!大牛!膜拜……之类的。至于是不是大牛,那我不知道,毕竟我依然有很多地方不懂,特别是现在已经流行的 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. 网络拓展知识 ACL NAT IPv6

    第1章 ACL 访问控制列表 访问控制表(”位代表精确匹配,而“1“位代表不许匹配. 例如路由器EIGRP的配置中: RouterA(config)#router eigrp 100 RouterA( ...

  2. lynx---CentOS终端访问IP

    1.官网 http://lynx.isc.org 2.稳定版本 http://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.8rel.2.ta ...

  3. 移动端click事件延迟300ms的原因以及解决办法[转载]

    原文:http://www.bubuko.com/infodetail-822565.html 这要追溯至 2007 年初.苹果公司在发布首款 iPhone 前夕,遇到一个问题 —— 当时的网站都是为 ...

  4. iPad web APP 开发相关

    1.移除 browser chrome,全屏启动  <meta name="apple-mobile-web-app-capable" content="yes&q ...

  5. HTML DOM应用案例2

    <html> <head> <title>day03</title> <script type="text/javascript&quo ...

  6. Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0,"解决办法

    这是因为先安装了 .NET Framework 4,随后启用了 .NET Framework 3.5 WCF HTTP 激活,则会发生此错误. 只需要已管理员用户在cmd中运行aspnet_regii ...

  7. 解决Cordova安装Cannot find module 'bplist-parser'问题

    安装完cordova出现找不到必须的模块 出现原因不明,不过如果出现这个问题,我们遇到缺什么模块就安装什么模块就可以了.如图所示

  8. Deploy .Net project automatically with MsBuild and MsDeploy (1)

    Q: How to change parameter values in configuration files dynamically In the first section http://www ...

  9. [转]动态管理视图和函数 (Transact-SQL)

    动态管理视图和函数返回可用于监视服务器实例的运行状况.诊断故障以及优化性能的服务器状态信息. 重要提示 动态管理视图和函数返回特定于实现的内部状态数据. 在未来的 SQL Server 版本中,它们的 ...

  10. javascript第八章--事件

    ① 事件流 ② 事件处理程序 ③ 事件对象 ④ 事件类型 ⑤ 内存和性能 ⑥ 模拟事件