软件开发是一个跨度很大的技术工作。程序员有时候要学会多门语言。
像python、C、C 、Java、Ruby等等。一个高级程序员往往不止会一种编程语言。
我们之前讨论过程序员必须培养的软技能,w3cschool就给程序员小伙伴们分享高级程序员必备的5大技能:
0、搜索能力
高级程序员一般都有很强的搜索技能,比如搜索到国外各种的代码库,像微软BASIC源码,苹果DOS代码等,都可以轻松地搜索到。
不仅如此,高级程序员还会过滤搜索的信息。
有些信息可能是到处抄抄而已的,高级程序员则会鉴别比较好的技术资料,只有正确的资料才能带来正确的观念。
1、场景分析
好的开发人员应当能够考虑到程序的不同场景。思考业务逻辑的不同路径时,需要提出一些问题:
A、这个方法是线程安全的吗?
B、如果队列为空的话怎么办?
C、如果这个服务器重启的时候,别的服务器也在重启该怎么办?
2、学习和总结的能力
高级程序员可能每天会花半个小时的时间总结当天的项目经验,反思自己的不足,以便获得提高。
普通程序员和高级程序员有一点不同,就是总结问题的深度不一样。高级程序员往往会从问题的本质出发,弄清事情的内在联系。
普通程序员只能总结到每个人显而易见的东西。
3、复杂问题简单化
乔布斯曾经说过,简单便能移动一座大山。一个好的程序员可以化复杂为简单。
也就是说,他会将问题分解成很多的小问题,逐一地进行解决。
4、需求理解能力
程序员既要重视软件的功能需求,还应注意软件的性能需求。评估自己的模块对整个项目中的影响及潜在的威胁。
一个程序员,如果工作了两三年,还不清楚这一点,说明工作还不走心。