程序员的等级划分的一些想法

程序员怎么才算是厉害? 项目经理?架构师?程序员?
程序员分好几种,大部分在开始的时候基本就决定了自己的方向。C#,JAVA方向的,大部分都是在做企业级应用,因为大部分应用都是企业级的,企业级的离不开数据库,最终还是纠缠在数据库涉及上,但是不代表没有人用C#,java去实现一些算法。有几个人用C#或java去做应用不用数据库呢,几乎是没有的。有些小工具有用的,与其用C#和java不如选择Delphi最合适,无论是实现难度和时间都更胜一筹。C#,java 80%以上的人搞到最后发现其实是在搞业务,熟悉某个领域的业务模型设计,很宝贵的经验积累,所以这方面程序员是按行业项目经验积累和来决定未来的薪资和判定能力划分的。
还有另一部分程序员,某种意义上讲,这部分人才是真正搞技术的,因为前者是一般人都可以学会的,至于熟练运用只是需要时间而已,有些人快,有些人慢,但是如果C/C++,逆向的起点相对是较高的,同时所在领域也是不相关的,c/c++很多程序员可以不用数据库,比如Qt,Bcg,拿出一个知识点,学个几年时间都很难说的上是精通,这个在网上有很多的争议,到底是C#难,java难,还是c难,C++难。这毫无疑问是C/C++难,如果是C#和java比C/C++难的,去随便找个群里喊下。拿一个界面和一个Socket编写流程和效率,很明显的对比,就拿腾讯,360的客户端界面来讲,有没有用C#,java实现的,用PE工具查看下就晓得代码用什么编译的。c/c++往往应用于工业领域,因为安全方面与效率要求都是比较高的。反过来看小公司,除了工业级的,多少公司会选择c++去做应用,因为要求没有达到那么高,成本高,时间慢,这是弊端。这种人是按技术点去划分能力等级的。 一个8年Qt经验的,与一个8年mfc经验的相比,没有可比性,因为从事的太细。彼此都可以会,但是都有不同的擅长,c/c++也有设计到业务领域,很多方面是涉及的技术点与算法,同样一个自定义的算法用c++和c#去实现区别很明显。这部分人是真正搞技术的,很多知识都是最新的,不熟悉的情况下去学习新的技术点。
还有部分人是奇葩的逆向程序员,这部分人需要天赋和能力了,起点相对更高一些,当然薪资也是很夸张的,月薪20W+的也不足为怪。因为太少人能够从事这行业。
以上两部分程序员,同级水平下看学习难度,还是看薪资都是很明显的。最后在社会的价值体现也是很明显的,C#和java大部分都是企业级应用,而C/C++很多都是科研级项目。上述仅是个人观点,程序的世界像偏森林,各种奇葩的猿,敬佩每一位程序猿。
 
难度,薪资,价值体现