先来看一组数据,从某招聘网站直接检索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. 如何在VPS上搭建WordPress博客网站(史上最全图文教程)

    由于现在很多人仍然使用共享主机,所以我决定写这篇教程,教你如何设置自己的虚拟专用服务器(VPS),以便为启动一个 WordPress 网站准备好所有必要的服务. 为什么共享托管不是最好的选择? 你的 ...

  2. JAVA 实现 GET、POST、PUT、DELETE HTTP请求

    1.get 2.put 3.post 4.delete

  3. 一张图带你了解webpack的require.context

    很多人应该像我一样,对于webpack的require.context都是一知半解吧.网上很多关于require.context的使用案例,但是我没找到可以帮助我理解这个知识点的,于是也决定自己来探索 ...

  4. 关于ArrayList的扩容机制

    关于ArrayList的扩容机制 ArrayList作为List接口常用的一个实现类,其底层数据接口由数组实现,可以保证O(1) 复杂度的随机查找, 在增删效率上不如LinkedList,但是在查询效 ...

  5. scrapy实战2分布式爬取lagou招聘(加入了免费的User-Agent随机动态获取库 fake-useragent 使用方法查看:https://github.com/hellysmile/fake-useragent)

    items.py # -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentati ...

  6. 1. Python 魔法方法

    Python 魔法方法 基础: 如果你想... 所以,你写... Python调用... 初始化一个实例 x = MyClass() x.__init__() 作为一个字符串的"官方&quo ...

  7. NioEventLoop启动流程源码解析

    NioEventLoop的启动时机是在服务端的NioServerSocketChannel中的ServerSocketChannel初始化完成,且注册在NioEventLoop后执行的, 下一步就是去 ...

  8. centos7 添加用户,组

    centos7添加用户,组. groupadd projectUsers //添加组,组名projectUser. cat /etc/group //查看最后一行是projectUser. 添加用户并 ...

  9. Connecting to the Network

    This lesson shows you how to implement a simple application that connects to the network. It explain ...

  10. 小代学Spring Boot之集成MyBatis

    想要获取更多文章可以访问我的博客 - 代码无止境. 上一篇小代同学在Spring Boot项目中配置了数据源,但是通常来讲我们访问数据库都会通过一个ORM框架,很少会直接使用JDBC来执行数据库操作的 ...