工作了十年的高级Java程序员分享从业经验(送给还在奋斗的码农)

Java程序员以其薪资待遇,就业选择方向多,大有发展前途,梦想成为Java程序员的也越来越多,真正开始付诸行动学Java的人也越来越多。

但是有的Java程序员是早已从低端发展到中级、高级java程序员。

而有的Java程序员还是在低端,在低端的程序员赢如何提升自身能力,争取更好的待遇呢?

说来说去就是技术或者能力,下面我们先来说说技能。

关于专业技能:

我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价、拿到的薪水势必也越高。

算法:常用排序算法,二分查找,链表相关,数组相关,字符串相关,树相关等

常见序列化协议及其优缺点

memcached内存原理,为什么是基于块的存储

搭建一个rpc需要准备什么

如果线上服务器频繁地出现full gc ,如何去排查

如果某一时刻线上机器突然量变得很大,服务扛不住了,怎么解决

LUR算法的实现

LinkedHashMap实现LRU

定义栈的数据结构,请在该类型中实现一个能够找到栈最小元素的min函数

海量数据处理的解决思路

reactor模型的演变

阻塞、非阻塞、同步、异步区别

Collection的子接口

jvm调优相关

zookeeper相关,节点类型,如何实现服务发现和服务注册

nginx负载均衡相关,让你去实现负载均衡,该怎么实现

linux命令,awk、cat、sort、cut、grep、uniq、wc、top等

压力测试相关,怎么分析,单接口压测和多情况下的压测

你觉得你的有点是什么,你的缺点是什么

spring mvc的实现原理

netty底层实现,IO模型,ChannelPipeline的实现和原理

缓存的设计和优化

缓存和数据库一致性同步解决方案

你所在项目的系统架构,谈谈整体实现

消息队列的使用场景

ActiveMQ、RabbitMQ、Kafka的区别

第二. 积累行业背景;

行业背景非常重要;工作 5 年后必须确定自己的行业背景,比如一直从事电信行业,一直从事银行项目,一直从事 ERP 行业等等。

一个程序员不可能是一直写代码的,就是写代码也要知道业务逻辑,满足什么需求;俗话说隔行如隔山,每个行业的业务都不一样,甚至差别很大,比如你一直从事流媒体的研究,让你跳槽到一家银行项目,完了,一切从头学吧,以前的行业经验都用不上了;而且,一个公司公司招人,就是希望找到那些很容易上手,不需要培训业务很久的程序员;频繁跳槽的朋友,一定要注意这点;

一直在一个行业呆久了,就可以成为这个行业的专家;我们可以经常看到,一个项目组的某个 leader,代码写的一般,但是却可以跟客户流畅的沟通,控制着新需求的提出,bug 的修正等等;而客户也很愿意跟他打交道,因为那些老的项目只有他能维护,他甚至熟悉系统的每一张表结构——- 可想在这个行业呆的时间有多久啦。

第三. 合理的职业规划

下面我用一张通俗易懂的图给大家解释下程序员是怎么晋升的:

所以说如果想从一个普普通通的程序员变成首席技术官,还是有很多步要走的不过为了能尽快的实现这一目标,我们还是要好好规划一下的。

每晚晚上八点到十点半,阿里大牛直播授课Java工程化、高性能及分布式、性能调优、Spring,MyBatis,Netty源码分析等知识点讲解。有需要的朋友可以加入我们的Java架构/分布式/高性能群:697579751

最后是我整理出的一个系统学习的图谱:

分布式专题

微服务架构

性能优化

双十一电商项目实战

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

C# Stream 和 byte[] 之间的转换

581
来自专栏C/C++基础

C#获取系统当前时间

ystem.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=Sy...

1123
来自专栏海说

Java应用中常见的JDBC连接字符串(SQLite、MySQL、Oracle、Sybase、SQLServer、DB2)

Java应用中常见的JDBC连接字符串 Java应用中连接数据库是不可或缺的,于是便整理一些可能用到的JDBC的jar包及其相匹配的URL,以备日后查阅。 1)...

2680
来自专栏码匠的流水账

聊聊EurekaRibbonClientConfiguration

spring-cloud-netflix-eureka-client-2.0.0.RELEASE-sources.jar!/org/springframewor...

1121
来自专栏c#开发者

解决msmq接收远程主机私有队列消息的问题!

通过调用windows\system32\mqoa.dll 这个Message Queuing ActiveX Interface API函数就可以做到; 下面...

5107
来自专栏吴小龙同學

时间工具类TimeUtil

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30...

3036
来自专栏Pulsar-V

C#下各种获取时间的姿势

直接贴代码吧 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21...

3196
来自专栏听雨堂

想修改CSS

      下载了一个“通用”的CSS文件,本来想偷懒的,结果发现有问题,就是它用的颜色是变量定义的,无法识别。我又找不到在哪里可以定义。 BODY{     ...

20110
来自专栏xingoo, 一个梦想做发明家的程序员

windows程序设计-第四章 system1.c

/*---------------------------------------------------- SYSMETS1.C -- System M...

22810
来自专栏跟着阿笨一起玩NET

GB2312转换成UTF-8与utf_8转换成GB2312

1721

扫码关注云+社区