程序员应该具备的11项基本技能

程序员应该具备的11项基本技能2011-03-14 10:56 陈皓 伯乐在线 字号:T |
T
软件开发是一个跨度很大的技术工作,在语言方面,有C、C++、Java、Ruby等等等等;在环境方面,又分嵌入式、桌面系统、企业级、WEB、基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。

AD:2013云计算架构师峰会课程资料下载


这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能。而高级程序员应该非常熟悉这些基本技能,而且有能力胜任并带领其他经验不足的程序员。

下面这些基本职业技术可以用来做为对一个程序员的评估,很明显,下面的这些技能都可以用来做面试。虽然,还有很多非技术的因素,但对于评估一个程序员的技术能力来说,其应该是足够的了。

下面是程序员所应该具备的基本职业技能:


阅读代码 -
这个技能需要程序员能够具备读懂已经存在的代码的能力,这样的能力可以让程序员分析程序的行为,了解程序,这样才能和开发团队一起工作,继承维护或是改进现有的程序。(相关阅读:《阅读优秀代码是提高开发人员修为的一种捷径》)

◆ 编写程序 -
编写程序并不包括程序设计。不要以为编程是一件很简单的事情,很多程序员都认为编程只需要懂得程序语言的语法,并把设计实现就可以了。但是这离编写程序还远远不够,使用什么样的编码风格成为编写程序员最需要具备的基本技能。能否使用非常良好的编程风格直接决定了程序员的级别。


软件设计 - 这一能力直接决定了需要使用什么样的代码技术达到怎么样的功能,而系统架构设计直接决定了软件的质量、性能和可维护性。并不是所有的程序在这一方面都非常优秀,但每个程序员都需要或多或少的明白和掌握这一基本技能。


熟悉软件工程 -
每个程序员都应该明白软件工程是什么东西,都应该知道,需求分析、设计、编码、测试、Release(释放)和维护这几个阶段。当然,几乎所有的人都知道这些东西,但并不是每个人都很清楚这些东西。现在很多高级程序员都会混淆“需求规格说明书FS”和“概要设计HLD”。另外,程序员还需要知道一些软件开发的方法/论,比如:敏捷开发或瀑布模型。

◆ 使用程序库或框架
- 一个程序员需要学会使用已有的代码,无论是标论的程序库,或是第三方的,还是自己公司内部的,都需要学会做。比如:C++中,需要学会使用STL、MFC、ATL、BOOST、AC、CPPUNIT等等。使用这些东西,可以让你的工作事半功倍。


程序调试 -
程序调试是分析BUG和解决问题最直接的能力。没有人能够保证程序写出来不用调试就可以运行正常,也没有人可以保证程序永远不会出BUG。所以,熟练使用调试器是一个程序员需要具备的基本技能。


使用IDE -
学会使用IDE工具也会让你的工作事半功倍。比如,VC++、Emacs、Eclipse等等,并要知道这些IDE的长处和短处。

◆ 使用版本控制 -
一定要学会使用版本控制工具,什么叫mainline/trunk,什么叫tag,什么叫branch,怎么做patch,怎么merge代码,怎么reverse,怎么利用版本控制工具维护不同版本的软件。这是程序员需要明的的软件配置管理中最重要的一块。

◆ 单元测试 - 单元测试是每个程序都需要做的。很多单元测试也是需要编码的。一定要学会在xUnit框架下进行单元测试。比如JUnit, NUnit,
CppUnit等等。

◆ 重构代码 -
每个程序员都需要有最基本的能力去重构目前已有的代码,使代码达到最优但却不能影响任何的已有的功能。有一本书叫《软件的重构》,每个程序员都应该读一下。


自动化编译 -
程序员需要使用一个脚本,其能自动化编程所有的工程和代码,这样,整个开发团队可以不停地集成代码,自动化测试,自动化部署,以及使用一些工具进行静态代码分析或是自动化测试。

当然,还有很多的基本技术也是非常重要的,比如,与人的沟通能力,语言的表达能力,写作能力,团队协作能力,适应变化的能力,时间管理能力,多任务处理能力,自我学习能力,故障处理能力,等等。这里只是列举了和技术相关的能力,这些是程序最最最基本的能力,只要是程序员就必需要有的能力。

程序员应该具备的11项基本技能,布布扣,bubuko.com

时间: 2024-10-09 09:57:07

程序员应该具备的11项基本技能的相关文章

Java程序员要求具备的10项技能

1.语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正. 2.命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer.HtmlConverter.jar. java.javac.javadoc.javap.javaw.native2ascii.serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解. 3.工具:必须至少熟练使用一种IDE的开发工具,例如Eclips

[翻译]程序员需要掌握的6项相关技能

