本文目录一览

1,论程序员的自我修养

对待程序,像对待情人一样

论程序员的自我修养

2,在大学生涯中如何培养程序员素质

大学其实是培养你的思考能力的地方,如果你的思考能力逐渐成熟和逻辑思维能力不断加强,这两个方面会对你以后做程序员有着很大的帮助。所以在大学4年的时间里不断的去加强这些的话,我相信程序员的基本素质你一定会达到
(1)对编程有浓厚的兴趣,而不是因为“篮球之父”乔丹(备注:乔丹曾经给nike代言,广告词为“just do it”)的缘故才入行,由兴趣能驱动自己的探索和钻研精神,优秀程序员一般喜欢用业余时间探索和自己琢磨点东西,研究点开源框架和源代码。 (2)优秀程序员一般善于重构,懒于做重复的事情,对于重复事情有独有的程序员思维,即通过程序或其它自动化方式解决重复问题,而留更多时间去思考。达到一种多约束下的良好平衡。 (3)优秀程序员更多的会从简单功能实现,花哨的界面转移到对安全,性能,可扩展等底层架构的关注。 (4)优秀程序员一般有较明显的自恋和偏执特征。 (5)优秀程序员一般对计算机底层知识非常了解,有较为扎实的算法,数据结构等理论知识的基础。 对于优秀程序员而言,编程不是一份工作,而是一项充满激情的事业,编者比较认同这个观点

在大学生涯中如何培养程序员素质

3,一名优秀的程序员必备的素质

程序员必备的七种素质1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。任何个人的力量都是有限的,即便如linus这样的 天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。一旦进入系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人是不合格的。 2:文档习惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要 高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。 3:规范化,标准化的代码编写习惯 代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术 人员之间的协作。有些codingfans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己?根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。没有规范化和标准化的代码习惯,研发之间的协作是绝对不可想的。 4:需求理解能力 程序员需要理解一个模块的需求,很多程序员写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考 虑,性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险 和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。 5:复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。 复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个 系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每 一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。 一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在很多软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力,这是我们应当刻意克服的弊病。 6:测试习惯 作为一些正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要 的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对 整体系统建设的效率和可靠性就有了最大的保证。 测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定 性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。 当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到的需求理解能力。 7:学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。 但是学习也要找对目标,善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。
一个好的程序员必备条件之一就是严谨的思维1、养成良好的书写代码的习惯,该加注释的时候一定要加注释,该大写的地方一定要大写,变量命名不能模糊不清。这是基础,是为了让别人能看明白你所写的代码,不能你写的代码只有你自己才看的明白。2、注意所写软件的版本控制。3、勤奋学习最新的技术,计算机技术日新月异,这点我不说相信你也知道。4、养成写开发文档的好习惯,再接到一个项目时,第一件事情是进行需求分析,然后写开发文档,把你每一步要做什么都先写清楚,再动手做。5、不要怕技术难题,在计算机领域,只有不能解决难题的人,没有人解决不了的难题。6、虚心象他人学习,即使技术实力比你差很多的人,也肯定会知道一些你所不知道的技术点。
加班 加班 能耐心对待各种无理的需求

一名优秀的程序员必备的素质

4,做一个程序员的基本素质是什么呢

作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质。 1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。 2:文档习惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。 3:规范化,标准化的代码编写习惯 作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 有些codingfans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。 再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。 4:需求理解能力 程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访能力。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。 5:复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。 复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。 一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。 6:测试习惯 作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。 测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试,并尽早发现和解决问题,当然这需要上面提到的需求理解能力。 7:学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。 善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。但是学习也要找对目标,一些小codingfans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提高。 善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。 一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候马上就到了。 具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。

5,一个初级程序员应该具备哪些素质

