柒八块表的博客 程序猿一枚

Java后台新人技术栈

2017-10-25

Metrics

为什么写这篇文章

今天有位校招同学问我,有没有什么技术资料可供学习,便于提前熟悉下公司用的技术;其实若简单敷衍下,我便一句话回复了:网上资料已经很丰富了、自己查有关Java的知识,话虽如此,但是如果这么回答基本上也跟没回答一样,想起自己当年毕业踩过的坑,如果能有一人在迷茫的时候指导一下、可能会少走一些弯路、成长会快一些,因此我想写下这篇新人需要了解学习的技术栈;

当然,我也只是根据目前自己的经历来总结的,或许若干年后自己再来看这篇文章,不一定都对,仅代表个人意见;

这篇文章面向哪些人

自己工作这几年,也带过几个新人,仅以自己这点经历写写,主要针对刚毕业、或毕业一两年还未入门的新人;

新人有什么特点

大部分新人都是一张白纸、可塑性强、有激情、时间充足、求知欲强等等,如果引导合适,潜力无穷,能很快成长为团队主力,虽然我当时没遇到这样的机会、但是我会尽力帮助我带的新人上手;

如何培养新人

我见过的培养新人方式有几种:

  1. 放养式:给新人的任务,完全靠新人自己、导师只看结果,新人如果有问题也会去指导,新人不主动问也不去找新人去沟通;
  2. 引导式:给新人的任务,先让新人自己去查资料、出方案,然后再给出导师自己的建议,定期给新人以大方向的指导:比如哪块知识薄弱需要加强;
  3. 分配式:给新人的任务,怎么做、如何实现都一一告诉新人,新人就像一个翻译机;

每个人性格不一样,培养策略也不一样,以上列的三种方式,不能说哪种好、哪种坏,因为不管哪种方式我都见过有不错的新人脱颖而出,也见过有表现平平的,成长主要靠自己,不过培养手段、环境是有助力作用的;

如果环境允许,我个人更倾向于引导式,因为这样可以让新人自己先去思考,也不致于工作跑偏,算是一种中庸策略吧。在此过程中我会让新人尽多的去试错,因为成长最快的方法就是让新人自己动手、自己试错、自己修复、自己总结,说百遍不如自己动手干一遍,比如今年入职的两个新人,做了一个需求,工期算是比较长、需求不算紧急,让两个人自己先去熟悉需求、出方案、做设计、写上线计划、主导上线、维护升级,当然这个过程中老人肯定是要给指导的,从两个新人刚入职到现在,基本上每人都可以搞定一中小系统;当然如果环境不允许,三种培养方式可能会混合着用,因为目标是保证业务的正常、顺利进行。

技术栈

目前做后台开发,主要用的编程语言是Java,所以仅针对后台开发-Java新人做一些建议;

以下我们公司所用到的一些基本知识点,随着时间,这些知识点可能会过时;

日志

建议日志组件:log4j2

基本上新人做需求,不会考虑打日志,后期线上维护查问题、没有日志即使来一架构师也定位不到问题,所以请新人先学会日志:打日志、查日志;

打日志:什么时候该打日志、打什么内容、日志格式如何;

查日志:登录线上机器,grep less cat tail等各种常用命令;

常用Linux命令

  • grep/egrep/zgrep系列
  • awk/sed
  • top/netstat/ps/vmstat

当然还有很多命令,先会用基本的;

Java基础

Java语法、多线程、集合基本的API肯定是要会的; JVM的知识要有些了解;

框架

Spring SpringMVC

ORMapping

Mybatis

DB

MySQL; 索引原理要了解; 基本增删改查要会;

Web容器

jetty tomcat 可以了解下Spring Boot;

缓存

Redis

版本控制

Git

编译打包

Maven

RPC

Thrift 其它的如gRPC、Dubbo都可以了解; 可以再了解下Spring Cloud;

定时任务

Quartz

消息

Kafka

数据

实时数据处理:Storm、Spark、Flink; 列式存储:HBase; 可以了解下Hadoop系列;

开发工具

Idea

最后

当然,以上列出的是不全的,更多的还得工作中学习。

另,个人建议如果能早实习就早实习。

读万卷书、行万里路。


Similar Posts



Comments