热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

码农与程序员,就好比哈士奇与狼

你现在去做的只能叫“编码者(coder)”,不能叫“程序员(Programmer)”,连背包问题都不知为何,连模式都不知是啥,连最起码的链堆栈都搞不清楚,你说什么程序员,对不起你差远了,你所学到的,所运用的,只是某种语言的语法,而这对于一位有经验的程序员来说,不过三五天的事儿。

狼是自然界中真正的掠食者,而哈士奇不过是人类的玩物。两者长得确实很像,就如同IT界的Programer和Coder。如果用狼和哈士奇来隐喻这两种职业,Programer无疑是软件业真正的狼。

关于编码者的概念,之前看到过一个有点点偏激但又很有道理的话(via):

你说你喜欢程序,想做程序员。对不起,同学,你说错了,你搞错概念了。你现在去做的只能叫“编码者(coder)”,不能叫“程序员(Programmer)”,连背包问题都不知为何,连模式都不知是啥,连最起码的链堆栈都搞不清楚,你说什么程序员,对不起你差远了,你所学到的,所运用的,只是某种语言的语法,而这对于一位有经验的程序员来说,不过三五天的事儿。

哈士奇
  1. 他们写出机器可以理解的代码。
  2. 他们的代码依靠注释读懂。
  3. 他们只在工作时间写代码。
  4. 他们不喜欢看书,但偶尔会看看视频。
  5. 他们只会阅读别人的博客,自己从来不写。
  6. 他们关注的仅仅是进度。
  7. 他们仅仅是。
  8. 遇到问题他们会直接问同伴。
  9. 他们总是认为自己会的很多,喜欢用海量的“精通”来装点自己的简历,假装高手。
  10. 他们每天沉寂在C+V的死循环中,并不断地抱怨需求变更。
  11. 他们会因为学会了某种代码的写法,而骄傲自满。
  12. 他们一边在被动地接受需求,一边在抱怨不合理的需求。
  13. 他们不会检查自己的代码,在测试暴露缺陷之前,他们往往难以发现。
  14. 他们不认为自己要为代码质量负责,那应该是管理者和测试的事情。
  15. 他们在拿到任务后会直接开始工作。
  16. 他们往往具有文档恐惧症。
  17. 他们并不崇拜专业人士。
  18. 他们擅长推卸责任。
  19. 他们对编译警告弃之不理。
  20. 他们只是在写可以运行的程序。
  21. 他们会拖延不喜欢的任务。
  22. 他们更容易放弃自己的设计。
  23. 他们的编程往往止步于编码的表象。
  1. 他们写出人可以读懂的代码。
  2. 他们的代码风格统一并具有自描述性。
  3. 他们不仅在工作时间,在业余时间也会写代码。
  4. 他们会看大量的书籍,阅读大量技术资料,当然也会看视频。
  5. 他们不仅阅读别人的博客,他们自己也会写博客,他们认为分享知识是快乐的。
  6. 他们不仅关注进度而且更关注代码的质量,提供现实的进度方案,在上司面前坚持自己的意见。
  7. 他们复用代码而不是。
  8. 遇到问题他们会尝试自己解决,访问社区,然后才会询问同伴。
  9. 他们总是认为自己还能做的更好,并对那些巨人由衷地敬佩,在不是高手时不假装高手。
  10. 他们经常在思索如何能够解耦,用灵动的设计应对突然到来的变更。
  11. 当掌握某种代码的写法,他们看到的往往是背后深层次的问题,并向专业水准看齐。
  12. 他们会对不合理的需求说不,并在工作中尝试影响他们的领导。
  13. 他们会经常重构自己的代码,并维护自己的缺陷核对表。
  14. 他们认为提高代码质量是自己的责任,并为自己的过失而负责。
  15. 他们在拿到任务后,会在行动之前,进行分析和计划,而不是马上编码。
  16. 他们往往会认真阅读项目文档。
  17. 他们和希望提高软件开发技能的人为伍,参加交流会,加入某个社区参与技术讨论。
  18. 他们敢于承认错误。
  19. 他们将警告与错误同等对待。
  20. 他们在构建自己彻底理解的程序。
  21. 他们将不喜欢的任务认为是对自身的磨砺。
  22. 他们往往坚持自己的设计。
  23. 他们的编程往往深入语言,触及思想。

做狼还是哈士奇

狼和哈士奇的隐喻意味着Coder难以在技术实战中战胜Programer,但现实是,往往Coder更受欢迎,如同哈士奇更讨人喜欢一样。原因很简单,Programer在众多Coder之中显得格格不入。Programer能更快更高效地完成任务,他们讨厌加班,抵制低效的流程,他们对自己的能力深信不疑,并经常坚持自己的意见,对不合理的需求说不。这些,在雇主的眼里就是叛逆。而Coder就低调很多,他们甘于加班,对设计没有意见,不会对需求说不,出了问题他们总在说,这是别人的问题。他们两者的代码,在外行看来没有差别。在雇主眼中,往往那些闭嘴加班的员工更应该重用。

也许,Programer们并不想让自己被孤立,但现实却是残酷的。人们缺少包容,善意的提醒,也可能会被认为是卖弄,是对权威的挑战。只有在狼群中,才能得到自身的认同感。软件的构建者是Programer而不是Coder。如果你是一匹狼,而你有感受不到团队的认同感,那你不妨换一换环境,因为,和臭棋篓子下棋,永远无法进步。

如果你是位开明的领导者,当你读到这篇文章时,我真切地希望你能留意那些“带刺”的员工,因为很可能,他比你团队中的其他人都看的更远。

如果你是名程序员,那么请你选择到底是做狼还是哈士奇。狼可能没有安稳的生活,没有丰盛的午餐,但却拥有强大的力量,自由,以及尊严。

本文地址:http://www.nowamagic.net/librarys/veda/detail/2159,欢迎访问原出处。


推荐阅读
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Python字典推导式及循环列表生成字典方法
    本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了2019年上半年内蒙古计算机软考考试的报名通知和考试时间。考试报名时间为3月1日至3月23日,考试时间为2019年5月25日。考试分为高级、中级和初级三个级别,涵盖了多个专业资格。报名采取网上报名和网上缴费的方式进行,报考人员可登录内蒙古人事考试信息网进行报名。详细内容请点击查看。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了程序员最美的情人节礼物,即使用JS渲染的3D玫瑰,通过在QQ空间和人人网上分享这个特殊的礼物,可以给情人带来惊喜和喜悦。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了一种处理AJAX操作授权过期的全局方式,以解决Asp.net MVC中Session过期异常的问题。同时还介绍了基于WebImage的图片上传工具类。详细内容请参考链接:https://www.cnblogs.com/starluck/p/8284949.html ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 如何在跨函数中使用内存?
    本文介绍了在跨函数中使用内存的方法,包括使用指针变量、动态分配内存和静态分配内存的区别。通过示例代码说明了如何正确地在不同函数中使用内存,并提醒程序员在使用动态分配内存时要手动释放内存,以防止内存泄漏。 ... [详细]
  • 本文介绍了自动化测试专家Elfriede Dustin在2008年的文章中讨论了自动化测试项目失败的原因。同时,引用了IDT在2007年进行的一次软件自动化测试的研究调查结果,调查显示很多公司认为自动化测试很有用,但很少有公司成功实施。调查结果表明,缺乏资源是导致自动化测试失败的主要原因,其中37%的人认为缺乏时间。 ... [详细]
author-avatar
mobiledu2502863683
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有