软件开发是一个跨度很大的技术工作,在语言方面,有C,C++,Java,Ruby等等等等,在环境方面,又分嵌入式,桌面系统,企业级,WEB,
基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。
这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉
在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能。而高级程序员应该非常熟悉这些基本技能,而且有能力胜任并带领其他经验不足的程序员。
下面这些基本职业技术可以用来做为对一个程序员的评估,很明显,下面的这些技能都可以用来做面试。虽然,还有很多非技术的因素,但对于评估一个程序
员的技术能力来说,其应该是足够的了。
下面是程序员所应该具备的基本职业技能:
基本技能
技能描述
阅读代码 |
这个技能需要程序员能够具备读懂已经存在的代码的能力,这样的能力可以让程序员分析程序的行为,了解程序,这样才能和开发团队一起工作,继承维护
或是改进现有的程序。 |
编写程序 |
编写程序并不包括程序设计。不要以为编程是一件很简单的事情,很多程序员都认为编程只需要懂得程序语言的语法,并把设计实现就可以了。但是这离编
写程序还远远不够,使用什么样的编码风格成为编写程序员最需要具备的基本技能。能否使用非常良好的编程风格直接决写了程序员的级别。 |
软件设计 |
这一能力直接决定了需要吏用什么样的代码技术达到怎么样的功能,而系统架构设计直接决定了软件的质量、性能和可维护性。并不是所有的程序在这一方
面都非常优秀,但每个程序员都需要或多或少的明白和掌握这一基本技能。 |
熟悉软件工程 |
每个程序员都应该明白软件工程是什么东西,都应该知道,需求分析,设计,编码,测试,Release和维护这几个阶段。当然,几乎所有的人都知道
这些东西,但并不是每个人都很清楚这些东西。现在很多高级程序员都会混淆“需求规格说明书FS”和“概要设计HLD”。另外,程序员还需要知道一些软件开
发的方法论,比如:敏捷开发或瀑布模型。 |
使用程序库或框架 |
一个程序员需要学会使用已有的代码,无论是标论的程序库,或是第三方的,还是自己公司内部的,都需要学会做。比如:C++中,需要学会使用
STL,MFC,ATL,BOOST,ACE,CPPUNIT等等。使用这些东西,可以让你的工作事半功倍。 |
程序调试 |
程序调试是分析BUG和解决问题最直接的能力。没有人能够保证程序写出来不用调试就可以运行正常,也没有人可以保证程序永远不会出BUG。所以,
熟练使用调试器是一个程序员需要具备的基本技能。 |
使用IDE |
学会使用IDE工具也会让你的工作事半功倍。比如,VC++,Emacs,Eclipse等等,并要知道这些IDE的长处和短处。 |
使用版本控制 |
一定要学会使用版本控制工具,什么叫mainline/trunk,什么叫tag,什么叫branch,怎么做patch,怎么merge代码,
怎么reverse,怎么利用版本控制工具维护不同版本的软件。这是程序员需要明的的软件配置管理中最重要的一块。 |
单元测试 |
单元测试是每个程序都需要做的。很多单元测试也是需要编码的。一定要学会在xUnit框架下进行单元测试。比如JUnit, NUnit,
CppUnit等等。 |
重构代码 |
每个程序员都需要有最基本的能力去重构目前已有的代码,使代码达到最优但却不能影响任何的已有的功能。有一本书叫《软件的重构》,每个程序员都应
该读一下。 |
自动化编译 |
程序员需要使用一个脚本,其能自动化编程所有的工程和代码,这样,整个开发团队可以不停地集成代码,自动化测试,自动化部署,以及使用一些工具进
行静态代码分析或是自动化测试。 |
当然,还有很多的基本技术也是非常重要的,比如,与人的沟通能力,语言的表达能力,写作能力,团队协作能力,适应变化的能力,时间管理能力,多任务
处理能力,自我学习能力,故障处理能力,等等,等等,这里只是列举了和技术相关的能力,这些是程序最最最基本的能力,只要是程序员就必需要有的能力。
分享到:
相关推荐
程序员应该具备的技能程序员应该具备的技能程序员应该具备的技能
一个JAVA程序员应具备的十项技能.rtf 这篇文章,讲述了Java程序员必须具备的十项技能,详细剖析了每项技能的必要性和学习方法。是一个Java程序员必须具备的,也是Java程序员必读的文章!!想成为Java程序员的你还在...
综上所述,未来五年内,程序员要想保持竞争力,就需要不断学习和掌握以上提到的关键技能。这些技能不仅涵盖了技术层面的要求,还强调了对业务领域的深刻理解以及良好的团队协作能力,这些都是成为一名优秀程序员不可...
—合格程序员应该具备的12种能力" 指向了一个讨论合格程序员所需技能的主题。在这个行业中,成为一个优秀的程序员不仅仅是掌握编程语言那么简单,还需要一系列综合能力。以下是对这些能力的详细阐述: 1. **解决...
未来五年程序员应该干的事,值得大家一看。
程序员需要具备良好的沟通和协作能力,以适应商业化和产品化的开发需求。 2. **文档习惯**:编写清晰、完整的文档是正规开发流程的一部分,对于项目的后续维护、错误修复和模块复用至关重要。高水平程序员会投入...
3. 数据库开发:数据库是程序员必备的技能,需要具备丰富的数据库操作经验,包括 Oracle 和 Access 等数据库的使用。 4. 项目开发:程序员需要具备项目开发的经验,包括项目的整体开发工作、客户需求理解、项目演示...
随着技术的快速发展,程序员需要保持敏锐的洞察力,不断提升自己的技能,以应对不断变化的市场需求。同时,良好的沟通能力、问题解决能力和自我管理能力同样重要,它们将帮助程序员更好地融入团队,提升项目的成功率...
【未来五年程序员应当具备的十项技能】 在不断发展的信息技术领域,程序员需要持续学习和适应新的技术和工具,以保持竞争力。以下十项技能是著名IT评论员Justin James认为程序员在未来五年内应该掌握的关键技能,...
在IT行业中,成为一名优秀的程序员不仅仅是掌握一两种编程语言那么简单,还需要具备广泛而扎实的基础知识与概念。本文将根据提供的内容概述一个程序员应该具备的基础知识和概念,并深入探讨每个知识点的重要性及其...
此外,程序员需要具备需求理解能力。理解并满足功能需求的同时,也要考虑到性能指标,如稳定性、并发支撑能力和安全性。这需要程序员通过实际项目经验和持续学习来积累。 最后,复用性思维和模块化设计能力能帮助...
在编写Java程序员的简历时,技能描述是展现个人专业能力和技术深度的关键部分。以下是一些高大上的技能描述示例,适用于初中高级Java程序员: **基础类技能:** 1. 精通JavaSE,包括核心语法、多线程与并发编程,...
本篇文章主要讲述了程序员需要具备的基本技能,以便更好地在软件开发领域中崭露头角。 首先,熟练掌握开发工具是程序员的必备技能。其中,C/C++和JAVA是重点推荐的开发工具。C/C++以其高效率和高度灵活性,成为了...
行业,程序员的能力不仅仅局限于编程,而是需要一系列综合技能来确保软件开发的成功。以下是对程序员应具备的12种能力的详细解析: 1. **编程语言能力**:精通一门编程语言是程序员的基础,这意味着深入理解语法、...
"未来五年程序员需要掌握的10项技能" 在未来五年内,程序员需要掌握多种技能以适应不断变化的技术潮流和市场需求。以下是十项关键技能,涵盖编程语言、互联网 Rich Application、Web 开发、Web 服务、软实力、动态/...
程序员需要具备的二十四个软技能是职业发展的关键。以下是对这些技能的详细说明: 1. 学会如何学习:学习是程序员职业发展的不竭动力。要学会如何学习,不断地更新自己的知识和技能,以适应不断变化的技术环境。 2...
这要求程序员具备一定的设计思维,能够从全局角度考虑系统的可扩展性、稳定性和安全性。系统架构能力的提升有助于程序员成长为技术领导者或架构师。 ### 6. 职业道德与规范 职业道德是任何职业都应重视的品质,...
PHP 程序员面试自我介绍需要包括职业道德和工作态度、客户交流沟通能力、思维能力、团队合作和主动性等五个方面,同时还需要具备其他一些技能,包括熟练掌握开发语法、熟悉数据库、具备文档撰写能力等。只有具备这些...