先来看一组数据,从某招聘网站直接检索3-4w的岗位,会看到Java与.NET社会需求量的巨大差异,这里就不再对比高薪的岗位了,.NET的高薪岗位更是少的可怜:
 
  笔者从业十余年,一直是在.NET圈子摸爬滚打,曾经也有几次机会可以转Java,但或许是懒惰,或许出于对微软的信任,也或许是相信市场供求关系的调整,总之,没有换过语言,一直追寻微软脚步,实践各种新技术并扩充知识面。身边也有不少.NET技术人员换成了Java,有些发展的着实不错,有些也不尽人意。回头望去,可能真的应了那句话“选择比努力更重要”。
  现实中我们得正视自动的短板,笔者说说自己在.NET技术落地上遇到的一些困难,我想大家或许都多多少少遇到过,应该有些共鸣:
1 普遍对.NET技术的不信任
  两个架构师出了两套方案,.NET的和Java的,很难得到公平的对待。即便Java的方案粗糙,但公司更信任Java一些,毕竟大环境如此,人也好招。而且很多领导也不太懂技术,看不出不同方案间悬殊的差距。Spring全家桶也着实给力,一套下了,基本通吃。虽然.NET Core如今发展的也不错,但还是有人气没市场吧,一些招.NET Core的公司,可能面试题都不知道怎么出,自己公司也不用,就是面试上聊聊。
2 在大数据处理上的短板
  .NET其实很早就能做大数据项目了,有本地的也有云端的,本地的太生僻,没人知道,也很少有.NET开发去学习,云端的更是用不起,笔者身边倒是有一位做.NET大数据的同僚,他的话很中肯,“你跟人家讲.NET做大数据,人家心里就是‘呵呵’”。
3 流计算的空缺
  .NET的流计算刚刚开源,这时候资料太少,基本不会用。
4 Azure着实消费不起
  讲真,笔者用过2年多的Azure真的很好用,但是就是真真儿的贵呀,中小企业更喜欢包年的产品。
5 不好招人
  虽然行情不好,很多人找不到工作,但是企业就是招不到合适的人。现在,.NET方面的硬手,以当年的老人为主。因为近些年,社区、书籍、培训机构、学校对.NET都比较冷淡。.NET新技术的书籍很少,大多都比较浅显。新人获取知识的途径受限,对.NET技术的理解并不理想。如果不知道如何检索微软放出的资源,就很难与时俱进。微软的很多资料是没有中文版本的,很多人还是难以接受英文文档。总之,硬手不好招,上半年招到个会AOP的,感觉跟中奖了一样。
  然后,正题来了,能看到这里说明,大家也都是.NET同僚。面对冷清的市场环境,我们该如何应对呢,我说下自己的想法:
1 如果你还年轻而且又有野心和精力,还是换Java或者别的语言吧
  .NET的性价比比较低。你需要掌握微软的产品和技术,还需要学习非微软平台的产品和技术,要了解微软的Azure,最主要的你英文要好,因为英文是.NET继续走下去最大的砍儿。总之,就是学的多,学的杂,学的累,然后挣钱少,不好找工作,不少工作需要英文。
2 如果不想换语言了,那么应该做以下这些准备
  • 学习英语 学习英语是我们首要的任务,.NET主流的大公司除了万达以外,我了解的都是外企在用,英语交流将会成为最大的障碍。
  • 学会检索微软的资源 微软提供的3类资源比较有营养:第一,微软项目最佳实践,就是微软的代码,比如:ABP、eShop;第二,微软提供的电子书,比如《Cloud Design Patterns》;第三,MSDN上一的一些不错的博文。
  • 多多实践开源技术 比如Docker,K8s等
  • Azure Azure微软一直在推,有条件的话还是学习学习,没条件的看下文档了解下,有些外企在用,比如斯伦贝谢、微软,你比别人了解的多,就能脱颖而出。

  总之,在Java大环境下.NET程序员如何夺得一线生机的方法就是——学英语+学习微软官方代码/文档+开源技术。

  如果,你没有动力,想要放弃,我觉得有两点,我们要比Java有优势一些:
  第一,VS的最好用的IDE。
  第二,外企不太在意程序员年龄,国外65岁的程序员都有,所以进入外企可以降低下中年危机的风险。
  然后,七夕节了,你想想你不努力,你老婆发消息怎么回复。
  祝大家,七夕节快乐,工作虽忙,也别忘陪伴家人哦。

