为什么中国的程序员总被称为码农?

  实际上IT行业在中国并不是特别差的行业,而程序员的工资也并不低,但为什么中国的程序员总被称作码农或者说是苦逼的程序员?中国的程序员生活和欧美的有什么不一样?

 



  编程活动和机械电子一样可以视为一种工艺(craftsmanship),从事此类工艺活动的人可以叫做工匠或者工程师。经历过工业革命的欧美国家,有深厚 的工程根底,从机械到电子再到软件,都是国家产业的支柱,滋养着社会中坚力量的中产阶级。工程师的社会地位普遍比较高,他们有工艺的传承,有文化圈,有产 业的历史。

  而国内目前的软件工业和制造业非常相似,以来料加工式的低水平重复劳动为主。就好像农民仰赖着老天提供种子、土壤、阳光和水, 中国程序员仰赖着洋人提供设备、技术和理念,从微处理器、操作系统、编程语言、编译器、IDE、编程框架到应用程序,除了做晶圆的沙子是本地产的,几乎没 有什么属于自己,每天的工作内容主要就是把别人已有的东西按照自己的——甚至不是自己的——的需求装配一下,没有什么创造性,也很少有业界的技术积累和传 承出现,即便有也流传不开,毕竟程序员文化水平普遍不高——「有知识,没文化」,就是说这样的状况。记得劣质盗版 VCD 满天飞的时代有个程序员做出一款丑陋但是解码容错能力很好的播放器,贴合国情,一炮成名,结果好容易写本书,没有几个句子能写通顺的。这种技术书籍的拙劣 状况一直保持到现在,而且拙劣的方式更加多样化了。没有技术传承,没有文化圈,不乏有人上大学之前对编程一窍不通,学计算机只是因为计算机「热门」而已。 如同包办的婚姻,没有一丝爱情,最后以编程为业,只是因为也不会做别的什么了。

  另一方面,国内程序员不论薪水如何,的确很苦。许多人长期 被迫加班,最后甚至会成为一种自愿的习惯。可生产率和产品质量并未因此而提高,就像千百年来用惯锄头和镰刀的农夫,很少有人会想要去学习、改进自己使用的 工具和习惯,甚至对于新兴的思潮和方法抱有非理性的抵触情绪。生活如此悲惨,却又如此不思进取,和农民的问题很相似。再加上,就好像城里人眼中的乡下人一 样,程序员们木讷、邋遢、缺乏情调、土。可偏偏又自负而且互相看不起。

  总而言之,在中国做一个程序员,很少有什么事情能让人觉得自己从事 的工作很体面。那么,在整个社会以自嘲为风尚、许多行业都喜欢好勇斗狠地自轻自贱的状况中,使劲贬低自己的职业,自嘲和群吵时,就不会有什么心理包袱。不 过,就好像黑人可以自称或者互称「黑鬼」,但是白人如果敢讲立刻会惹祸一样,喜欢以此自称的程序员并不见得能容忍其他人这样称呼自己。

  最后,英语有类似的说法,将带有隔断的办公室叫做 cube farm,常见于传统的软件公司。以讽刺(但不限于)软件公司日常生活为主题的漫画 Dilbert 就有不少格子办公室里的场景。不过 cube farm 说的并不是程序员们像农民,而是说他们像地里的庄稼或者果树,产出成果,等待收割。毕竟,欧美发达国家的农民生活往往比程序员更好。高收入,农机劳作,大 片的私有土地,宁静的田园生活。农民的生活在那里,如果不是令人向往,至少也并无贬义。

原文来自:http://www.open-open.com/bbs/view/1394004234333

本文链接:http://www.cnblogs.com/oooweb/p/why-call-programmer.html

转载于:https://www.cnblogs.com/oooweb/p/why-call-programmer.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pin controller driver代码分析

一、前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datasheet会把pin controller的内容放入GPIO controller的章节中&#xff09…

计算机调节音量找不到,电脑右下角的小喇叭不见了?教你这样操作,轻松调节音量!...

原标题:电脑右下角的小喇叭不见了?教你这样操作,轻松调节音量!一般情况下,如果我们需要调节音量,可以直接通过电脑右下角的小喇叭调节,它是电脑声音设备的图标。但是,最近有位朋友想…

lm opencv 算法_OpenCV进行图像相似度对比的几种办法

// PSNR.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include // Console I/O#include // String to number conversion#include // Basic OpenCV structures#include // Image processing methods for the CPU#include // Read images#include // GPU…

android程序获取WIFI的IP地址和MAC地址

转自&#xff1a;http://my.oschina.net/chenj/blog/68680 近日在鼓捣这玩意&#xff0c;拿出来大家分享一下&#xff0c;代码比较简单&#xff0c;如果有不懂的再问 <Button android:id"id/btn"android:text"获取IP"android:layout_width"fill_pa…

计算机d,计算机词汇d

data block 数据块data connection 数据连接Data Control Language (DCL) 数据控制语言 (DCL)data definition 数据定义data definition language (DDL) 数据定义语言 (DDL)data dictionary 数据字典data dictionary view 数据字典视图data explosion 数据爆炸data file 数据文…

a5d2 mac 驱动分析

2.6内核以后的多数驱动都是基于平台总线驱动模型(platform)&#xff0c;对于平台总线来说&#xff0c;无非是两块组成 platform_driver和platform_device&#xff0c;在a5d2的bsp中&#xff0c;因为引入了device tree&#xff0c;因此&#xff0c;代码里已经看不到 platform_…

10以内的分解与组成怎么教_【一年级数学】(上)10以内的分与合技巧及练习题...

