最近和同事聊这个问题,总结了一下大家的观点,先抛结论,如下几点比较重要
- Java基础
- 公司技术栈的各种技术
- 业务
- 开发流程
Java基础的话,就是Java各种API的使用要熟练,有些人喜欢用新特性lambda之类的写代码,要熟悉这种风格看得懂,并且会改这些代码。
公司技术栈所用的各种技术,SpringBoot、Mybatis、SpringCloud、Zookeeper、Kafka、ES、Redis等常用框架和中间件的使用,如果某些东西没用过,需要自己找资料尽快熟悉补齐。
业务,越大的项目业务就越是复杂,业务代码的的逻辑也是很复杂的,对于熟悉业务,目前比较好的方法就是 对照着APP或者后台管理系统的接口,把每个接口抓包,去调试代码,画项目的时序图,从修一些简单的BUG做起,这么搞下来慢慢就熟悉了,试用期熟悉自己那块业务,开始上手开发应该就问题不大了。遇到困惑的话,请同事吃个饭,虚心请教,相信大部分程序员都是乐于助人的。对于排查BUG的话,也要熟悉分布式系统下的各种工具使用,比如skywalking、CAT等工具、部署到云平台的项目,也要学会使用Linux命令去查询日志,定位问题。
每个公司的开发路程是不一样的,我目前在的团队是TX的智慧零售,有一套标准的开发流程,每个流程也都有腾讯的内部工具支持。项目管理Tapd、Git用的腾讯自己的工蜂、CICD有蓝盾。熟悉每个公司GIT版本管理 + Maven的项目版本管理也都比较规范。