程序员需要掌握的七大必备技能

编程技能对于一个Java开发程序员来说,毋庸置疑是很重要的。比如,问题排查能力、线上运维能力、项目管理能力、协调沟通能力等。

那么,作为一个合格的Java开发,除了自身技术成长之外,还有哪些方面可以提升。

类开发技能

第一类,并不是纯coding技能,但是也和开发相关,我称之为类开发技能。

Linux系统

很多人的开发机器是windows,所以平时也基本都是图形化开发界面。但是,这并不意味着你就不需要基本的Linux技巧。

因为,你开发出来的应用可能部署在一台Linux机器上,很多时候你要和这台线上的Linux服务器打交道,所以,Linux系统的安装、开发环境的搭建、Linux常用命令以及Linux环境下项目的部署启动和调试等都是必备技能。

否则,一旦线上出点什么问题,你就会束手无策了。

单元测试

我在《单元测试的重要性》中说过,单元测试是很重要的,而且,好的单元测试可以帮助我们节省很多开发时间。单元测试是保证软件可以更好的持续集成和持续交付的一个基本前提。

单元测试也涉及到很多技巧等,比如使用Mock进行单测、使用内存数据库进行单测等。

一个开发人员,要有写单测的习惯,也要掌握基本的单测写法技巧。这样可以尽早的发现问题。

版本管理

基本上所有的公司的代码都会通过版本管理工具进行托管的,不管是Git还是SVN。

而且,现在很多技术都通过GitHub进行开源和共建的,版本管理工具的使用也是一个Java开发必备的基本技能。

版本管理也有很多学问在的,比如到底什么时候应该提交、提交的时候Commit message应该如何书写,如何解决代码冲突等都需要熟练掌握的。

构建工具

和版本管理一样,企业级开发的依赖管理也不再是那种原始的进行Jar包的导入导出。而是借助于像maven或者gradle等工具。

构建工具的使用同样重要,而且一个合格的开发人员,要掌握如何进行依赖冲突的检查、如何进行依赖仲裁等。

代码调试

有人调侃程序员,一半的时间在写bug,另外一半的时间在debug。这句话听起来挺扎心的,但是也恰恰说明了debug的重要性。

虽然说程序员花费一半的时间在写bug是有点过分的,但是,任何程序员的代码也不可能一气呵成,越大型的项目bug可能就会越多,在线下开发的时候,debug是最有效的问题发现和解决的手段。

代码调试其实比较简单,只要设置好端点,跟着程序一步一步的执行看效果就好了。只要学会运用IDE提供的工具就可以了。可以参考《Eclipse的Debug技巧

问题排查与解决

关于问题排查,这个能力真的是非常重要的。

发生问题的时候,就是检验程序员能力的时候。这是最能区分程序员的水平的技能了。一个问题往往可能会涉及到很多个方面的知识。

阿里有一个神级人物,花名多隆。在淘宝初期,不管遇到什么问题,他基本都能解决。他之所以被称之为神,就是因为他的问题排查和解决能力。如果你能在两天内解决一个组两周都没解决的问题,那么你也会被称之为神。

很多时候,解决问题并不难,难的是定位问题。这会涉及到很多知识,知识储备很重要,但是,在知识储备还不够的情况下,至少可以从以下几个方面来提升自己的能力。

1 日志的查看

2 分析Java的堆栈信息

3 集群监控指标的查看

技术水平的高低决定你未来的职业发展,掌握必备的技能,也许会让你的职业生涯走得更顺一些。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,349评论 25 708
  • 记不清距离这次感冒最近的那次感冒啥症状,延续了几天,只觉得这次来得太突然,势头太嚣张。 序曲 周一中午,匆匆回家扒...
    安心安阅读 431评论 0 0
  • 首次尝试
    孤独的小朋友阅读 167评论 0 0
  • 职场妈妈对待孩子成长要更用心,毕竟陪伴的时间少,所以陪伴的质量要更高。有一双发现爱,发现美的眼睛和心灵,才...
    宝宝妞妞妈咪阅读 279评论 1 1
  • 我出生在一个甘肃偏远山区,父亲一辈姐弟五人,爸爸是老四,上边有三个伯伯,这个姑姑,爷爷奶奶都是30后,爷爷就是个老...
    平凡的生灵阅读 308评论 0 0