⑴ 请问做程序员好吗,为什么有那么多人叫程序员为码农,到底做程序员好不好
什么工作都是兴趣所致,你要有兴趣就行。不过程序员确实是个体力劳动,因为告诉你一个规矩,就是完成一个程序的代码,越快,你拿的钱就越多,这样就会导致很多加班,任务多的时候就是高负荷了
⑵ 什么叫程序员
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
⑶ 为什么计算机从业者多被称为程序员,而不是工程师
随着经济不断发展,现在电子类物品层次不穷,那么在电子类物品层次不穷的过程中,也就意味着会衍生出很多计算机行业的人才。可是在日常生活中,为什么计算机从业者总是被称为程序员而不是工程师?
对于工程师来说,在日常生活中可能需要做到:计算机的程序设计员、软件测试师、系统的分析师、软件项目的管理师、系统架构设计师、网络的工程师、网络建设的工程师、计算机操作、信息系统安全师、信息系统管理师、信息系统监理师、信息系统评估、资源开发与管理人员、信息系统设计人员等等。所以每天的职责还是比较繁重的。
⑷ 人们通常管程序员叫什么
码农。
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。
⑸ 为什么中国的程序员总被称为“码农”
对于一些贬义的说法,个人认为作为一个程序员应该保持“诚意开张圣听,不要妄自菲薄”的态度。
程序员一直以来看哪个是别名最多的一个职业,我姑且不分褒贬的称之为你才吧!就像小学的时候一样,相互之间往往喜欢区别名叫昵称之类的,而又往往外号叫的最响小名最多的就是最受关注的哪一个,程序员在当今网络上的处境大抵如此。
码农这个词米偶遇仔细研究过来源。参考其他人的回答知中文中的码农大体相当于英文中的code monkey。程序员码农说法的由来大概来自于程序员圈内自嘲的说法。这里程序员对码农的更多理解可能更接近coder这个词,就是说我是一个写代码的。可能会有人以此来明志,表面自己很热爱写代码,或我很精通以此,再或者言外之意我只是一个写代码的,别来找我给你装系统修电脑什么的,我最烦这个了(ノ`Д)ノ。
程序员这个行业知名度虽然高,但是正在了解程序员是做什么的人并不多,大多数人直观臆想出来的感受可能是一个座在电脑前,后背前倾,颈脖前伸,面容憔悴,形容枯槁,两眼无关紧盯着电脑,两只鸡爪子似的双手快速的在键盘上敲击,屏幕快速出现一行行一块块英文字符的形象。这其实只是程序员的表面,完全米有展现出大多数程序员的内在。程序员真正的工作是解决问题,代码只是解决问题的途径,或曰实现方案。
程序员究竟解决什么问题呢,又是从哪里来的问题呢?首先要提到产品经理,产品经理给成员一个需求,程序员要思考如何实现这个需求。比如产品说这个登录过程应该这样这样,用户是否有通过手机或者邮箱验证。程序员要做的就是想方案来实现这个需求。在比如产品说我们这个网站要同时支持多少人访问不会出现卡,或者页面刷不出的情况。程序员接到这个需要就要思考如何设计这样一个高性能,高并发的服务端,最终通过代码来实现设计。好,现在代码写完啦,产品发布上线了。什么购物网站啊,大家可以随意挑选自己喜欢的产品,什么交友网站啊,大家可以写好自己的介绍发布出去让别人看到。但是还米有完,可能这个网站还要加点新功能,或者程序员自己也想,这个代码有没有什么地方实现的不好,换一个方法会不会更优雅。然后又是思考解决<=实现方案<=线下测试。自己测试发现可以,这个方法很好,发布到线上,就是用户最终使用的形态。不断提出新需求,完善新的功能我们称之为迭代。改善现有设计我们称之为重构。这些都是非常有艺术感的事!
事物发展就会演变出各种变体,有一些公司会把问题和解决问题的方法都做好,然后再交给其他公司或者个人去做实现(写代码)。由于在这里解决问题的过程被剥离出来(最有技术和艺术感的部分)剩下的就是实现,就是敲代码。好比建一栋房子,房子的设计和施工方案都已经做好了,就剩下施工了,这时候只要找个施工队就可以了。在这些做设计的公司,他们是有能力来实现这些方案(敲代码)。但由于欧美日等国家人力成本高,将这些技术含量低敲代码的苦活儿剥离出来交给相对落后地区的人去实现可以帮助他们节省人力成本。以上这个现象就称之为软件外包。另一方面,在美国主导的全球生产分工下,美帝也希望将中印这样的发展中国家固定在低端制造,劳动秘籍型的行业。
既然程序员是解决问题的,那么是否所有电脑相关的问题程序员都能解决呢?纵向来看,计算机系统可以简单的分为三层,应用程序<=操作系统<=计算机硬件。计算机硬件的设计研发基本和程序员无关。硬件往上就是程序员的职责范围了。这是可以简分为应用软件程序员和系统软件程序员。系统程序员的责任是实现高效的硬件管理,应用程序员则是为用户提供高效的服务。下面说说在这两方面和国外的差距,手机端应用软件(有服务端的包括服务端)差别不大,大家从自己手机中软件就能感觉到。PC端有差距,比如人家有PS这样的图片处理软件,而我们则没有。在这方面人家发展了几十年我们年数不够,有差距还是可以理解的。但我辈当发奋努力,以追他人之先。另外应用程序web化应该是趋势,这方面我们还是有优势的,对于普通用户来说最直观的体验就是不用装很多软件了,只要有一个浏览器就行。在操作系统层面,PC如Windows,服务器如Linux。Windows微软独家拥有的闭源系统,不说。Linux内核开发来讲国内正在迎头追赶,内核的邮件中中文拼音的人名越来越常见,越来越多的国人加入到Linux内核的开发中。
⑹ 为什么叫程序员码畜,码奴,码农呢
说起这个问题,我也有点淡淡的忧桑;毕竟我现在也是程序猿,虽然我是从其他专业转行过来的,并且深知对我们程序猿的黑已经不是一天两天了,有必要看到这样的言论的时候站出来声讨一下。
程序猿这个行业,其实云集了一群高智商,纯脑力劳动者;因为他们的工作性质,所以很多程序猿或许是天生,或许是后天,塑造的性格就是话少、内向、孤僻、老实、闷骚等性格。所以程序猿给外行人的感觉就是沟通困难、加班多、屌丝男宅男、不合群、不注重形象等。
我已在程序猿这个群里摸爬滚打三年了,至少已经很清楚这是一个什么行业,什么群体了。
我不得不承认我们这行业确实存在很多如果前面所说,性格内向、孤僻、沟通困难的人,也有一些公司存在加班多等不良现象;但是放眼看看其他行业,难道就没有这些性格的人、和这一类的公司吗?NO,答案是否定的;看看外面大热天在工地上干活的人,看看新闻报道在矿井冒着危险工作的人,看看一年大部分时间在穷乡僻野挖石油的人,想想那些在工厂一天工作12小时的人,再想想靠天吃饭的农民们;请问程序猿,你还会为那一点点黑二感到自卑吗?
同样在这个行业这个群里中,我也发现不少性格阳光开朗,幽默豁达的人;好吧 我就是其中一个 哈哈;也有不少爱健身爱旅游爱时尚的人,当然不少领导名人出自我们这个群体;比如网易的创始人 丁磊,大学毕业也是敲了好多年代码,做了好多年码农才有的网易,成为互联网大佬;还有颜值堪比明星的李彦宏,网络的创始人;还有很多很多。
最后想告诉那些黑我程序猿的人,每个行业都有优劣处,不要总是拿别人的不好到处黑,不是我们不想澄清,而是我们忙着做大事,懒得很七嘴八舌的跟无聊之辈理论,浪费时间。
⑺ 软件工程师与程序员的区别
软件工程师它是一个广义的概念,它包括程序员这个岗位。再说明白一点就是程序员也可以叫做软件工程师,但是软件工程师不只有程序员一个岗位。