① 什么是程序员
程序员,从字面看就是写程序的人员。
程序员(英文Programmer)是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。
初,中级程序员一般叫做码农。
高级程序员和架构师一般叫做攻城狮
系统分析员是指做需求分析同时懂代码的那群
测试攻城狮一般指黑盒测试,也就是点点点,所有功能按钮全点,看看有没有错误,常见错误404,500。
总结而言,一只优秀的程序猿通常有以下特点:(以下来自于网络,词条:程序猿)
【PMonkey】对技术充满JI情(因为能够得到香蕉)
将编程作为一种爱好(不一定,只有少数的程序猿有这一素质) 如果你允许会滔滔不绝地跟你谈论技术(程序猿使用特殊的语言,别的人或猴子很难听懂)
【PMonkey】有过个人的开发经历(独立的寻找过香蕉或追寻母猿)
坚持认为某种技术最好(程序猿都很固执)
如果让他用他认为不好的技术他会非常别扭(同上)
聪明、健谈、兴趣广泛(只限于NEET和有关宅话题)
在大学和工作前就开始接触程序(程序猿从小就是程序猿了)
总而言之,程序猿和它的一些同种族(如网管猿,技术猿)一样,都是人类用来帮助提高生产力的技术人员,由于许多程序猿的智力很高,所以经常自己去寻找香蕉或母猿而无心工作,但这只是个别现象,总体来说程序猿是一种对人类很有用的动物,它们工作时很勤劳,而且不像业务猿那样喜欢跳奇怪的舞蹈(也叫增猿舞)吵的人们想鬼畜它,程序猿一般到了30岁左右就会进化成别的猿类(一般是管理猿),不过据报道,也有一些少数一生都是没有母猿的悲剧程序猿。
程序猿是被诅咒的悲惨生物,它们受到的诅咒有:过度的劳作、永远不足的睡眠、低廉的收入等等……
程序猿并不擅长战斗,它们生活中最主要的活动是——在树叶上打洞,然后将打洞的树叶放进一个木盒子里念咒语,并声称那些是能够提高族群的食物供给或提供其他神奇功能的伟大产品。但是,因为每个程序猿打洞的方式各不相同,他们之间也会经常爆发冲突,每个程序猿都声称自己所用的打洞方式是最好最先进,打出的洞是最美最华丽的,并不惜因此用打洞的树叶互相投掷。根据一些冒险者收集到的程序猿族群的资料,所谓的打洞方式,有西珈岬式、爪哇式、希沙埔式等等。不过,令人惊异的是,虽然每个程序猿所用的打洞方式都不同,但它们能用几乎所有的方式来给树叶打洞,来表达“你好,世界”的意思……
因为长时间的不运动,程序猿的体力普遍低下,不擅长近战。不过,它们的高超智力弥补了这个缺陷。投掷打洞树叶是它们常用的攻击方式,而且,一如它们所宣称的一样,那些树叶有着一些神奇的功能——很多冒险者在受到树叶攻击后,虽然受伤并不严重,但都不同程度表现出反应迟缓、四肢不听指挥、眼前一片蓝色等症状,甚至于昏迷不醒。不过,好在这些症状都不致命,但是这足以保护程序猿远离冒险者的侵扰。
程序猿只为了保护栖息地才会战斗,因此,一般冒险者都会绕开它们的地界。而且,由于程序猿的智力达到了能和冒险者交流的程度,甚至有的冒险者和程序猿族群建立了良好的关系,并且得到了它们的打洞树叶作为向族群提供食物的交换——只是这些礼物在冒险者手上远不如在程序猿手上可靠……
② 什么是程序员
程序员是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和写作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员、项目经理。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
③ 什么是程序员
程序员是从事程序开发、程序维护的专业人员,其工作职责是:
1、负责软件项目的详细设计、编码和内部测试的组织实施;
2、协助项目经理和相关人员同客户进行沟通;
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析;
4、熟练掌握交付软件部开发的软件项目的相关软件技术;
5、负责相关技术文档的拟订。
成为一名出色的程序员的基本规则:
1.扎实的基础。
数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。
2. 丰富的想象力。
不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。
3. 最简单的是最好的。
简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
以上内容参考网络-程序员
④ 什么是程序员
什么是程序员
什么是程序员?什么人能称得上是程序员?会编程序的人都是程序员嘛!这个问题看似简单,但细想一下,也很难回答。其实在中国,有关程序员有很多种接近的叫法,例如“开发人员”,“编程人员”,“电脑人员”等等。只是现在分工越来越细,专业化程度不断提高程序员这个词才会逐渐地流行起来。
那么什么人才算是编程人员呢,现在看来凡是从计算机专业或相近专业毕业的、以编写程序为职业的都可算得上程序员。但是在上世纪80年代到90年代,由于计算机还是个新生事物,整个社会对其有种神秘、高贵、不可触及的印象。加之计算机人才少之又少,除了计算机专业从事开发工作之外,很多非计算机专业的同志,甚至初高中生也加入到开发队伍之中,他们充满激情,敢于学习,勇于探索,他们其中有许多人很快地就成为开发队伍中的主力军,成为编程人员中的佼佼者。有的时候,专业的程序员还不如业余的程序员,这种情况比比皆是。那个时候,开发环境、学习环境比现在差的很多,程序设计语言比较单调,技术书籍更是少之有少。记得当时只能把单位印制8086,Z80汇编程序设计当作教材,用debug把操作系统中代码打印成厚厚书籍来阅读。由于单位是生产电脑(组装)的,因此,使用电脑还是比较方便,但是,绝不可能在家里自己拥有电脑的。
由于那时程序员可以触及电脑,可以看着别人不懂的代码,可以让电脑执行自己的指令,在许多外行甚至内行人看来,是非常敬仰的。
程序员一般只掌握单一的程序设计语言,比如编写汇编程序的程序人员,编写C语言的程序人员,编写unix、xenix、aix、soc、hp-unix等unix类的shell程序人员,编写与数据库打交道的procc程序人员,编写C++程序的程序语言,编写面向对象的VFP、VB、Delphi,PB的程序人员,编写web程序的HTML,CGI,ASP,php的程序人员、编写C#、java的程序人员,这些程序语言有些被保留下来,有的则被时代无情淘汰了。同样程序员如果不能适应语言的发展也避免不了被淘汰的命运。
我感到其实程序员和其他职业人员不同之处:
1)因为比尔盖茨是编程序的,似乎每个程序设计人员都有一个“比尔盖茨”梦想:比尔盖茨能做的,我也许能做到,即使做不到,做一半也是不错的。这个潜在的意识是程序员最大的财富,许多程序人成了有理想有抱负的人。我想很多人选择IT大都与此有关吧。
2)工作成果完全由自己把握,随编随运行随出结果。这种自我感觉是很多职业都不具备的。因此,程序员有很强的自信性。而且这种自信,往往可以使得程序员产生自己可以开公司念头。
3)有很高的预期价值。
软件通过使用创造了价值,程序员通过制作产生了软件。因此,程序员往往把软件的价值看作自己的价值,例如一个软件卖了5万元,程序员就会把自己的劳动价值故在5万上,如果这个软件有100个潜在的市场,那么程序员就会把这个价值升值到5*100=500万上。所以在程序员这个群体,很多人都相信自己未来能够获得更多的'收入。
当然,程序员也有其他一些特点,例如:有的程序员喜欢晚上干活,白天睡觉;有的喜欢钻研,连续加班;有的头脑灵活,动手能力强;有的喜欢追逐最新技术,变成别人公司的代言人等等。
有一点我是注意到了,程序员在社会上的地位呈下降趋势,以往给人以仰目而视的形象,逐步走下神坛。也许我们在中国的程序员中间再也发现不了比尔盖茨的身影了。
这是程序员的悲哀还是社会的悲哀,还是正常不过的社会现象?
;
⑤ 黑马程序员是做什么的
就是培养程序员的培训企业,人家的意思是经过他们培养,各个能成为程序员队伍中的“黑马”
具体的,网络有解释,如下:
黑马程序员,又名"中关村黑马程序员训练营",隶属北京创新乐知信息技术有限公司,是中关村软件园、CSDN,并委托传智播客进行教学实施的软件开发高端培训,致力于服务各大软件企业,解决当前软件开发技术飞速发展,而企业招不到优秀人才的困扰,培养中高端软件人才。
⑥ 码农是什么意思
码农的意思是:
从字面上来说,码农是专门写代码的农民,其实就是程序员,一般指从事软件开发职位的职员,学不到新技术,同时也是部分从事软件开发工作人员的一个自嘲的称号。
从本质上来说,码农就是你让他写什么他就写什么的“机器人才”。所谓的码农大多都通晓几门编程语言,但是在商业方面却并不熟悉。当然也有不感兴趣的因素在内,毕竟通常来说,码农做的只是写代码。
(6)什么是白马程序员扩展阅读:
职业要求:
首先一般需要有一个程序领域的学士学位,而且数学和工程类知识都不错。当然还有很小一部分程序员是自学的。尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上。一个程序员虽然没有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。
另外一个重要的方面就是,需要不断提升自己的业务技术,技术必须一直保持在一个较高的水平,并且要不断发展,如果技术没有达到要求那么有可能面临淘汰。当然也要寻找机会,多参加研讨会,在周刊上发表文章等,这些使程序员在自己的领域中分级或者不断并排前进。
⑦ 码畜、码奴、码农是什么意思
这是IT行业程序员的自嘲,码农顾名思义为编码的农民,尤其是在工业化迅速发展的今天,各行各业对计算机应用的依赖不断增强,随之而来的社会需求大量的IT民工投入到基础的编码工作当中来,他们有着聪慧的大脑,对于编程,设计,开发,有着熟练的技巧,但随着企业雇主的对利润的不断追求,他们的生活时间是相当的紧,加班对于他们来说很正常。
随着时代的变化,很多IT工程师也自嘲为“码农”。他们多为高收入高学历的IT精英,很多人已经在企业中担任高级别的构架师和资深工程师,由于他们热爱编程和坚持写code的习惯,所以称之为“码”。加之互联网大企业的总部都坐落在城市边缘的开发区,例如北京上海和深圳的科技园,所以自嘲为“农”,码奴、码畜也是同样的意思。
职业要求:
一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。
大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。
一个程序员虽然没有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。
⑧ 什么是程序员
程序员(英文Programmer)是从事程序开发、程序维护的基层工作人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚。
岗位职责
程序员小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究
希望能帮助您还请及时采纳谢谢。