软件开发你属于哪一种程序员

操作方法

  • 01

    程序员在很多人眼中是很高深的技术,在这个行业的人也各自有自己的特性,从事软件开发久了之后,各有自己的特点和性格,你刚好也是程序员中的一位,试着找找看你是属于哪一类程序员。  在日常工作里肯定会发现很多有趣的事情,极品程序员所做的事就是很有意思的。事实上,现在所讨论的极品程序员主要是从他们的判断力、行为举止、个人态度和匪夷所思的工作方式上来判断的,有的时候这些程序员一味的只是追求文档上的内容,而不擅于用分析方式来解决问题。  几乎每一个软件开发者多多少少都会出现头脑短路的现象,也就是说,下面所列举的各种极品程序员类型,总有一款是属于你的。  1. 宠物专家型程序员:独爱一种技术  这种类型的程序员所遇到的致命错误就是:只钟爱一种技术,对别的技术不来电。其实这不是什么值得表扬的优点。因为这种程序员看上去就像是“天生注定爱上这种框架的程序员”,对于自己喜欢的技术可以说是放不开、丢不掉。甚至在生活里也是一个打破砂锅问到底的人。  不管问题是什么,他的回答总是跟他的性格类型脱不了关系:  “嘿,我们需要在 Rails 框架里实现一个内容管理系统,但是我们应该用哪一个数据库呢?”Mongo  “多用户博客引擎吗?”Mongo  “关键业务一致性系统?”Mongo  “库存管理系统?”Mongo  “电子病历系统?”Mongo  “分布式数据仓库?”Mongo  宠物专家类型的程序员在任何软件开发项目里都会找出各种各样的理由,也不管这些理由是否具有实际意义。但是,一旦你试图反驳他的观点或者是想法的时候,他们在感情上是无法接受的,即使你和他的关系特别好也是没有用的。如果他知道自己的想法错了,也不会告诉任何,而是更愿意在最后一秒的关键时刻偷偷的使用别人的正确方案。  2. 奥术师型程序员:保守主义者,不到万不得已不做修复  奥术师类型的程序员的目标是至高无上的:不考虑成本,尽一切可能保护系统的正常运行和系统的完整性。除此之外,这类程序员信奉一个很简单的哲理,这个简单的哲理也就是引领他们在软件开发和管理实践中的一个基本准则:只要还能将就使用,不到万不得已千万不要去修复。  不管什么样的软件,只要是在奥术师的保护下,就一直是使用那个平台、那个部署程序、那个数据库还有那个永远不会改变的操作系统。但是你不必担心,因为奥术师会一直盯着这些看上去老旧的组件,也许他不能赢得每一场战斗,但是他一定会为了每一场战斗而凶猛拼杀。  在奥术师的世界观里,过去也代表着未来。所以,他将会和那些想要升级他的 1981 年发布的的 PASCAL 代码库的人作战到底,哪怕是泪流满面。  3. 未来派程序员:赶潮人,追求最前沿的技术  未来派程序员可以说是奥术师程序员的对立面——今天就是未来,任何使用昨天的开发工具编写的代码在未来派眼里看来都是无与伦比的厌恶。他们的目标可不是什么哲理——追求最新最前沿的技术。  如果你看到未来派程序员甩着鼻涕在你面前吹嘘最近在 Hacker News 上看到关于 JavaScript 的最新消息而滔滔不绝的时候,你千万不要惊讶,因为他们没像是在 Justin Bieber 演唱会上那样在你面前尖叫就已经很照顾你了。即使有的时候在 Microsoft Research or the Server and Tools Team 发布新产品的时候,即使他们根本不理解那些产品的用途,也会显得很热情。  不过,需要提醒的是,如果你是一个未来派程序员,那么 DevOps 工程师,QA 工程师和 Release 工程师这些职位是未来派程序员的天敌。  4. 信息囤积者型程序员:小心谨慎,不愿公布代码  信息囤积者型程序员是一个很谨慎的人,但是对自身的谨慎行为充满不确定性。他们生活在一个认知失调的世界里:对自己的工作感到自豪,但是需要帮助的时候又不愿意让别人知道。  所以囤积者通常会隐藏代码,不愿意公布代码。小心翼翼地避免访问记录,更不愿意别人跟踪他所做的一些修改记录。他最大的恐惧就是遇到代码合并冲突,因为这样的暴露风险是最大的。  也许囤积者型的程序员很乐意告诉你他的工作是多么了不起,但是如果你想要知道他的代码估计会很难。最终,信息囤积者型的程序员注定要失败,这样的做事行为不被别人接受,存在也是没价值的。只希望在短期内能有较好的改善。  5. 艺术家型程序员:质量?美观?不可兼得  艺术家型程序员简直就是囤积者和未来派程序员的表兄弟,艺术家型程序员会倾入所有的心思来构建完美的代码行。此外,艺术家型程序员也是一个易动感情的人——他所创造出的软件就是他感情的流露,也是他个人才华的生动化身。  艺术家型程序员还会考虑这样的问题:如果我使用的 JavaScript 里不添加分号的话,在语句上是不是更加漂亮呢?如果把这个块包装起来,是不是更加完美?他们最在乎的是美观,其次才是质量。  艺术家型程序员也不是这个行业所提倡的那种程序员,他们无法客观的讨论评价自己的作品,也无法定位自己在同事当中的位置。  6. 孤岛型程序员:性格孤僻者,代码就是一切  孤岛型程序员是整个程序员行列里最孤独的人,这样的程序员在软件创造方面有很多很大的欲望,但是他们的短板是不愿与人交往。孤岛型程序员的理想工作条件是与外界交流最好是保持在最低限度,而且严格控制在他方便的时候。他的生活里只是代码,没有人类。  但不幸的是,现实和理想往往是有很大的区别的,但是这些程序员必须为了生存而去公司谋求工作,于是被迫与同事或客户沟通,这对他们来说的确是一个巨大的负担。所以他们只能躲避——躲避会议、躲避电话沟通、关闭邮件接收器等等。他们遇到问题的时候宁愿查询上百件项目文档也不愿意问自己的队友。  和信息囤积者型程序员一样,孤岛型程序员注定要失败。软件开发就像是一项团队运动,不接受那些不遵守规则的另类。  7. 敏捷型程序员:急功近利,常常半途而废  敏捷型程序员是一个功利主义者,致力于需求改善软件效率,以及个人和团队的生产力。但不幸的是,他对“敏捷”哲理的理解和实施策略实在是呆板和僵化,不禁使人发笑。  敏捷型程序员的初始意图是很高尚的:改善软件开发方式。这样的程序员做起事情来是比较雷厉风行的,但是也有缺点:任何讨论时间超过四小时的问题最后都会变成泡沫;任何在最后冲刺阶段所做的项目基本上都会缩水。  另外值得注意的是,大部分敏捷型程序员都有一个通病:自命不凡。在程序开发过程当中,尤其是在选用一些小的组件的时候,坚持己见,导致网络文件系统出现错误或者是驱动程序实现效果不理想。  8. 文盲型程序员:编程入门者,功底浅薄  顾名思义,文盲型程序员在阅读别人的源代码的时候总是会遇到很多麻烦,有的时候基本上是看不懂别人的代码。  换句话说,文盲型程序员和孤岛型程序员像是一对表兄弟,只对他们钟爱的编程语言花时间去理解基本的编程结构,全面掌握编程语法,但是看到其他程序员所写的代码的时候,完全是一窍不通。在这种情况下,我们称之为“code-blind”程序员。  当面对其他开发者问“你为什么不使用我们标准的接口来生成一个对话”的时候,文盲型程序员通常是盯着自己的脚尖然后是喃喃自语。  以上只是列举了一部分类型的极品程序员案例,当然,极品并不代表不好,只要把这种极品特征合理应用,它就会成为你的特长。在这篇文章里,作者根据自己平时在工作中的所见所闻,列举了几个比较有代表性的极品程序员类型。他们各有自己的特点和性格,在软件开发工作中,这种特点和性格显露无疑。不知道你是不是一个极品程序员?

