`

程序员需要具备的基本技能

阅读更多
软件开发是一个跨度很大的技术工作,在语言方面,有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等等。
重构代码 每个程序员都需要有最基本的能力去重构目前已有的代码,使代码达到最优但却不能影响任何的已有的功能。有一本书叫《软件的重构》,每个程序员都应该读一下。
自动化编译 程序员需要使用一个脚本,其能自动化编程所有的工程和代码,这样,整个开发团队可以不停地集成代码,自动化测试,自动化部署,以及使用一些工具进行静态代码分析或是自动化测试。
当然,还有很多的基本技术也是非常重要的,比如,与人的沟通能力,语言的表达能力,写作能力,团队协作能力,适应变化的能力,时间管理能力,多任务处理能力,自我学习能力,故障处理能力,等等,等等,这里只是列举了和技术相关的能力,这些是程序最最最基本的能力,只要是程序员就必需要有的能力。
分享到:
评论

相关推荐

    未来五年程序员应该具备的基本技能(电子书)

    未来五年程序员应该干的事,值得大家一看。

    面试感悟–一名3年工作经验的程序员应该具备的技能

    这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有一部分内容也是专门面向咱们Java程序员的。  简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,...

    自我评价java程序员简历自我评价.pdf

    2.pcb设计:文中提到独立完成网表导入到出GERBER整个流程,这是pcb设计的基本技能之一。 3. Layout设计:文中提到使用ALLEGRO工具进行Layout设计,这是pcb设计的重要步骤之一。 4. 团队协作:文中强调了团队协作的...

    程序员能力矩阵教材.pdf

    程序员能力矩阵教材 程序员能力矩阵是衡量程序员能力的重要指标,它涵盖了计算机科学、...程序员能力矩阵涵盖了计算机科学、软件工程、程序设计、交流和代码组织等多个方面的知识点,要求程序员具备广泛的知识和技能。

    程序员必备简历模板(适用于所有程序员)

    技能与能力:列举了程序员所具备的技能和能力,如编程语言、操作系统、数据库等,并对每个技能和能力进行了简要描述; 项目经验:列举了程序员参与过的项目,包括项目规模、职责、所用技术和所取得的成就等; 个人...

    JavaEE程序员简历最新版

    5. 技能:该程序员具备了多种技能,包括WebLogic、J2EE、CSS、HTML、Java、JSP、JavaScript、Web Servers、XML/XSLT等,这些技能都是JavaEE开发所需的重要技术栈。 6. 职业目标:该程序员的职业目标是软件工程师,...

    从程序员到系统分析员

    在学习系统分析师需要具备的知识和能力时,我们需要了解面向对象的设计方法的基本概念,包括类、对象、继承、多态、封装等。同时,我们还需要了解系统分析师需要具备的技能,如项目管理、需求分析、设计、测试等。 ...

    PHP程序员基本要求和必备技能

    昨天在图书馆看书,看到《电脑报》上的一篇文章,题目为《30岁不是程序员的终点》,(详情可参看《电脑报》2010年第19期,G14版数字职场的文章...必须具备的基础知识: 1、LAMP技术(加强):Linux+Apache+Mysql+PHP,是P

    程序员成长路线图:从入门到优秀

    程序员成长路线图是 IT 行业中一个非常重要的主题,它需要程序员具备基础知识和技能,并具有特点,如比尔·盖茨梦想、自信心和高预期价值等。同时,程序员的职业发展是一个必由之路,需要程序员不断学习和成长。

    程序员考试大纲 程序员考试大纲

    该考试大纲旨在评估程序员的实际工作能力和业务水平,确保考生具备软件开发项目管理和软件工程的基础知识和技能。 计算机科学基础 1. 数制及其转换:二进制、十进制、十六进制等常用数制及其相互转换。 2. 数据的...

    2022程序员面试的自我介绍模板8篇.pdf,这是一份不错的文件

    在进行面试时,程序员需要具备扎实的计算机基础知识,包括操作系统、编程语言、数据库开发等,同时也需要有良好的实践经验和人际交往能力。这些模板为程序员提供了有价值的参考,帮助他们更好地准备面试,展示自己的...

    JAVA程序员简历模板

    【JAVA程序员简历模板】主要展示了求职者作为一名Java程序员的核心竞争力,包括个人基本信息、求职意向、自我评价、专业技能、项目经验和教育背景等关键点。以下是对这些内容的详细解析: 1. **基本资料**:姓名、...

    程序员面试攻略+第2版

    在程序设计技能方面,本书介绍了作为一名程序员必须具备的一些知识并以简洁实用的方式介绍程序员的基本功。强调沟通方法是本书的亮点,本书包括如何编写一份重点突出的个人简历,如何与猎头公司和人力资源代表打交道...

    iOS开发程序员应届生简历

    iOS 开发程序员应届生简历是指具备 iOS 开发能力的应届生,他们通常具备良好的编程基础、熟悉 iOS 开发环境和工具、掌握基本算法和数据库结构等能力。本文将从标题、描述、标签和部分内容四个方面对 iOS 开发程序员...

    程序员面试攻略 绝对第2版 绝对中文.part1

    在程序设计技能方面,本书介绍了作为一名程序员必须具备的一些知识并以简洁实用的方式介绍程序员的基本功。强调沟通方法是本书的亮点,本书包括如何编写一份重点突出的个人简历,如何与猎头公司和人力资源代表打交道...

    从程序员到架构师:大数据量.pptx

    本书的结论是,从程序员到架构师需要具备技术知识和技能,以便有效地处理大数据量。通过理解大数据的基本概念、挑战、架构基本原理、设计原则和实现方式,读者可以更好地过渡到架构师的角色,并构建一个高效、稳定和...

    程序员的简历模版,填写个人信息、项目情况

    * 展示个人信息:程序员简历模板可以展示程序员的个人信息,如姓名、性别、出生年月、民族、专业等,这些信息可以帮助招聘者了解程序员的基本情况。 * 展示项目经验:程序员简历模板可以展示程序员的项目经验,如...

    程序员个人简历范文3.doc

    该简历的电脑水平部分为优秀,表明该求职者具备良好的电脑操作技能。 (五)外语水平 该简历的外语水平部分为英语,外语水平为良好,表明该求职者具备良好的英语语言能力。 (六)教育历程 该简历的教育历程部分...

    热门2023程序员简历模板分享

    根据简历中描述的教育背景和职业技能,iOS开发工程师需要具备以下教育背景和职业技能: * 计算机科学与技术(本科)主修课程 * 两年以上iOS平台开发经验 * 熟悉iOS框架和各种特性 * 熟悉多线程开发和网络编程 * ...

    2022年java程序员英文简历范文.docx

    8. Java程序员要求:Java程序员需要具备扎实的Java编程基础、良好的编程习惯、良好的团队协作能力和沟通能力。 9. 英文简历写作:英文简历需要使用标准的英文格式和词汇,避免中文拼音和专业术语。 10. 简历关键词...

Global site tag (gtag.js) - Google Analytics