这两天博客园上关于“.Net工资低”的讨论挺多的,让我不禁想起一句话“拉不出屎来怪地球没引力”。

那些抱怨“做.Net工作三年了月薪才6千,我的同学做Java现在都一万二”的哥们,你问问自己“我会什么,人家会什么”:人家使用struts做mvc模式开发已经轻车熟路的时候,你还在为GridView控件的一堆事件的触发顺序而头疼;人家已经研究IOC、AOP应用的缺点的时候,你还在为会找到一个好用的三层架构代码生成器而沾沾自喜;人家已经在研究Redis、Ngix、Memcached等技术进行大型网站架构,你还在纠结为什么Session总是丢失。如果这样你和别人工资一样高,那才没天理呢。

对于一个软件工程师来讲,工资高低和你用啥语言关系不大,而是和自己的技术有关,而技术又决定你进入什么样的公司、做什么样的项目,在什么样的公司、做什么样的项目则又决定了你的成长空间。为了避免有人说我打广告,我这里不说我那一大把专科毕业就拿到不错Offer的学生,也不说那些名校毕业进入BAT的神人,我随便拿我的两个前同事举例。

同事A大学毕业进入我的第二家公司,进入后就进入公司的一个基于.Net技术的银行项目,小伙子技术研究的比较深入,简直是技术狂人,没有他解决不了的技术难题,很快就成为技术骨干,三年后就成了部门经理,现在已经成为在北京有车有房一族了,月薪还用说吗。而同事和他一起进入公司的一个他的同学,对待技术的态度一直是“凑合能实现就行,研究那东西有什么用”,在公司干了一年就辞职了,前阵子我问他的近况,他现在在一家出版社维护他们的ERP,月薪6K,每天就是改改界面、改改Bug,他说“真没劲,入错行了”

同事B是一家市属二本院校的毕业生,毕业前就兼职做项目,毕业后靠自己的技术进入国内最大的一个OA系统公司,基于.Net技术开发,他们开发的是大型的OA系统,分布式、负载均衡、高并发、大型企业组织架构、自制工作流引擎、二次开发平台等等项目中都有涉及到,工作一年后月薪1万;而我认识的另外一个同样他们学校毕业的C,毕业后进入一家专门靠给水利系统做软件系统的公司,老板靠关系赚发了,而他整天做的就是做各种各样的增删改查,最多加一个“导出为Excel”,工作了两年了,现在还是月薪5K

这样的例子我相信大家都能举出很多来。其实任何一个行业都是有混得好的也有混的差的,混的差的肯定欠缺很多混得好的人所欠缺的素养。混的差的人如果自甘平庸也就算了,因为平庸也是一种很难得的生活态度,但如果又在那里婆婆妈妈的抱怨就属于“拉不出屎来怪地球没引力”了。

因为.Net入门门槛低,用来快速进行简单的管理系统的开发特别简单,所以很多小型项目都使用.Net开发,而这些项目很显然开不出高工资出来,这就造成了貌似“.Net工资低”的假象。其实用.Net开发大、复杂、有钱项目的公司也有很多,你技术不精进不去那能怨.Net吗? 你可能会说“Java大公司比.Net多”,那你学Java去呀,我就不信.Net研究不深入的人Java就能研究的深入了,我相信很多人当初选择.Net不是因为多么喜欢.Net,而是因为.Net"入门简单",人要对自己的选择负责。

每次看到有人抱怨“做.Net没前途、做.Net工资低”我就又不得不想起我的第一门深入研究的语言:Delphi。Delphi当年给程序员的感觉就和现在的.Net一样“不用懂太多东西,拖拖控件、设设属性、绑定一下,写几个Onclick就搞定”。我大四在学校兼职用Delphi做了一个呼叫中心的项目,和我同一个项目组的一个哥们也属于对技术不求甚解类型的,遇到难题从网上搜一段代码放上去能搞定就行,他说“能解决问题就行了呗,管他什么原理呢”。而我(画外音:老杨又开始吹牛了)不甘于只会拖拖控件,我则研究Com、网络编程、多线程、Win32 API、CGI等这些技术,而且学习面向对象、设计模式等语言深入的东西,大学毕业的时候Delphi已经没落了,工作机会远没有Java、.Net的多,但是我什么都不担心,因为Delphi研究的很深入,我自学了10多天Java,就拿到了金蝶的Java工程师的Offer,工作后因为项目的需要又陆续用了Python、.Net、PHP等语言,一直到现在专心做.Net教学,而收入嘛,你猜!而那位“能解决问题就行了呗”的哥们现在据说在济南开个小饭馆,您千万不要说“开饭馆比写程序赚钱多了”,您是看励志故事看多了,您是对餐饮业没了解,大部分开饭馆的只能维持养家糊口的水平,这个我以后有机会还会写单独的博客分析的。

当年Delphi在衰落过程中,也有很多人在抱怨“Delphi没前途”,我认识的一些当年用Delphi拖拖TADOConnection、TADOQuery做各种管理系统的程序猿已经在行业内杳无音讯。其实Delphi开发深入的话不比C++简单,据了解一些当年的Delphi牛人现在仍然在使用着和Delphi类似的底层技术在用着汇编、C/C++、.Net进行者各种高端大气上档次的项目。