现在,越来越多的人选择进入软件行业。做一个程序员,开发软件是很多年轻人的梦想,但由于对行业缺乏了解,很多人的目标并不清晰,也不知道自己该从哪里起步。今天我们就从介绍软件工程开始,来和大家谈一谈如何开始你的软件人才的成材之路。   软件工程详解   一般来说,一个完整的软件项目的出炉需要有项目经理(Project Manager)、系统架构师(System Architect)、系统分析员(System Analyst)、分析程序员(A/P Analyst Programmer)和初级程序员(Junior Programmer)的参与。我们先从软件工程的角度来看看他们各自是如何分工的。   按照软件工程学划分,一个完整的软件项目的前期工作可以划分为软件定义时期和软件开发时期。软件定义时期通常划分成三个阶段,即问题定义、可行性研究和需求分析。开发时期通常由下述四个阶段组成:总体设计、详细设计、编码和单元测试、综合测试。   具体来说,各个阶段的任务如下。   问题定义:在这个阶段,需要提出关于问题性质、工程目标和规模的书面报告。项目经理通过对系统的实际用户和使用部门负责人的访问调查,扼要地写出对问题的理解,并和用户进行良好沟通,进行修改,最后得出一份双方都满意的文档。   可行性研究:这一阶段需要系统架构师进行一次大大压缩和简化了的系统分析和设计过程,就是在较抽象的高层次上进行分析和设计的过程,导出系统的高层逻辑模型,并且在此基础上更准确、更具体地确定工程规模和目标。然后更准确地估计系统的成本和效益。对系统进行仔细的成本、效益分析是这个阶段的主要任务之一。   需求分析:用户了解他们所面对的问题,知道必须做什么,但通常不能完整准确地表达出他们的要求,更不知道怎样利用计算机解决他们的问题;软件开发人员知道怎样用软件实现人们的要求,但是对特定的具体要求并不完全清楚。因此,在需求分析阶段,系统架构师必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型,在经过用户确认之后才能进入下一个阶段。   总体设计:系统分析员首先考虑出几种可能的方案,并估计出每种方案的成本和效益,并在充分权衡各种方案利弊的基础上,推荐一个较好的系统方案,并且制定实现所推荐系统的详细计划。如果用户接受系统分析员推荐的系统,则可以着手完成下一项主要工作,也就是设计软件结构,确定程序由哪些模块组成以及模块间的关系。   详细设计:在这个阶段,分析设计员设计出程序详细的规格说明。它们应该包含必要的细节,初级程序员可以根据它们写出实际的程序代码。   编码和测试单元:这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。初级程序员应该根据目标系统的性质和实际环境,选取一种适当的高级程序设计语言,把详细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。   集成测试:这个阶段的关键任务是通过各种类型的测试使软件达到预定的要求,并确保各子模块之间不相互冲突及影响。这一步的工作由专门的测试员根据项目测试计划来完成。   从哪里开始   成为初级程序员往往是步入软件行业的开始。一个初级程序员应该具备的基本素质包括良好的编码能力、认识和运用数据库的能力和较强的英语阅读和写作能力,并要对软件工程和项目过程有一定了解。   现在,随着“优程”这样的基础软件人才培训项目的出现,在短期内成为初级程序员不再是难事。但在实际中,由于存在大量规模较小的软件企业,这些企业人力资源有限,所以更需要能够充当多种角色的软件人才。而且由于很多传统学历教育下的软件人才缺乏实践经验,到岗后还需要较长的适应期,所以具有实践经验的软件人才备受青睐。   “优程”在课程设置时注重实用,完全围绕着企业的实际需求确定。通过优程培训的学员不仅具有编程能力,还具有在实际项目中多方面的应用技能。另外,教学过程注重实践,不仅在课程设置中,安排了长达一个月的实际项目实习,同时还在重点的语言课程如Java和C++的教学中,安排了小项目的实习,避免了传统教育重理论轻实践的弊端。这样培训出来的基础软件人才,不仅可以胜任初级程序员的工作,也具有分析程序员的素质,重要的是,充分的实践经验,为将来从事更高层次的软件工作打下了良好的基础。
中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度相比也是颇有不如。这些问题不是在于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发的投入程度,而是很大程度上,有一些对技术,对程序开发,对项目设计方面的思想误区,这些误区,导致了软件行业的产品化能力不足,缺乏规模化和大型复用系统研发能力,可以说,改变认识误区,是解决软件行业小作坊模式和个体英雄模式所带来的局限性的重要工作。 程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立,到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数据营销平台的搭建,程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大的贡献。 中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际上只是一些Codingfans,压根没有资格称为程序员,但是据我所知,不少小网络公司的CTO就是这样的codingfans,拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓人。 程序员基本素质: 作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质。 1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。 2:文档习惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。 3:规范化,标准化的代码编写习惯 作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 有些codingfans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。 再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。 4:需求理解能力 程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访能力。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。 5:复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。 复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。 一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。 6:测试习惯 作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。 测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试,并尽早发现和解决问题,当然这需要上面提到的需求理解能力。 7:学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。 善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。但是学习也要找对目标,一些小codingfans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提高。 善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。 一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候马上就到了。 具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。

