在Java大环境下.NET程序员如何夺得一线生机

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 在Java大环境下.NET程序员如何夺得一线生机先来看一组数据,从某招聘网站直接检索3-4w的岗位,会看到Java与.NET社会需求量的巨大差异,这里就不再对比高薪的岗位了,.NET的高薪岗位更是少的可怜:  笔者从业十余年,一直是在.NET圈子摸爬滚打,曾经也有几次机会可以转Java,但或许是懒惰,或许出于对微软的信任,也或许是相信市场供求关系的调整,总之,没有换过语言,一直追寻微软脚步,实践各种新技术并扩充知识面。

在Java大环境下.NET程序员如何夺得一线生机
先来看一组数据,从某招聘网站直接检索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不擅长,比如与微软产品的集成如AD、SharePoint、Exchange,还有Window客户端应用开发方面。
  然后,七夕节了,你想想你不努力,你老婆发消息怎么回复。

  祝大家,七夕节快乐,工作虽忙,也别忘陪伴家人哦。
作者:MeteorSeed

原文地址https://www.cnblogs.com/MeteorSeed/p/11313541.html

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
存储 算法 Java
惊!Java程序员必看:JVM调优揭秘,堆溢出、栈溢出如何巧妙化解?
【8月更文挑战第29天】在Java领域,JVM是代码运行的基础,但需适当调优以发挥最佳性能。本文探讨了JVM中常见的堆溢出和栈溢出问题及其解决方法。堆溢出发生在堆空间不足时,可通过增加堆空间、优化代码及释放对象解决;栈溢出则因递归调用过深或线程过多引起,调整栈大小、优化算法和使用线程池可有效应对。通过合理配置和调优JVM,可确保Java应用稳定高效运行。
132 4
|
3月前
|
算法 Java 程序员
在Java的编程世界里,多态不仅仅是一种代码层面的技术,它是思想的碰撞,是程序员对现实世界复杂性的抽象映射,是对软件设计哲学的深刻领悟。
在Java的编程世界里,多态不仅仅是一种代码层面的技术,它是思想的碰撞,是程序员对现实世界复杂性的抽象映射,是对软件设计哲学的深刻领悟。
63 9
|
3月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
48 1
|
3月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
2天前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
22 9
|
5天前
|
IDE Java 程序员
C++ 程序员的 Java 指南
一个 C++ 程序员自己总结的 Java 学习中应该注意的点。
15 5
|
4天前
|
安全 算法 编译器
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
【10月更文挑战第30天】在.NET 9 中,AOT(Ahead-of-Time)编译技术在支持老旧的 Windows 7 和 XP 系统方面取得了显著进展。主要突破包括:性能提升(启动速度加快、执行效率提高)、部署优化(无需安装.NET 运行时、减小应用程序体积)、兼容性保障(编译策略优化、依赖项管理改进)以及安全性增强(代码保护机制)。这些改进使得应用程序在老旧系统上运行更加流畅、高效和安全。
|
4天前
|
XML 安全 API
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
.NET 9开始,AOT支持Win7和XP,不仅仅只支持SP1版本
.NET 9 AOT的突破 - 支持老旧Win7与XP环境
|
2月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
36 5
|
2月前
|
Java Linux Python
Linux环境下 代码java调用python出错
Linux环境下 代码java调用python出错
41 3