如果你在不厌其烦的修改着动软生成的代码,那么就不要说.Net没意思,因为有人在开发着自己的代码生成器;如果你在开发着一个三十多人访问的OA系统,那么就不要抱怨.Net工资高,因为有人在开发着上万人访问、跨多国访问的集团办公系统。当别人在讨论着ORM有哪些缺点的时候,你说“Hibernate太难用了,没啥用,发明Hibernate的人是因为他自己不懂SQL才发明的ORM这种东西”,我只能说“呵呵!”

2013.08.16 21:44更新

我又发表了一篇《给“.Net工资低”争论一个了解吧!》谈了谈我对各位评论中说的事情的理解。

工资低的.Net程序员,活该你工资低的更多相关文章

  1. 程序员为什么害怕低代码?ZT

    转自:https://www.jianshu.com/p/cd89fe94cd30 低代码 是一种近些年兴起的企业软件快速开发技术和工具.借助低代码使用者无需编码即可完成企业应用的常用功能,少量编码扩 ...

  2. 远程办公《Remote》读书笔记:中国程序员在家上班月入过六万不是梦

    这不是一本新书,这是一本很值得中国程序员看的老书,所以我不是来做卖新书广告的:) 但它的确是一本好书,这本书在Amazon上3个business categories排第一.作者Jason Fried ...

  3. 非名校毕业年薪20W程序员 心得分享

    大家好,我是落落http://blog.csdn.net/robinson1988/ QQ692162374,其实我选择Oracle是一件很神奇的事情,但是现在回想起来又觉得是命中注定.我2006年就 ...

  4. 程序员买房指南——LZ的三次买房和一次卖房经历

    引言 买房,一直是程序员群体绕不开的一个话题,尤其是到了一定年纪和人生阶段以后,买房这件事会变得越来越迫切. 为什么LZ一上来就说,买房是程序员绕不开的一个话题? 其实原因很简单,由于程序员这个职业的 ...

  5. 你好,我是梁桐铭,.NET程序员,啰嗦下过去几年来的感悟吧

    序 所有的文章都会有序言,我的当然也不例外. 因为职业和工作的关系,很少有时间陪伴家人,感谢妻子10年以来的容忍和支持,感谢女儿给我生活带来的乐趣. 希望孩子长大了之后能热爱编程(可以不用以它谋生). ...

  6. 程序员怎样迈出从5K到1W的重要一步

    为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝:而自己加班加点搞到天亮还做不完. 为什么用户提出需求变更后,大牛只需潇洒地敲敲键盘,改改配置:而自己将代码改了又改,删了又建,几乎晕 ...

  7. 做什么职业,也别做程序员,尤其是Java程序员

    千万别做程序员,尤其别做Java这种门槛低,入门快的程序员(别跟我说Java搞精通了也很牛之类的,原因不解释,做5年以上就知道了),程序员本来就是我见过最坑爹的职业了...Java程序员更是,现在满地 ...

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

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

  9. 前后端分离时代,Java 程序员的变与不变!

    事情的起因是这样的,有个星球的小伙伴向邀请松哥在知乎上回答一个问题,原题是: 前后端分离的时代,Java后台程序员的技术建议? 松哥认真看了下这个问题,感觉对于初次接触前后端分离的小伙伴来说,可能都会 ...

随机推荐

  1. Eclipse JSP/Servlet 环境搭建

    Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装,可参阅 Java 开发环境配置. 我们可以使用 Eclipse 来搭建 JSP 开发环境,首先我们分别下载 ...

  2. 正则验证:Pattern,Matcher

    public static void main(String[] args) { String regex="([a-z]{1})(\\d{2})"; String candida ...

  3. linux部分命令

    打包ROOT文件夹tar -cvf ROOT3.tar ./ROOT 解压则相反 ps aux | grep tomcat 直接杀死tomcat sudo kill -9 进程号 rm -rf ./R ...

  4. IMoniker接口的MKParseDisplayName和 GetDisplayName的注意事项

    IMoniker接口的MKParseDisplayName和 GetDisplayName的注意事项  

  5. Python PEP 492 中文翻译——协程与async/await语法

    原文标题:PEP 0492 -- Coroutines with async and await syntax 原文链接:https://www.python.org/dev/peps/pep-049 ...

  6. (转载)自定义 setDateFormat 显示格式

    转自 http://blog.sina.com.cn/s/blog_67b27b60010130mr.html -(NSString *)getStringFromDate:(NSDate *)aDa ...

  7. 循序渐进Python3(七) --1-- 面向对象

    Python 面向对象 什么是面向对象编程? 面向对象编程是一种程序设计范式 对现实世界建立对象模型 把程序看作不同对象的相互调用 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Py ...

  8. rotate the clock

    A program test: You are given N round clocks. Every clock has M hands, and these hands can point to ...

  9. C# 判断是否联网

    public static class Internet { [DllImport("winInet.dll")] private static extern bool Inter ...

  10. [转]Linux vi 编辑后如何保存

    比如:vi /etc/vsftpd/vsftpd.conf 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi :w file 将修改另外保存到file中,不退出vi :w! 强制保存,不推 ...