《10以内的分与合》知识点数的组成&#xff1a;一个数(1除外)分成几和几&#xff0c;先把这个数分成1和几&#xff0c;依次分到几和1为止。例如&#xff1a;5的组成有1和4、2和3、3和2、4和1。把一个数分成几和几时&#xff0c;要有序地进行分解&#xff0c;防止重复或遗漏。《…

linux下swftools 的配置

1、安装所需的库和组件。机器之前安装过了&#xff0c;主要安装的是下面几个组件。如果不安装会提示machine x86_64-unknown-linux not recognizedyum install gcc* automake zlib-devel libjpeg-devel giflib-devel freetype-devel2、下载编译安装swftools。wget http://www.s…

交通与计算机杂志社,交通信息与安全

期刊名称&#xff1a;交通信息与安全主管单位&#xff1a;中华人民共和国教育部主办单位&#xff1a;武汉理工大学;交通计算机应用信息网期刊级别&#xff1a;国家级国际刊号&#xff1a;ISSN&#xff1a;1674-4861国内刊号&#xff1a;CN&#xff1a;42-1781/U邮发代号&#x…

k1658停运到什么时候_最近网传的春节快递停运时间表,是假的!

“我有货&#xff0c;你有钱&#xff0c;其间没有快递员。”最近&#xff0c;杭州市民梁先生的朋友圈里&#xff0c;突然火了一张图片。标记为2019年日历的这张图片上&#xff0c;1月25日和2月12日之间的日期都被白线框定&#xff0c;并打出了“其间没有快递员”的字样。还有一…

a5d2 phy驱动

1. 下面代码实现了phy驱动的实现和注册 2. device tree实现了phy的device 3. 在mdio总线注册后&#xff0c;总线会调用总线驱动的match函数&#xff0c;进行device和driver的匹配 static int mdio_bus_match(struct device *dev, struct device_driver *drv) return (phydrv-…

vs2008配置winddk

Vs2008配置winddk 1、 安装winddk&#xff0c;我安装在了c盘下&#xff1b; 2、 电脑-》属性-》环境配置里 系统变量里加入 DDKBASE&#xff0c;其值是 3、 path变量里增加 ;C:\WinDDK\7600.16385.1; 第二大步&#xff1a;&#xff08;非常关键&#xff09; 1、 vs2008里 工具…

android跨进程事件注入(程序模拟用户输入)

转载请注明出处 早想写这篇&#xff0c;一直没空&#xff0c;现在总结下。 需求&#xff1a; 需要在程序内模拟用户输入&#xff0c;比如点击屏幕&#xff0c;或者输入键盘。模拟用户的滑动等。具体的需求&#xff0c;比如测试的时候&#xff0c;测试打开浏览器1000次。或者通过…

三菱d700变频器接线图_图解PLC与变频器通讯接线

plc与变频器两者是一种包含与被包含的关系&#xff0c;PLC与变频器都可以完成一些特定的指令&#xff0c;用来控制电机马达&#xff0c;PLC是一种程序输入执行硬件&#xff0c;变频器则是其中之一。但是PLC的涵盖范围又比变频器大&#xff0c;还可以用来控制更多的东西&#xf…

全国高校计算机考试用的什么版本,全国高校计算机等级考试与全国计算机等级考试,有区别吗...

技校网专门为您推荐的类似问题答案问题1&#xff1a;全国高校计算机等级考试一级和全国计算机等级考试一级有什么区别不一样的 全国高校计算机等级考试是专门为全国各高校非计算机专业的在校大学生举行的计算机基础知识和应用能力等级考试。根据教育厅通知要求&#xff0c;各高…

ASCII码排序

ASCII码排序 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;2描述输入三个字符&#xff08;可以重复&#xff09;后&#xff0c;按各字符的ASCII码从小到大的顺序输出这三个字符。输入第一行输入一个数N,表示有N组测试数据。后面的N行输入多组…

a5d2启动分析

A5D2对外部存储设备的启动顺序如下图&#xff1a; SDMMC_1接的sd卡&#xff0c;SDMMC_0接的emmc, SPI_0接的串行flash,当外部存储都不可用或没有启动程序的话&#xff0c;会直接进入sam-ba monitor&#xff0c;就可以执行sam-ba提供的各种烧写脚本了。 目前我们使用的烧写脚本…

软件测试菲律宾,英雄联盟手游菲律宾测试资格怎么得 菲律宾测试资格获取攻略[多图]...

英雄联盟手游菲律宾服务器将先行开放测试&#xff0c;所有想体验游戏的玩家可以申请获得测试资格来优先体验&#xff0c;下面各位玩家一起来看一下测试资格的获取方法吧。目前游戏只能够在外服测试&#xff0c;而且是菲律宾的服务器才行&#xff0c;这是国外游戏测试的一个老套…

ug建模文本怎么竖着_UG建模知乎答疑练习小集锦

持续更新中……solidworks 如何在圆弧边折弯&#xff1f;​www.zhihu.comsolidworks像这样使用扫描为什么得不到结果&#xff1f;​www.zhihu.com请问一下solidworks像我这样使用扫描加了引导线但为什么没有反应&#xff08;想扫描一个杨桃那样的东西&#xff09;?​www.zhihu…

NSHashTable and NSMapTable

NSSet和NSDictionary是两个常用的类&#xff0c;但是他们默认假定了其中对象的内存行为。对于NSSet&#xff0c;object是强引用的&#xff0c;和NSDictionary中的value是一样的。而NSDictionary中的key则是copy的&#xff0c;因此当开发者想要使NSSet的objects或者NSDictionary…