对于自己成为码农的忧虑

豆豆榨汁儿

说说我亲身经历的码农公司吧。

o大四的时候,校招去了北京一家对日外包公司实习,当时的内容是这样的:日方给予一个项目的源代码,中方负责将项目中所有无法自动修改的代码按照日方要求修改,期间不需要任何思考,所有情况的替换方法日方文档中写的很清楚,遇到没有的情况,发邮件请示。代码改完后,项目组人使用类似uedit的工具按照文档的要求逐行检查格式,哪怕少了一个空格日方都要扣钱,项目组六七个人吧,经常加班到两三点,一半时间改代码,一半时间检验格式。我记得期间问leader为什么不写个工具自动完成,leader说实现不了。

在那里实习三个月,我对整个行业都产生了怀疑,如果这就是程序员的生活,我宁愿转行算了。

好在我编程能力还凑合,快毕业的时候,通过社招进了一家比bat差一点的外企。

如果有从事这方面外包的同行看了并表示不爽的话,我在这里道歉,那个时候社会经验太少,可能了解的很片面。同时也感谢那家对日公司,我在那里养成了规范的编码习惯。

网友:朱众

长期搬砖的程序员的特点:

缺乏系统性分析问题和分解问题的能力

如果没法问别人,则会(感到)束手无策

遇到错误只会根据观察到的现象去网上找解决方案,例如复制错误信息

网上找到的解决方案只会照搬,如果不好使只好再找下一个

对于所使用的技术(比如编程语言)的态度是black box,或者black magic

用观察到的经验和自己总结的规律代替系统性的分析(或许因为缺乏必要的计算机知识 / 对框架的了解 / 数学)

强行积攒自己的一套 {问题: 解决办法} 工具箱,并且遇到问题跳过分析而盲目凭直觉(经验)进行修复,如果不好使立刻再试另一个

完全不了解数据结构、算法、操作系统、网络协议、编译器等基础知识,甚至忽略其重要性

对于未知(但是成熟)的技术有着本能的抗拒和不自信

不能对各种框架、设计、模式、架构的概念和本质融会贯通

以技术名词为炫耀的资本 / 崇拜未知技术名词

心里认为自己是XX程序员 (c++, j2ee, node, python, android, ios)

忽视软件质量

不能正确理解软件质量的本质

不敢改别人写的代码或者老代码

随意改别人写的代码或者老代码

害怕改已经测试过的自己的代码

无法理解以上列举的点为什么不好

但是

使用一套或几套技术非常熟练

对于自己所熟悉的领域可以非常快速的造出一个解决方案/系统

有成吨的项目经验

在自己的领域积攒了大量的花招

打字(编码)很快,IDE及自己的工具链使用非常熟练

PS:码农并不是不会编程,他们会,而且往往从外行人的角度看做事又快又好。这个世界也需要码农,大量的码农,因为各个行业的信息化还远远不够。但是码农往往无法承担起项目中流砥柱的位置,也难以承担更高级的职责。

PS:其中有一些点会比较有争议。我认为可以这样理解:这些是角色刚建立时候送的技能,无论高手菜鸟都会用,所以这里特指明明等级很高却还一直只会使用新手技能的玩家,而不是有意识的选择这么做来节省时间的高级玩家。高级玩家必然有一些在此之外更加系统的、普适的、根本的分析/解决问题/设计/编码的能力。

PS:我正在努力成为一个码农

网友:杨絮

搬砖有几大特征:

1,技术含量不高,比如做个没人访问的网站,做个简单APP

2,毫无超越的重复,比如工作了好多年,还是做个没人访问的破网站。注意,这里的重复不只是说重复自己,还包括重复别人,比如别人做滥的东西,自己还做,而且还做不出新意新高度

3,替代性极强,随便找个程序员都能干,做出来差异也不大

满足的就是搬砖活,不满足的就不是搬砖。

对于技术含量不高而言,电商网站,很多软件工程的大学狗折腾半年都能做出来吧,一个几年工作经验的网上找个开源的网上商城源码搭起来用不了一个星期吧,谁能做成天猫京东? 没有对零售这个实体行业的理解与超越,做不成,这里技术不是决定性的,单反做成了的,总有超越技术的越人之处,敢说这是搬砖?

重复在IT圈实际上是更普遍不过的事情了,上面有回答说ctrl-c ctrl-v就是搬砖,不赞同,不同的方向不同的场景,在重复的过程中充满了改进,你别说这是抄袭,这是站在前人肩膀上往高处走的正确有效方法。不鼓励重复造轮子,是因为简单的重复造轮子不能产生价值,但是你学习造轮子过程,改进创造出履带做出了坦克,那重复的过程难道是没有价值的?