在Java大环境下.NET程序员如何夺得一线生机的更多相关文章

  1. Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...

  2. Java 常用排序算法/程序员必须掌握的 8大排序算法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...

  3. java 书籍推荐 JavaEE程序员必读图书大推荐

    java 书籍推荐 JavaEE程序员必读图书大推荐 转自:http://www.cnblogs.com/xlwmin/articles/2192775.html 下面是我根据多年的阅读和实践经验,给 ...

  4. 为什么用 Java:一个 Python 程序员告诉你

    这篇文章专门给程序员写的,普通读者慎入.原作者:Kevin Sookocheff 译者:Celia Zhen,原文点击文末链接. 每当我告诉别人我一直在用Java工作时,大家的反应都是: “纳尼!Ja ...

  5. 【黑马18期Java毕业生】黑马程序员Java全套资料+视频+工具

        Java学习路线图引言:        黑马程序员:深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗. 为此我们历时一个月整理这套Java学习路线图,不管你是不懂电脑的小 ...

  6. 在培训机构花了好几万学Java,当了程序员还常被鄙视,这是招谁惹谁了?

    在之前的文章中说过,我是非计算机专业,通过参加培训进入程序员这行的. 入了程序员这行后,挺长一段时间在亲戚朋友中,我还是挺有面子的:家族里的第一个程序员,工作不用风吹日晒,收入比其他行业高不少,尤其是 ...

  7. 来自“Java中国”优秀的程序员不会觉得累成狗是一种荣耀

    分享下“https://java-china.org/topic/28“,也算是对自己的一种告诫吧. 原文:Sleep deprivation is not a badge of honor 先介绍一 ...

  8. windows/Linux下的程序员文档浏览工具

    Dash + Alfred https://www.jianshu.com/p/77d2bf8df81f 对于程序员来说,查看api文档是非常频繁,经常窗口之间切换非常麻烦,mac下就有一个查文档的神 ...

  9. 14个Java技术网站,程序员必备!

    先看再点赞,给自己一点思考的时间,如果对自己有帮助,微信搜索[程序职场]关注这个执着的职场程序员.我有什么:职场规划指导,技能提升方法,讲不完的职场故事,个人成长经验. 程序员都是无师自通?这就有点胡 ...

随机推荐

  1. HashMap原理(一) 概念和底层架构

    HashMap在Java开发中使用的非常频繁,可以说仅次于String,可以和ArrayList并驾齐驱,准备用几个章节来梳理一下HashMap.我们还是从定义一个HashMap开始. HashMap ...

  2. python 基础学习笔记(3)--列表与元组

    **本次笔记主要内容为 列表,元组主要的功能和特性** **1.列表**: 学习过c语言的同学应该知道,c语言有数组这一功能,就是将数据类型相同的元素放在一起.由于python的变量没有数据类型,也就 ...

  3. Visual Studio中View页面与Js页面用快捷键互相跳转

    现在已经将源码放到GitHub中了 地址是 https://github.com/liningit/ViewJsLN 公司开发的项目使用的是Mvc框架,且Js与View页面是分开在两个文件夹下的,所以 ...

  4. SSH框架集成Activiti Modeler在线设计器页面出现问号及乱码的解决办法

    文·原创/朱季谦 工作流是一个针对企业用户.开发人员.系统管理员的轻量级工作流业务管理平台,其核心是使用Java开发的快速.稳定的BPMN2.0流程引擎.在我们日常开发当中,例如oa系统里的请假功能, ...

  5. scrapy实战4 GET方法抓取ajax动态页面(以糗事百科APP为例子):

    一般来说爬虫类框架抓取Ajax动态页面都是通过一些第三方的webkit库去手动执行html页面中的js代码, 最后将生产的html代码交给spider分析.本篇文章则是通过利用fiddler抓包获取j ...

  6. C#中产生SQL语句的几种方式

    (1)拼接产生SQL语句: string sql = "insert into czyb(yhm,mm,qx) values('" + txtName.Text + "' ...

  7. Java项目案例之--封装的实例

    Java项目案例之---封装的实例 有一个专业类,有一个专业对象,专业名称:计算机科学与技术,专业编号:J001,专业年限:4,对年限添加约束,如果输入小于0,则默认为0,否则显示输入的值 有一个学生 ...

  8. 自定义HashSet判重标准

    HashSet在执行add时会首先根据目标类的hashcode判断是否有与其hashcode相同的对象,若有则使用equals该对象判断是否与其相同. HashSet保证了元素的唯一性, 我们可以通过 ...

  9. C程序疑问解答 ——可怕的野指针

    本篇为原创,禁止任何形式的他用! 一.疑问点         指针是C语言一个很强大的功能,同时也是很容易让人犯错的一个功能,用错了指针,轻者只是报个错,重者可能整个系统都崩溃了.下面是大家在编写C程 ...

  10. js 使用ES6 实现从json中取值并返回新的数组或者字符串

    1.获取的json数据是这样的: data:[ { 'Id': '1', 'Phone': '123456', 'Name': '张三', }, { 'Id': '2', 'Phone': '7894 ...