软件开发人员应具备的基本素质 !!!

简介:

去年带了几个新人,越来越觉得软件开发这行还是需要一定的"天份"的,其实每行都需要一定的"天份",每个人都有自己最为适合的行业,特别是技术行当而言,如果真的希望在软件的技术领域有所发展的话,勤奋、吃苦的精神固然是必须的,但以下的几点素质却是基本的,而有些我觉得完全是靠天生的,或者后天小时候的努力才能培养出来的,如果不具备的话,我觉得这样的人就不是很适合从事软件技术行业:

1、逻辑思维能力
这点非常非常的重要,而且我觉得这点在等到大学毕业后再培养真的非常难,从这点上去看就会发现数学对于软件行业的人来说是非常重要的,为什么这么说呢,数学正是能表现出一个人逻辑思维和举一反三能力的最好的考试,而逻辑思维和举一反三刚好是软件技术行业最为基础和重要的两点基本素质,为什么这么说呢?
软件的开发其实和数学的解方程是个非常类似的过程,都是对某个问题求解,有些问题甚至完全不懂软件开发其实也应该是能解决的,如果不懂具体的如何写代码的话顶多差的就是把解决问题的方法转化为代码而已,而这个培养起来我觉得并不是什么难事,这个只要多写写代码就行了,举一个简单的例子,在培养新人的时候曾经出现过个这样的问题:要生成一个九位的字符,字符由流水号构成,当不足九位的时候补足九位,例如1就形成000000001,9999就形成000009999,不需要写代码,只需能说明会怎么做就是了,我觉得具备了一定逻辑思维能力的人这样的问题都是很简单的。
在将来我自己面试新手的时候,这方面的面试需要重点加强,以前我忽略了对于这个方面的考量。

2、举一反三能力
举一反三的能力对于软件技术行业来说更是非常非常的重要,其实软件开发日常的工作中通常你所做的东西都是有类似的东西的,只是会稍有变化,这个时候就需要具备举一反三的能力。
这项能力在将来的面试中也需要重视,需要让面试的人当时学习一个以前的未知领域,首先给面试的人员一个解决方案,然后将问题稍加改变,看看面试的人是否可以做出解决方案来。

3、自学、独立解决问题的能力
自学、独立解决问题的能力我觉得这是为什么一定要读大学的原因,读大学就是培养自学、独立解决问题的能力的。
在做软件开发的过程中,不论是新手、老手都会碰到各种各样的问题,这个时候一定要学会有效的解决问题,在perl界有一篇给新手写的解决问题方法的建议的文章非常的不错,http://www.perlchina.org/archive/archive.php?action=archive&page=6,建议做软件开发行业的人应该都读读。
个人比较推崇的解决问题的方法:
3.1、在时间较为充裕的时候,google--->看原理---->问身边的人---->问IM上的人--->找相关的专业论坛---->学习相关的知识
3.2、在时间紧张的时候,问身边的人---->问IM上的人--->google--->找相关的专业论坛---->看原理---->学习相关的知识
不过即使在时间紧张的时候,当时间闲下来后,都应该整理下问题的解决方案和学会隐藏在问题后的本质。

4、对软件开发的兴趣
这点呢,还比较难说,因为新手来说无法判断自己是否有兴趣,很多人也许是向着软件行业所谓的高薪而进入这个行业的,兴趣而言,我觉得判断的标准就是能否为了一个开发上的问题废寝忘食,:)
另外一个方面来说,做软件开发必然会面临很多重复性质的工作,这个时候只有有兴趣的人才会继续的对技术坚持下去,才会继续的去钻研相关的技术,从而提升工作的效率、质量。
当然,除了上面说的几点外,其实象承受压力的能力、沟通交流能力、团队合作能力、责任心、上进心等等都非常的重要,但这些能力我觉得相对而言是可以培养或用公司制度等方式来控制的,但以上说的4点基本素质我觉得非常的难培养,尤其是1、2、4这三种能力,对于希望一直从事软件技术行业的人来说我觉得是否具备以上几点非常的重要,否则还是早点转行比较好,哈哈。


本文转自博客园 小蚂蚁博客,原文链接:软件开发人员应具备的基本素质 !!!,如需转载请自行联系原博主。

相关文章
|
3月前
|
项目管理
软件项目经理需要具备这 11 个能力
软件项目经理需要具备这 11 个能力
221 1
|
3月前
|
运维 监控 搜索推荐
在Linux中,运维人员与运营人员工作职责分别是什么?
在Linux中,运维人员与运营人员工作职责分别是什么?
|
4月前
|
数据采集 传感器 项目管理
LabVIEW软件开发人员的核心能力是什么
LabVIEW软件开发人员的核心能力是什么
35 3
|
4月前
|
测试技术
系统分析与设计问题之软件开发中的“分析阶段”是否只限于软件行业
系统分析与设计问题之软件开发中的“分析阶段”是否只限于软件行业
|
敏捷开发 存储 设计模式
大型项目技术负责人应该具备的能力
大型项目技术负责人应该具备的能力
111 0
|
人工智能 运维 监控
从维护性工作到软件开发革命,运维 15 年间的大逆转
在 InfoQ 成立 15 周年之际,InfoQ 编辑部发起了“2007-2022:云、运维、架构、前端的 15 年演进史”特别策划,将和业内专家共同盘点云计算、运维、架构、前端四大技术领域的演进历史,试图从几个切面窥见 IT 技术的演进规律。本文是运维篇。
679 0
从维护性工作到软件开发革命,运维 15 年间的大逆转
|
存储 SQL 供应链
软件需求人员-如何提升需求分析和业务方案的能力
  今天我准备再写一篇软件需求人员能力提升方面的文章,也就是把这个问题进一步谈透。对于IT行业来说,前面谈到更多的是招聘软件开发或架构设计人员不容易,特别是架构人员也难以培养。而对于软件需求人员也是同样的道理。   软件需求不同于用户需求或原始需求,对于业务需求往往你无需任何的IT技术背景就能够提出你的需求和问题,而对于软件需求则涉及到业务需求分析,分解,形成完整的业务解决方案,复杂的还是涉及到业务建模,最终才形成软件需求。   因此软件需求人员实际是衔接业务用户和内部技术团队的关键桥梁,软件需求和业务建模做得好,技术实现本身也更加高效。同样,一个软件系统最终实现出来灵活,可复用,那么首先
619 0
|
JSON NoSQL JavaScript
2018最新后端开发人员的路线图
简评:之前,后端开发路线图仅仅是一个技术推荐,且没有明确的方向指明应该遵循的顺序,这份重新制作的指南将会给你一个更好的方向。 现在的 Web 开发与几年前完全不同了,有很多不同的东西可以轻易地把人拒之门外,这也是我们决定制作这个循序渐进指南的原因之一,并让任何人可以清楚地了解他们在 web 开发中扮演的角色。 可以在下面的图片中找到详细的路线图,而我也将在下面的描述中解释每一个步骤。
130 0
|
测试技术 项目管理
10、软件质量工程师指南 - 软件项目角色指南系列文章
第9章      软件质量工程师   软件质量工程师也是分配在项目质量控制部里的编制,对项目的软件编码质量等进行管理,与软件配置工程师相比,主要偏向于对项目的质量控制部分进行管理。虽然在项目管理过程里没有详细划分这个岗位,但是在项目管理中仍然需要软件质量工程师对整个项目的质量进行控制管理。
4061 0