为什么会有这样的人
阿粉工作了这么久,有时候也会被问到一个问题,那就是“为什么我们公司有那种什么代码都不写但是他的工资却是我的2倍的人呢?太不公平了”。
在阿粉听到这个问题的时候,首先想到的就是,工程师的分类,就以 「Java工程师」 为例。
首先给大家看一个比较经典的区分,在招聘网站上的区分:
「初中级开发工程师」,那么什么怎么去定义初级开发呢?一般的要求招聘网站上都会写的明明白白,熟悉 Spring boot,Spring等框架;,熟悉dubbo框架、redis等;熟悉Unix/Linux系统,精通数据库Oracle、MySQL 等的开发,精通SQL及存储过程编写能力;
一般的「初中级开发工程师」要求不是特别的高,很多都是要求你会在公司干活,然后能够对公司项目进行代码的编写,和业务的实现。
那么「高级开发工程师」呢?
既然带上了高级两个字,那么必定的,在招聘要求上肯定会有很多不同于「初中级开发工程师」的要求的,比如说:
- 负责风控系统架构设计和研发,确保技术方案能够按计划要求,高质量的完成;
- 保证系统稳定性,解决各类潜在系统技术风险,持续提升风控系统性能及可用性/伸缩性/可扩展性/可维护性,保证系统安全、高可用、高性能运行;
- 帮助团队其他成员解决技术问题、及相关技术分享;
阿粉认识一些就职于相关大公司的一些朋友,具体什么公司就不说了,免得再被查了水表就不好了,他们公司的高级开发比较给力,每天会有早会,在早会上不讨论公司业务,只做技术分享,分享内容不限制,之前看过他们分享的“微信抢红包的算法”,比较有趣,有兴趣的可以自行百度一下。
而且这些高级开发并不是说完全的一点代码不写,只是他们很多都是负责对你的代码进行审核,而这个审核的过程可想而知,其实要比你这个写代码的难度要高不少。
还有一类算是顶尖的人才了,那就是 「架构师」
大家从招聘工资上可以看到,他们的薪资水平可能是我们的2倍甚至是3倍,这相对应的他们需要做的内容肯定和「初中级开发工程师」还有「高级开发工程师」又有所不同:
- 负责系统框架搭建和系统设计;
- 深度参与业务规划,讨论并提出有建设性的意见;
这些招聘内容上就看出来了,从“架构师”的层次上,很多都是从宏观的角度,把控公司的项目,设计公司的系统,把公司的项目变相的变得更加的“高大上”一点。
既然已经区分完了,那么该说说为什么有这么多的朋友会心里想他们不写代码反而比我拿的工资高呢?
为什么他们比我工资高
先说大部分的人,我相信现在市面上的程序员,百分之50左右的人是从某某培训机构培训,百分之40的人是从学校出来,属于科班生,还有百分之十是属于那些自学转行的人,而在这些人中,能出现架构师位置的人,大部分都是从学校出来的,并不是绝对的,我相信从培训机构和自学的人,也有成为大佬的,但这毕竟是少数。
之前和一个从事大数据的一个朋友吃饭的时候,听她说,他们公司来了一个清华毕业的硕士,但是当时在入职的时候,说明了一下,对公司做的这些不怎么了解,但是薪酬也比较高,而公司也留下这个人,之后大家也能想到,他为公司确实创造了很高的收益。
也有一些个例,比如说阿里的吴翰清,当着面试官的面,直接黑了阿里的系统,也因此受到了阿里的赏识成功进入阿里,之后阿里云方面的安全问题都是交给他来打理的,这样的人仅仅是少数的。
而多数的不写代码的还身在你们公司的,他们的技术,有时候你是看不到的,之前在公司写过一个 SQL 语句,在项目中实际使用的时候,这个 SQL 因为查询的数据比较大,涉及的表比较多,反应比较慢,而在大佬的手中,改了一下 SQL 莫名的,查询速度快了太多。他们不是不写代码,而是不写那些自己写了千百遍的代码。
算法比普通的人要强
在架构师眼中,我不知道算法是什么样子的存在,但是在阿粉的眼中,算法一直属于高端内容,能够设计一个拥有好的算法的系统简直太重要了,而这些人的算法,比一些普通的人强的不是一点半点。
所以说这些人,不写代码工资高是有真正原因的,那么你们公司有这样不写代码,却工资比你高的人么?