软件开发是一项跨度很大的技术工作。有时候程序员不得不学习多种语言。
像python、C、C、Java、Ruby等等。一个资深的程序员往往懂得多种编程语言。
我们之前讨论过程序员必须培养的软技能,w3cschool与程序员朋友分享了高级程序员的五项必备技能:
0.搜索能力
高级程序员一般都有很强的搜索能力,比如搜索各种国外代码库,比如微软BASIC源代码和苹果DOS代码,都很容易搜索到。
不仅如此,高级程序员还会过滤搜索到的信息。
有些信息可能会被到处复制,而高级程序员会识别更好的技术信息,只有正确的信息才能带来正确的想法。
1.场景分析
一个好的开发人员应该能够考虑程序的不同场景。当思考业务逻辑的不同路径时,我们需要问一些问题:
A.这个方法线程安全吗?
B.如果队列是空的呢?
C.当此服务器重新启动时,如果其他服务器正在重新启动怎么办?
2.学习和总结的能力
资深程序员可能会每天花半个小时总结当天的项目经验,反思自己的不足,以求改进。
普通程序员和高级程序员有一个区别,就是总结问题的深度不同。高级程序员往往从问题的本质出发,找出事物的内在联系。
普通程序员只能总结出大家看得见的东西。
3.复杂问题的简化
Jddxd曾经说过,简单可以移山。一个好的程序员能把复杂变成简单。
也就是说,他会把问题分解成很多小问题,一个个解决。
4.需求理解能力
程序员不仅要关注软件的功能需求,还要关注软件的性能需求。评估您自己的模块对整个项目的影响和潜在威胁。
一个程序员,如果工作了两三年,还不知道这个,说明他还在努力。