JAVA 工程师的成长路程

在知乎中发现了一个问题,很有共性,给大家个借鉴。当然你不可以是一个小菜鸟。

在北京三年java开发经验月薪16k,如何在四年经验时要到20k?

本人半道出家的程序员,从不伪造简历,起点低,所以三年时才16k月薪*14在北京,我认为我混的比较差。
当然补充一句,谢绝拿应届生的所谓待遇来跟我比,不是我比不起,而是这么比没意义,应届生接触了四年计算机相关领域,我到现在接触这个行业也不到四年,
应届生还有应届优势,我没有,所以拿我这种半道出家的和应届生比毫无意义。举一个例子吧,我那个培训班30人,上到框架那里就剩10个了,剩下20个与编程
彻底无缘了,剩下那10个里,我起薪排第二,排第一的基本是每天一点睡觉,而且也没比我高多少,这就是我们半道出家的程序员的真相,当然假造简历的另说,
所以那些刚毕业没多久不了解“”整个“”行业的,您可以冷静会再来回答。
再补充一句,我没什么远大理想,就是挣20k-30k的税前工资就可以了,不用什么广阔的眼界和思路什么的,就这么简单。
目前掌握的技术是Spring Struts2 Hibernate MyBatis SpringMVC Shiro Activiti Netty Redis MongoDB Ehcache CAS jQuery Linux基本命令
 看过一些JDK源码 我说的掌握的技术都是非常熟练的 至于稍微会一点的C语言 安卓应用开发 Python PHP Hadoop Lucene zookeeper bootstrap 
Spring boot kafka jersey cxf 以及MySQL调优 虚拟机调优等我虽然会用但不是非常熟练的技术 不会像小孩子那样都列出来的 这是我做人的原则 不吹牛逼
 不虚张声势
我想一年以后要到20k甚至以上 我这一年需要学什么?目前工作不是很忙 项目并发量不高 数据量较大

经典回答

作者:白起
链接:https://www.zhihu.com/question/52020960/answer/131891735
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

恕我直言,目前各位的回答基本上都没有帮助。钻研更多的技术有什么用?钻研更深的技术有什么用?你懂得更多了,公司就该涨你的工资?没有这个道理
。你懂得更多,就可以跳槽到大公司?也许吧,这也是一条路,不过大公司就这么多;也不好说,可能比考公务员容易一些。
如果你在小公司,你不帮助公司发展壮大,不和公司一起成长,整天琢磨如何跳槽到大公司?这不是正路。到了大公司,你的心思是不是还在考虑如何跳槽
到更大的公司?你不关心现有的项目,不关心现有的业务?不赚钱,谁发工资给你?大公司也是要有绩效,每个项目组都是要赚到钱才能有名额有钱去给大
家加薪。啥都没有,凭什么你要加薪?就凭你懂得多?你懂得多,帮项目赚钱了没?赚不到钱,凭什么公司要给你加薪升职?
-------------
技术本身是在不停老化、不停淘汰的。当年dos下的各种int08h、int21h的各种技巧,现在有什么用?各种大内存的管理,现在谁听说过?
说点通俗的,当年我一个叔叔是个体户,开了个打字社,很赚钱,一夜就上千!现在呢?当年我岳父,会修发电机!很赚钱!现在呢?
现在你听说过打字社吗?你觉得发电机有啥用吗?就说十几年前,我们开发游戏要用到各种基础的数学知识,现在开发游戏还要用到多少?
不懂矩阵乘法,有啥关系?不懂四元数,游戏就做不出来?不会内存管理,游戏就做不出来?不卖钱的游戏是因为技术不够?
-------------
这些年IT行业高速发展,造成了这么广泛的误解,以为光靠技术就可以加薪升职走上人生巅峰迎娶白富美。
其实,以前如何加薪升职?很明白,你帮公司创造价值,你帮老板赚钱,你就有加薪升职的可能;当然,不排除黑心老板很很剥削员工,你即使帮公司创造
了价值帮老板赚了钱老板也不给你加薪;
可是如果你不能帮公司创造价值,不能帮老板赚钱,为什么老板要让你赚他的钱?那是老板头脑有问题,他迟早要关门的。
--------------
重要的是除了技术之外,你要会沟通,懂业务,理解需求,懂产品!最终,我们都是为了用户创造价值的。
你不懂用户,不理解市场,不知道产品为什么要这么做,不知道如何根据实际需求去选择技术方案,有什么用?
你技术再牛,不能做出能满足用户需求的产品,你给公司创造了什么价值?嗯你不懂需求,但是你技术厉害,会优化,你会面对海量用户进行优化。
那么你知道这个场景之下,是速度更重要还是准确更重要吗?
理解需求的话,也许可以牺牲准确性一两天迅速拿出一个让用户满意的方案,也许可以改头换面提供给用户其它办法,你的高技术的方案要实施一个月,
有用吗?有时候会有用。真的,某些特定场合。
不过,如果真的把自己局限在技术领域,技术以外的东西一点都不碰,那么就算拿到高薪,也只是暂时的。
通货膨胀总是不断继续的,过几年,高薪就不再高了,随着技术的进步,硬件的进步,刚入门的低手也能开发出用户满意的产品,你的人生道路越走越窄,
何必?
-------------
具体的来说题主。你会多少技术不重要,不会的也可以学啊。
但是,你解决了多少实际问题?你有没有独立研发产品的能力?你有没有想办法满足用户需求的能力?你有没有帮助产品经理整理需求的能力?
你有没有把老板的需求转变成切实可行的技术方案的能力?再具体一点,大家面对需求一筹莫展的时候,你有没有办法?
线上产品出了很不稳定的bug很难重现,你有没有办法?用户多了原有的方案太耗性能,你有没有办法?
还是说,你的办法是:1. 推倒重来吧,我们的架构不行,重做一个吧!2. 我们用上某个新框架,新技术,公司就赚钱了!3. 现在都流行xxx了, 
我们赶快上吧,否则就落伍了!......至于用户的需求...不好意思,需求是什么?用户是什么?能吃吗?
-------------
所以技术固然重要,一定不能局限在技术。交流,视野,业务,需求,市场,用户,哪样都至少跟技术同等重要。
不要只局限在技术的圈子里,大家一起自嗨了!上知乎,一起发现更大的世界吧!
-------------
劝题主一句,你这脾气得改改,别见谁都是敌人,否则就算薪水更高也很容易被孤立。
说真的,我毕业三年的时候薪水才只有你的一半,而且我是初二就开始写程序,南京大学毕业,现在我已经工作快二十年了;
你能做到现在这样,我真心觉得你很厉害。但是你干嘛要到处跟人抬杠呢?人跟人之间并不是只有敌人的关系,
到知乎来是为了炫耀自己打击别人,还是为了互相交流共同进步呢?你觉得不伪造简历是一件很光荣的事情,可我觉得这是再正常不过的事情啊。
你三年16k,我觉得很高啊,别说三年了,我工作六年的时候也只有你的一半啊。
题目描述改了又改,现在你在详细描述你的培训班......千万别这样,这样眼光就局限了,好歹你工作了三年,你的目标是明年20k后年25k啊,
怎么还老惦记着三年前的培训班呢?我之所以来回答这个问题,就是希望大家别为了技术而技术,找不到方向;多去从别的角度来思考问题,
就容易找到方向了。
这个回复是真的蛮不错的……不要过分关注技术,以我个人的经验,其实很多时候,技术并不值钱……