替代性就更不用说了,这才是个人工资的唯一衡量体系标准。所以,搬砖工的一个附带表现就是工资低,这也是很多大神在回答“该如何选择工作”这类问题的时候的答复基本都统一为“工资高的”。工资水平代表着领导对你所处岗位的重视程度,对你个人的评价程度,这很重要。这在后续工作中,决定了你所处位置的话语权,分配给你任务的重要程度,你能掌控申请到的资源,也就决定了最终你能干成的事儿的大小。长者给你们总结的人生经验,你们要学习啊。

一时的搬砖并没啥,搬砖过程也并非浪费时间,也有进步空间,千里之行始于足下,主要差别是不是只停于足下。

~一个有理想的搬砖狗~

匿名用户

1. 技术够用就行了,接触那些新东西(这里换成底层,或者说某方面的深入理解也行)干嘛?

2. 写代码很少偷懒,不会想着走捷径,怎么原始/容易怎么搞,因为变“魔术”的神奇代码难以理解不会用。

3. 网上抄工具类抄样板代码,没搞明白就粘贴进来了。坏情况就是粘贴了一堆没用多余的垃圾,更坏的情况就是抄了一些过时的代码(例如语言/运行时版本升级删除API),暂时能跑通,以后麻烦大了。

4. 某个项目某项涉及到的技术没接触过(例如说我以前都是用rails你这个项目用的sinatra,或者说我以前用hibernate这个项目要用mybatis)第一反应很是抵触,往往就是,XXX ,你看这个我没接触过,我就写AAA部分代码好了,BBB部分代码你来搞定。不会想自己认为的够用的技术其实早已不够用了,甚至惧怕学习。

5. 用百度搜索中文问题。我不是看不起用百度的人 也不是看不起搜中文的人。而是,很多情况下,程序/软件 已经给你英文的出错信息了(例如典型的异常Message),可是偏偏要 用自己组织的中文去搜索。

例如,搜 Hibernate数据库连接失败,这个有毛用啊?连接失败究竟是 reflush还是timeout 或者是auth问题啊?这些日志上都完整的输出了异常堆栈和message,copy一下粘贴再搜索不就直接100%定位到问题方向了吗?

…… 上面就是我能想到的共同特征了,不过啊,有一种人更令人讨厌。

其实我并不讨厌行业内比较歧视的这种“搬砖”的,大家同是一个行业的人,只是志向不同,有的人也确实不适合这个行业。一般没有严重拖累到我,我并不以技术水平来做论人的标准。而且这类人有一个共同的特征,比较崇拜身边的“大牛”,其实不是大牛,只是基础比他们扎实罢了。往往还是有向上的心理的。

有一种我真的讨厌的人,甚至说是厌恶。包涵在这整个行业内的。

有一种人,他基础稀烂,见识短浅,还热衷于炫耀。

任何人有问题了,他都要过去讨论:

1. XXX你们这个问题很简单嘛!无非就是XX这么几个原因(人家讨论了几十分钟需要你来告诉这些常识?)

2. XXX你们这个项目不就是AAABBB嘛,干嘛搞这么麻烦,当初你们这个系统要是我来设计就BBBCCC了,根本不会这样(你倒是设计啊?没下过河的不知水浅,站着说话腰疼吗?),更搞笑的是甚至会说出你这个跟我没关系…我来只是建议几句(因为稍微谈了一点细节他就支支吾吾装不下去必须岔开了)

3. 某些时刻讨论到别的技术领悟了,他要岔一句,XXX语言很不错,嗯!(因为恰好听说过XXX语言的几个产品,其实对XX语言一窍不通甚至Hello World都没写过)人家懂XXX语言的人都尴尬了。

这种人就是 肚子里其实没墨水,典型半杯水(甚至我认为半杯水都算夸奖了)喜欢荡的类型。这种人也是我认为的最难以打交道的人,以我的性格,如果直接打脸,对方铁定死命挣扎就是要面子,你还要给台阶下。不打脸,默默无闻的话,他又太招摇,反而自己会越来越从内心疏远和抵触接触,对工作不利。和这类人相处就是要满足他的虚荣心,说着违心的话。但是你满足了,其他人也都这样满足了,不懂技术的领导看在眼里啊!以为这类人真的是什么人才呢~可是说句心里话,他没资格啊,但是没办法啊,我是一个技术人,我的兄弟们也都是技术人,他是个唱戏的啊。领导只看精彩程度,看不出是不是把京剧唱成了粤剧啊。

哎,我为我的几个年长的弟兄们默哀,他们才是最尽职的技术人,可惜了。

我只是个旁观者。我其实什么也没有做。

猜你喜欢

转载自www.cnblogs.com/fangql/p/11967229.html