对于后端来说,偶觉得有一下几个能力比较重要,程序实际是解决问题的,不以解决问题为目的的代码都是耍流氓。
要解决问题,可能需要一些技能。
第一,建模,能把问题进行建模。说白了,就是划分输入,处理,输出,对他们进行建模。需要一定的建模能力。
第二,工程,所谓的工程就是把一个东西拆成很多模块,然后把它组织起来。所以能把一个大的问题拆分成可实现的小问题是第一项技能,可能涉及的技能有UML图,oop的编程思想(分层),模块化,接口设计。
第三,对已实现的模块的理解及复用,web服务器,数据库,消息中间件,缓存,操作系统等。
第四,对编程语言自身的理解,如Java,他的jvm运行机制,类库的使用。
第五,沟通能力和管理能力,程序员其实是一个非常需要沟通的职业,也需要管理,管理自己,管理项目。
第六,情商。高情商会帮助你很多。
最后,健康的身体,这是一项能力,甚至是最重要的能力,因为你需要投入很大的精力和毅力去维护他,比任何技术都更难获得和保持。