做产品是管理层的事情,赚钱是管理层的事情,做技术的就该钻研了技术然后要求公司养你?当然不是,不能创造价值的技术,对公司没有用的技术,为什么公司要买单?

对于评论发表下看法,做技术的人都是知识工作者,知识工作者的价值都是产生在客户那里的,如果以完成任务为全部目标的话,怎么能确保你做的工作产生价值了呢?自己做的东西自己再欣赏,不能给客户解决需要,他可不会管你的代码写得优雅不优雅。


其他的答案很多在讲技术或者对业务的理解或是掌握程度,有助于提升薪酬。
但我其实要告诉楼主,提升程序员的薪酬最重要的是 选择。
在LZ现有技术水平的情况下,至少有四种方式可以帮助LZ提升收入-跳槽,换一个行业。
互联网金融、直播、互联网医疗等当前热门行业对于程序员的需求颇大,换一个上升的行业,进入一家上升期的企业,收入增加是最直接的。
-出国,争取去硅谷或其他高收入国家,工作量不变,收入增长妥妥的。
比如 @覃超  的硅谷工作机会内推 知乎专栏-接外包项目,至少提升5k/月的收入。 
开源中国和Coding上有不少10天左右可以完成的项目,3-5W不等,每2个月做一个。
(可能影响未来发展的学习时间,量力而行)-现在开始研究小程序,以后业余开个直播教人如何开发小程序,打赏或者是课酬收入也是杠杠的。
再回答LZ关心的如何提升自己的能力,争取更高的收入。初级程序员的重心在编写代码、运用框架->中级程序员重心在编写代码和框架->高级程序员技术攻关、
性能调优->架构师 解决业务和技术问题下面是我画的不同阶段程序员的能力的示意图,能力比例表示不一定准确,主要供参考。

作者:贺嘉
链接:https://www.zhihu.com/question/52020960/answer/132708932
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

JAVA 工程师的成长路程_第1张图片

作者:贺嘉
链接:https://www.zhihu.com/question/52020960/answer/132708932
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

某朋友公司在招的一份15w薪酬的Java工程师工作职责说明:
1、熟悉spring,ibatis等常用框架;
2、有过运维经验或shell开发优先;
3、有过dubbo或者rabbitmq经验者优先;
4、熟悉nginx配置者优先;
5、有丰富的数据库设计经验,精通sql语言,并熟悉Mysql数据库系统

一份25-40w薪酬的资深Java工程师工作职责说明 (加粗的主要为差异部分)
1;理解熟悉金融业务(消费信贷,支付交易,理财等),参与相关业务的系统设计,核心系统代码的编写
2;系统缺陷的修复以及性能调优;
3;主导技术难题攻关,确保高性能处理和系统的稳定性

任职要求:

1;三年以上Java开发经验,对技术有热情和追求;2;熟悉分布式系统的设计和应用,熟悉分布式、缓存、消息等机制;能对分布式常用技术进行合理应用,解决问题;

3;掌握多线程及高性能的设计与编码及性能调优;有高并发应用开发经验;

4;掌握Linux 操作系统和大型数据库(Oracle、MySql);对sql优化有丰富的经验;

5;有良好的抽象设计能力和逻辑性,善于独立分析和解决问题;

6;有第三方支付开发经验的优先,有会计清算系统开发经验的优先

7. 具有金融行业系统应用架构工作经验者,熟悉行业业务模型和应用架构模型者,优先考虑;

你可以对比一下接近你现在收入的岗位说明和你希望达到收入的岗位说明,中间的差距不也就是另一种你需要填补的坑么?



你可能感兴趣的:(经验)