3年JAVA程序员的自评
半道出家的程序员,从不伪造简历,起点低,三年时才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甚至以上 我这一年需要学什么?目前工作不是很忙 项目并发量不高 数据量较大
八年JAVA高级程序员给我的解析
回答一下大家关心的如何提升自己的能力,争取更高的收入。
初级程序员的重心在编写代码、运用框架->中级程序员重心在编写代码和框架->高级程序员技术攻关、性能调优->架构师 解决业务和技术问题
下面是我画的不同阶段程序员的能力的示意图,能力比例表示不一定准确,主要供参考。
某朋友公司在招的一份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. 具有金融行业系统应用架构工作经验者,熟悉行业业务模型和应用架构模型者,优先考虑;
你可以对比一下接近你现在收入的岗位说明和你希望达到收入的岗位说明,中间的差距不也就是另一种你需要填补的坑么?
中级后端程序员提升薪资的重要点在于:
1.项目经验:支付,通知,IM,短信等公用模块快迅实现。
2.代码质量:抽象封装,日志规范,发布流程,快速定位。
3.性能优化:服务器的内存,硬盘,数据增长量,带宽,系统中最消耗性能的地方,一个请求需要调用哪些服务,每次访问DB的时间是多久。
4.架构能力:分布式,负载均衡,读写分离。
5.选型能力:JMS,SOA/SCA/微服务,MongoDB/Redis/Memcache,Java/Go/NodeJS等。
6.管理能力:团队技术分享组织,项目风险控制,任务和工作的分配
7.需求评审能力:很快给出反馈建议,多长时间能够完成,技术风险点在哪,有没有花费时间长,又不重要的需求。
8.Geek能力:对某一个技术点研究的特别深入,比如说Nginx的配置,设计,构架。ElasticSearch的设计,优势。
为大家列出以下体系图
针对下面的技术我特意整理了一下,有很多技术不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以关注我后台私信回复【java架构】获取往期Java高级架构资料、源码、笔记、视频。
可以参考一下学习
1. 工程化专题
(团队大于3个人之后,你需要去考虑团队合作,科学管理)
2.源码分析专题
(好的程序员,一行代码一个设计就能看出来,源码分析带你品味代码,感受架构)
3.分布式架构
(跟上技术节奏,扩宽技术视野,程序员要往上提升,要有自己的技术工具箱和技术认知。)
4.微服务架构专题
微服务架构专题
5.性能优化
(追求高效、科学调优,不靠碰运气)
如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以点击文末下方传送门,即可免费获取往期Java高级架构资料、源码、笔记、视频。