6,一个程序员要具备那些基本素质呢

在自己的实践中
在中国,这种现象在中小型企业、家族企业以及工业品市场营销中是经常会遇到的情况。出现此种情况一般是企业没有充分考虑什么样的营销人员才是称职者,我们经常注意到一个企业招聘营销人员所要求的条件不外乎学历、年龄、甚至经验,但是往往在招聘过来后,招聘、培训、高薪许诺等等一系列的程序下来后,等到他们到了市场上操作一段时间后才发现他们并不适合营销工作。这时一些企业就“将就”使用,一些企业对他们进行岗位调整或者辞退,还有一些人员感觉并不适合而主动辞职。 究竟一个合格的营销人员需要具备那些基本素质呢,要在复杂的市场营销海洋中成为一个弄潮儿,我们认为在营销人员的招聘甄选中,传统的学历、口才、背景甚至经历固然很重要,而且一般企业也都给予足够的重视,但同时在招聘甄选过程中还应该特别注意其另一个最重要的素质,市场营销特质。 营销人员对市场的特质,就是市场营销优劣的根本原因之一。市场营销就是一种创造价值的交易,它销售着产品的同时,也在销售着服务,在市场越来越细分化,竞争越来越加剧的今天,如何使企业的产品和服务让消费者接受和认可,除了营销战略的正确外,市场一线营销人员的对企业营销战略和战术的理解和发挥,也就是市场营销艺术特质,此时就起了重要作用。 二、市场营销人员营销特质的两个方面 1、具有营销灵敏性。有人说市场营销在美国及西方国家是80%的制度加20%的艺术,而在中国是80%的艺术加20%的制度,我认为这个观点是正确的,中国的企业虽然现在逐步引进国外的先进的市场营销经验,注重制度化的建立,但是由于中国人的人文习惯的不同,消费能力以及市场发育不健全,因此如果过分注重制度化的建立而忽视市场营销的艺术行为,必然会与消费市场脱节,而市场中的艺术性在工业市场中尤其如此。 灵敏性是指敏锐的观察能力,在人际交流中,如果你能很成功地预测出你的目标客户的所思所想,并能得出一个行之有效的诱导方法以使目标客户达到自己想达到的期望,并能很好地维持客户关系,沟通的灵敏性就是一种市场营销艺术的基础。 具有灵敏的观察能力,正确预测出客户的行为反应,就可以顺其所好,生意不用说就已经成功了一半,一个具有灵敏的悟性的营销人员,他的销售行动并不是呆板地执行公司的营销计划,而是创造性调整计划以满足客户的需要,从而达成营销的目的。在此过程中,具有说服力的口才虽然可以配合自己的成功,但是如果没有灵敏地感受到顾客的反应,而只是口若悬河,没有进行必要的合理的沟通,以各种顾客最关心的利益打动他,效果就会可想而知。 可见灵敏性特质是市场营销人员必须具备的特质之一。 2、自我驱动力。营销人员必须具有的第二个营销特质就是自我驱动力,其实驱动性是建立在自信心的基础上的一种自我达成的成功精神。他必须有一种强烈的成功欲望,而这种欲望同时需要物质和精神的激励。如果一个营销人员没有足够的自信心和强烈的成功欲望,只是为了物质上的需求,则当他达到一定的营销业绩时,必然会失去以往的冲劲,达到了自己的销售曲线的高峰期就停滞不前,失去对市场的责任感,而沾沾自喜于过去的成就中,不再耐心地去维护市场管理市场。 而具有自我驱动力的营销人员,对于市场上的成功是一种自我满足的方式,就像一个竞技场上的竞技者,他的主要目的就是为了发挥自身的潜能,对于市场上的任何困难,都会想尽办法克服,积极主动地开拓市场,金钱是外在驱动力的一部分,而成功的欲望则是自我驱动力的核心。 在营销人员自身潜在的自我驱动力营销特质发挥过程中,外在的精神激励及更大的物质激励起到重要作用。 三、营销特质在市场上的表现 一个人的营销特质就是由此两部分交互作用而形成的。两个部分互相作用,互相加强,对顾客的反映灵敏性加上自身固有的营销特质,才能达成成功的销售。一个具有上述双重特质的人,在加上其合适的学历与年龄,当是企业理想的营销人员,辅助以适当培训,必有杰出表现。在此过程中,经验就变成了很次要的因素。 对于具有灵敏性特质但是不具备突出的掌握驱动力的人员,可以很好地发现目标客户的需求,但是因为自身的驱动力不足,只是被动地去做工作,完不成目标当是在意料之中的。 再一类是具有强烈的自身驱动力,但是不具备灵敏性特质的人,往往对于公司的营销政策执行的比较好,有成功的欲望,但是因为发现不了市场上的细微变化和目标客户的真正需求,往往会失掉一些本应该成功得到的客户。 最后一类显然并不适合营销的工作。当然不适合营销工作,不是说他不是一个优秀的人员,他可能在会计领域,技术领域成为佼佼者。 四、如何招聘与甄别具有营销特质的营销人员 作为企业的营销人力资源管理者和直线经理,在招聘甄选合格的营销人员过程中,必须把营销特质作为首位因素。招聘与甄别的方法一般包括以下几个方面: 1、人格与性向测验。优秀的营销人员对于企业来说具有重大的价值,但是一般企业也少有十分可靠的办法来,作为选择的工具,虽然国外企业及心理学家致力于此类研究几十年,因此任何测验工具都只能作为重要的参考内容。 测验的方法是一种模式化的方法,因此你很难测出具有独特的营销特质的人。但作为对于一般性格、兴趣和能力方面还有一定的参考价值,因此,此类测验最好作为初试测验,仅供参考。 2、充分利用面试会谈的作用。面试的主持者一定是具有相当的营销经验的人员,知道如何辨别营销特质。譬如某位有经验的面试主持者,可以要求其向自己推销某中产品,或者说出市场中出现的某种问题,以了解被面试者如何回答。从而判断其营销特质如何。 3、以潜力为根本而不是以经验为根本。许多的公司往往看重其对某一产品的营销熟悉程度,只要知道他很熟悉就可以通过,经验的获得并不难,难的是其是否具有对市场的独到理解和渗透程度。而这些都通过其灵敏性和自我驱动力表现出来,营销特质才是其营销的根本潜力所在,有经验固然好,但不是决定因素。 4、注意营销特质的最佳表现年龄。营销特质的最佳表现和发挥的年龄应该在25岁至45岁左右,年龄太低,客户可能感觉不成熟,年龄太大则其特质会逐步萎缩,同时其思维反映会逐步形成定势,而且灵敏性和驱动力会逐步降低,不利于企业充分挖掘其特质。因此在考察其营销特质时要注意一下年龄。
作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质。 1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。 2:文档习惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。 3:规范化,标准化的代码编写习惯 作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 有些codingfans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。 再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。 4:需求理解能力 程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访能力。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。 5:复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。 复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。 一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。 6:测试习惯 作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。 测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试,并尽早发现和解决问题,当然这需要上面提到的需求理解能力。 7:学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。 善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。但是学习也要找对目标,一些小codingfans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提高。 善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。 一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候马上就到了。 具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。

文章TAG:程序  程序员  自我  自我修养  程序员的自我修养  
下一篇