`

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

 
阅读更多

狼是自然界中真正的掠食者,而哈士奇不过是人类的玩物。两者长得确实很像,就如同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。如果你是一匹狼,而你有感受不到团队的认同感,那你不妨换一换环境,因为,和臭棋篓子下棋,永远无法进步。

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

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

分享到:
评论

相关推荐

    码农程序员作品展示网页模板

    码农程序员作品展示网页模板

    一个优秀的程序员的十个习惯

    成为优秀的程序员不仅在于编写高质量的代码,更重要的是养成一系列有益的习惯,这些习惯能够提升个人技能,促进团队协作,以及保持对技术的敏锐度。以下是对标题和描述中提到的十个程序员习惯的详细解释: 1. **...

    几款程序员特色服饰收藏

    在IT行业中,程序员不仅以他们的编程技能闻名,他们的文化与生活方式也形成了独特的群体特色。"程序员特色服饰"这个主题,正是这种文化的一种体现。这些服饰不仅仅是穿着,它们更是一种表达自我、彰显职业特点的方式...

    IT程序员高频面试题梳理码农高频面试题梳理

    IT程序员高频面试题梳理码农高频面试题梳理 P33 IT程序员高频面试题梳理码农 高频面试题梳理 IT程序员高频面试题梳理码农高频面试题梳理 IT程序员高频面试题 梳理码农高频面试题梳理 IT程序员高频面试题梳理码农高频...

    码农杂志第1期

    《码农》杂志是针对程序员和IT从业者推出的一份免费电子读物,旨在分享最新的技术趋势、实用的编程技巧以及行业内的深度洞察。第一期的发布标志着这个平台为程序员提供了丰富的学习资源和交流空间。 在《码农》杂志...

    程序员眼中的古典名画 – 码农网1

    程序员眼中的古典名画 – 码农网 在这个文章中,我们看到程序员眼中的古典名画是如何被解读的。程序员们将古典名画与编程中的场景相比,展现出他们对艺术和技术的独特看法。 首先,程序员们认为,编程是一种艺术...

    程序员必备的7种武器

    2. **编程语言**:编程语言是程序员与计算机沟通的桥梁。选择并精通至少一种编程语言是基础,如Java、Python、C++或JavaScript等。每种语言有其特性和用途,例如,Java适合企业级应用,Python擅长数据分析,C++适用...

    码农杂志第6期

    《码农》杂志是图灵出版社会面向程序员推出的一份免费电子杂志,旨在为编程爱好者和从业人员提供最新的技术资讯、深度分析以及实用的编程技巧。第六期的发布,无疑为广大的码农群体带来了丰富的知识盛宴。以下是这期...

    码农杂志第3期

    图灵写给程序员的免费电子杂志《码农》,第三期,欢迎下载

    十年码农内功2023.7.2

    【十年码农内功2023.7.2】这个标题暗示了这是一份关于程序员长期积累和技能提升的资料,可能包含了编程语言、软件工程、算法与数据结构、项目管理等多个方面的重要知识点。虽然没有具体的标签来进一步定义主题,但...

    码农杂志第2期

    图灵写给程序员的免费电子杂志《码农》,第二期,欢迎下载

    码农第一期

    码农的草帽底下,是一颗充满创造力的自由不羁的头脑。 他们遵从最佳实践而痛恨陈规教条,他们欣赏天才而不迷信权威,他们喜欢思考而不轻易苟同。他们是技术人,却追求人文理想;他们敢于呐喊,说出自己的观点和...

    《码农》1-4期

    该文件包含了图灵社区出版的《码农》第一期到第四期的杂志。上面介绍了各种算法,访谈和IT行业的方方面面,致力于IT行业的可以看看。 码农的草帽底下,是一颗充满创造力的自由不羁的头脑。 他们遵从最佳实践而...

    码农杂志第7期

    图灵写给程序员的免费电子杂志《码农》,第七期,欢迎下载

    码农 杂志1-3期

    《码农》可能会讨论Hadoop、Spark等大数据处理框架,SQL与NoSQL数据库的区别,以及如何利用Python或R进行数据清洗、分析和可视化。 4. 人工智能:AI与机器学习是当前科技界的前沿话题。杂志可能会讲解深度学习、...

    码农 第8期.pdf

    - **标题**:“码农 第8期.pdf”,这表明这是一期专门针对程序员群体的期刊。 - **描述**:“码农 第8期.pdf”,描述重复了标题,未提供更多额外信息。 - **标签**:“Delphi”,暗示这期期刊可能包含与Delphi编程...

    码农第2期.pdf

    本期《码农》杂志不仅关注了JavaScript编程语言及其框架的发展,还深入探讨了程序员的职业发展和个人成长等问题。通过对多位业界知名人士的采访,为我们提供了宝贵的经验和启示。此外,通过介绍Nikola Tesla这样的...

Global site tag (gtag.js) - Google Analytics