开发者必须会写程序,这是显而易见的.然而,如果能够拥有一个更广泛的“软技能”和技术组合,肯定不会给你带来伤害.有时,开发者只能在完成与自己核心技能相关的任务时才会真正发挥作用,但更多时候会在开发者产生的代码要编写被很多其它部门的人员使用(或者会被使用)的代码时有效. 为此,作为程序员和博主的Radek Pazdera为那些希望自己工作能够带来更多价值的开发者列出了一个清单,包含了那些非常重要的相关技能. 设计是关键 无论你是一个自由职业者或者初创公司的雇员,在今天的IT市场中,那些有能力开发有着

一个优秀的c++程序员应该具备的素质

1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programming Language>和<Inside The C++ Object Model>,不要因为他们很难而我们自己是初学者所以就不看: 4.不要被VC.BCB.BC.MC.TC等词汇所迷惑--他们都是集成开发环境,而我们要学的是一门语言: 5.不要放过任何一个看上去很简单的小编程问题--他们

程序员必须进行的10项投资

你的健康 显而易见,开发人员经常都是坐着不动的.每天坐8到16个小时,只休息很短的时间,你的肚子周围很容易会堆起赘肉.肥胖是其它疾病的催化剂,而其中心脏病又是最可怕的.多花点时间运动一下就能避免这样的情况,如果有可能的话,花点钱办一张健身房的会员卡. 长时间以不符合人体工程学的姿势打字,也容易使开发人员选成重复性的肌肉损伤,比如说腕管综合征.每隔几个小时拉伸一下你的手腕或者买块鼠标和键盘都能用的手腕护垫可以避免这样的损伤. 盯着屏幕也会给你的眼睛造成压迫,这就是为什么建议配一副防眩光眼镜而不是普

程序员应该具备哪些必备技能

一.熟练开发工具 做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写.而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一.其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发

最新、程序员应该具备的12种能力!

  下面是我总结的一个合格程序员应该具备的 12种能力.中国软件行业的崛起,靠的是合格的程序员.任何华丽的管理制度都不能保证软件项目的成功交付,合格的程序员就是有力的保证,是项目成功的基 础.写下这些,是为了给刚刚进入程序员这个职业的新同学们一点参考.我一直以为,当程序员是很辛苦的,如果不是真正的喜欢,很难坚持下去.如果真的不喜欢 这个职业,也该尊重这个职业,尊重自己,赶紧改行. 1. 编程语言能力 不用多说,作为合格的程序员,精通一门语言是必须的.这种精通,不是说看了一本<24小时精通XXX>

程序员应具备的7大技能

1.  对技术的热忱 热情是一种无形的东西,当你所列清单上的所有事情都做不好的时候,它常常能帮你熬过这段时间.对IT的强烈热爱,也会让你的其他大部分特点都遥遥领 先,这是纯粹的智商和商业头脑所无法比拟的.当你在IT行业工作了多年之后,热情也会帮你在早上起床之后期待今天的工作.没有热情,IT领域将会成为一个 空有外壳没有灵魂的地方. 2.  懂得数据分析 数据是IT企业和它所服务的企业的命脉.对公司数据有深入的了解,可以对软件应用程序与数据的衔接提供重要的见解.此外,从商业的角度看,如果你对 一个

随便扯扯,程序员应该具备哪些素质

趁着这几天无事,好好总结一下从事软件开发以来的一些想法,这篇blog尝试从我自身的一些经历来谈谈程序员应该具备哪些素质.如有不足之处,还请不吝赐教! 下面,我将列出并展开所有我认为程序员必须具备的素质. 基础知识 你也许是像我一样的自学者,没有数电/模电,编译原理,操作系统原理,网络与数据库等方面的知识,但是对于这些你应该尝试去了解.理解.当初跨专业考研之时学习的操作系统/网络/数据结构/数据库的知识于我现在的工作仍然有益,我有遇到过一些能力很强的人,他们做解决方案很强,但是debug能力说实话

程序员必须进行的10项投资(转)

你的健康 显而易见,开发人员经常都是坐着不动的.每天坐8到16个小时,只休息很短的时间,你的肚子周围很容易会堆起赘肉.肥胖是其它疾病的催化剂,而其中心脏病又是最可怕的.多花点时间运动一下就能避免这样的情况,如果有可能的话,花点钱办一张健身房的会员卡. 长时间以不符合人体工程学的姿势打字,也容易使开发人员选成重复性的肌肉损伤,比如说腕管综合征.每隔几个小时拉伸一下你的手腕或者买块鼠标和键盘都能用的手腕护垫可以避免这样的损伤. 盯着屏幕也会给你的眼睛造成压迫,这就是为什么建议配一副防眩光眼镜而不是普