程序员怎样看待码农这个称谓
不是大佬的普通程序员回答一波,其实码农是程序员自嘲的称呼,一般是自己或者很熟的朋友可以这么叫,关系远一点或者干脆就是陌生人这么叫就很不合适了。这种自嘲的称呼在生活里面非常常见,比如老人家自称老头子老太婆,黑人自称Nigga,年轻人自称屌丝,还有广告狗设计狗等等等等。所以这个问题并不是程序员独有的问题,不同的场合不同的关系使用不同的称呼,这是一个人基本的礼貌,在家里可以叫自己父亲老头子,在亲友年前最好叫爸,在一些特定的场合,甚至要叫全名后面再加上先生两个字。那些随意叫着别人码农的人,跟那些随意叫别人老头子的人其实是一批人,他们不是对程序员有意见,他们只是不懂礼貌而已,题主还是不要想多了。
■网友
一直觉得开发这份工作其实是分为两种人,一种是程序员/工程师啥的,另一种就是码农。前者不断精进,学习,提高自己,努力的专研各种技术,这种应该称为程序员。另一种日复一日重复着增删改查,不去思考,不去研究,对底层逻辑,概念和新的知识,技术丝毫不感兴趣,得过且过和农夫一样(没有看不起农民伯伯的意思),每天干的其实是体力活,这种人应该称之为码农
■网友
就目前来说,绝大多数人对程序员的认识都非常非常的不足。这一点甚至包括很多程序员自己。 他们每天消极悲观,被迫加班,找不到女朋友,工资标准虽然高过平均但是很多情况下依然和工作量 不成比例。他们自称为码农,意思是像农民一样勤劳,也许是被迫勤劳。在别人眼中,程序员的工作无非就是天天敲一些英文字母, 并且就这点小事还弄得天天都是BUG。
这里有一个非常大的问题,程序员不是工人,做的也不是重复劳动,所以程序员的工作有很大的不可量化性。 对于一个优秀的程序员来说,写代码的时间只是工作时间的一部分而已。但是只有这一部分,甚至是一小部分能够被人看见,久而久之就成了程序员的标志。这种误解越深入,越会干扰程序员的工作,最后降低程序员的生产力,恶化和程序员之间的人际关系。
程序员的工作应该这样来描述:将客观世界的模糊需求转化为精确的数学描述。做到这一点,需要进行需求分析, 数学模型设计,验证,最后才是编程。当你看到一个程序员在写代码的时候,其实他已经进行到了最后一步了。
下面我详细说说
1. 需求分析
只有非常少数的程序员可以自由自在的实现自己的想法,绝大多数程序员设计程序的能力都被作为一种资源使用。 这样就必须将需求描述给程序员。而对于没有接受过相关逻辑训练的人,描述需求一般都不可能非常精确。 这样就必须要求程序员充分理解产品相关人员提出的需求,并且给出建议和解释。但是这一步几乎就被忽视了, 很多的产品经理都认为一但我给你了需求你就必须立即开始写代码。但是如果没有对需求的充分理解和认识, 会给后期的工作和配合带来很多隐患。
比较具体的一个问题是需求本身的重要性以及它对代码本身的影响和时间成本的影响。《DOOM启示录》里面记载过一个细节。 在引擎开发结束,进入游戏场景设计的环节中,罗梅罗认为场景中需要一些隐藏属性,比如墙上的暗门,触动机关后可以缩回去, 在平时和墙合为一体看不出来。里面有可能有隐藏的怪物,或者是特殊武器。喜欢研究游戏设计的人应该知道这种隐藏属性 能够在延长游戏的生命周期中起到很重要的作用。但是由于当时引擎的设计并不包含这种能力,卡马克需要对引擎做非常大的 修改才能够完成这个需求。于是卡马克以项目进度和代码复杂度等原因拒绝。罗梅罗觉得这件事很重要,但是怎奈卡马克大神 那种心意已决的态度,罗梅罗也没办法。但是过了很久以后,卡马克居然把这个功能给做了。原因就是他思考了一段时间以后, 觉得这种功能的重要性已经盖过了对代码结构的损伤和时间的付出。这就是一个典型的需求分析过程。并不是说这事儿我 看懂了,听懂了,就算是需求分析过了。毕竟程序员的时间成本非常高,并且代码结构修改也会带来附加的问题,所以程序员需要 深入的理解需求,并且估计出这种需求带来的时间成本以及可能出现的后续情况,给产品人员提供足量的反馈信息。
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 招聘都要学历,何来程序员不看学历
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 坐标合肥,请问在哪里能捕捉到程序员这种生物他们大都出现在哪里呢