(0)

相关推荐

  • 如何成为一名程序员

    成为程序员是一个日积月累的过程,需要日复一日年复一年的技能增长.编程本身是有趣的,并且有回报(脑力层面.精神层面.经济层面).这份指南不能保证你轻松当上程序员.不要神化下面这些步骤,从中你大概能了解在 ...

  • 在Mac OS X系统编程.软件开发入门教程

    苹果电脑不仅可以用来上网.娱乐.做设计,还可以帮我们做很多事情,比如苹果机(Mac OS X)是编程做软件开发很好的平台. 下面是在Mac OS X编程.软件卡发入门教程苹果最新的操作系统Mac OS ...

  • 软件开发就业前景分析

    随着社会的发展,软件行业已经成为一个象征高薪的职业,而且随着人们生活水平的提高,对于精神上的享受要求就更高了,所以 掌握了软件开发这门技术就代表着你已经握住了开启成功大门的金钥匙. 几种热门软件专业的 ...

  • 怎样学习.net软件开发

    怎样学习.net软件开发?学习.net软件开发需要哪些条件? 步骤/方法 01 学习面向对象(OOP)的编程思想许多高级语言都是面向对象的编程,.NET也不例外. 如果您第一次接触面向对象的编程,就必 ...

  • 北京软件开发公司-软件外包公司-军队软件开发

    "定制软件"在国外是为大.中.小企业所广泛采用的一种软件开发形式,在我国,由于经济环境和传统管理方式的不同,北京软件开发公司定制软件还是一种新生事物.实际上,大多数企业由于自身的历 ...

  • 开发程序员,所需要具备哪些素质

    操作方法 01 1:团队精神和沟通能力 把它作为基本素质.并不是不重要.恰恰相反.这是程序员应该具备的最基本的.开发很多项目是需要团队的配合,一个独行侠的程序员不是一个好的程序员.任何个人的力量都是有 ...

  • 软件开发流程有那五大步骤

    软件开发的流程即软件的开发设计思路和方法的一般过程,包括设计开发软件功能和实现的算法和方法.设计软件的总体结构设计和软件模块设计.编程和调试.程序联调和测试以及编写.提交程序等一系列操作.山东软件开发 ...

  • linux软件开发时给gcc指定头文件和库文件路径的方法

    在Linux 下开发软件时,完全不使用第三方函数库的情况是比较少见的,通常来讲都需要借助一个或多个函数库的支持才能够完成相应的功能。从程序员的角度看,函数库实 际上就是一些头文件(.h)和库文件(.s ...

  • 程序员最爱的Linux平台开发工具有哪些?

    Linux程序员经常抱怨,自从他们使用了免费开源的系统平台后,作为一名程序员,却并没有在代码编辑器上得到足够的重视。他们往往会认为Linux平台上的代码编辑器太少了,以至于影响他们的编程工作。但是事实 ...