看到一大堆的贬义词放在标题上,估计没有几个人想进来看。通过回顾这一年半的经历,总结出了这么点小小的心得。
下面就来分别论述:

1、学要眼高手低    

眼高手低本意指要求的标准很高(甚至不切实际),但实际上自己也做不到。

曾经还听说这么一个观点:“眼高手低不是错,眼低才是错”。当然这里就不评价这个观点的对错与否,主要是阐述一下本人的见解。“学”指的不仅仅是学习,还包括一些钻研、尝试。在学习、钻研某向技术、尝试某一方向开始的时候要将目标定得远一些,想得多一些,才能在过程中领悟出自己的心得。只是把“我会用了”作为目标,到最后的结果必然是只知其表,不见其中。稍后就忘,用完就丢。等到下次再需要使用时,重新翻书、上网,焦头烂额,然后又不求甚解……而所谓的手低,在这里不是指能力,而是指从基础做起,脚踏实地。像《深入浅出MFC》的作者所说“勿在浮沙筑高台”。

学习、钻研、尝试的过程中,要适当考虑到发展、应用的趋势,将眼光放长远。不一定要做到“知其表更要知其里”,但至少能在学的过程中有一套自己的心得体会。而在实践的过程中则应该正式自己的不足,从基础做起,脚踏实地。

2、做要止步不前

止步不前本意指某人或某事没有进展。比喻安于现状。

因为标题已经说了,是“论软件开发”,所以“做”自然就是指软件开发的过程。“止步不前”并不是指进度拖延,停滞不前。而是指在技术方面,不要一味盲目追着新技术。

如今,技术进步速度如飞,而我们的项目中真的非要用上最新的技术才能做好吗?换一个角度思考,新技术的应用需要一个学习、消化的过程。在实际的项目中盲目地应用新技术,所带来的不仅仅只是拖延项目进度的问题。开发人员面对客户、领导的双重压力,一方面要一个稳定的产品,另一方面要加快进度。开发人员往往没有经过系统的学习就赶鸭子上架,上网摸一个开源的就直接复制、粘贴。等到发现问题了,已经滚雪球似的滚了好大一个,各方面的压力又接踵而来,如此反复,恶性循环。还有一种比较典型的情况,项目的过程中,出现一个问题。技术负责人没有思考实现过程中的问题或是如何在现有基础上解决,而是发现某一新版本的控件似乎可以解决问题。于是版本升级,经过一段时间痛苦地修改、调试之后,终于让原有的代码和新版本的控件正常运行了,问题似乎也解决了。然而,又有一个令人沮丧的问题来了。时不时就会有莫名其妙的问题发生,似乎是因为对新版本的控件某些特性没有吃透,然而交货时间就要到了。当然还有一种比较可笑的情况就是,软件部署之后,发现效率不能达到客户的要求,没有从自身找原因,而是从使用的硬件、软件环境找原因。忽悠客户买了最新的硬件,用了最新的操作系统、最新的平台软件。结果,问题依旧。

软件开发是一个稳步渐进的过程,不要急于应用最新的技术,追着技术盲目向前冲。一是因为新技术的出现并不是意味着目前正在使用的就有什么不可挽救的缺陷。使用一些成熟的东西更有助于项目本身。二是因为项目的关键是业务的完整,而不是技术的先进。新技术在客户的眼里一文不值,客户需要的仅仅是一个“能用”的产品。

3、想要固步自封

阿里云-推广AD

固步自封本意指守着老一套,不求进步。

想,可以理解为思考、反思。这里的“固步自封”本人觉得可以拆为2个部分来理解。

首先是“固步”,仅仅从字面来理解它为停下脚步。项目开发的过程中,总会遇到这样那样的问题,有时候我们应该放慢自己的脚步,反思为什么会有这些问题发生,并在解决问题的同时考虑如何在将来避免同样的问题再次出现。不论是因为小不去解决,还是因为大而不敢解决,问题始终都是问题,不管你如何逃避,最后总会如滚雪球般越滚越大。

“自封”并不是要“自闭”,而是首先要从自己身上找原因,可以理解为把问题或责任封在自己身上。发现问题时,首先考虑是否是由于自己造成,然后考虑如何解决,而不是两片嘴皮子动动“XX,你上”或者“是因为YY,所以ZZ”。推卸责任固然不对,事不关己高高挂起也不应该。同一个团队,为同一个目标共同奋斗。发现问题时,不从自己身上找原因,总把责任推给别人,何来团队?项目总结的时候总把进度拖延、质量不高的问题归结到客户的需求多变上,估计下一个项目还是进度拖延、质量不高吧。

4、人要好坏不分

好坏不分。这个词没什么好说的,就是字面意思。

在本人的理解上“人要好坏不分”,也要从2个角度来理解。第一,从“人”的角度触发。也许有些人在你眼里,就是不折不扣的坏人,但是你眼中的坏人难道就不会提出好的建议吗?在别人眼中他说也一样是坏人吗?知道自己需要什么,明白别人在说什么,分清什么是对什么是错,而不受到主观印象的影响其实很难做到。第二,从“人”做事的方法论出发。在大多数的情况下,有其是软件开发,真能说出某种方法好,而某种方法就不好吗?是“只要能解决问题就是好方法”,还是“面面俱到就是好方法”。 换句话说就是“没有最好的方法,只有最合适的方法”。根据客观条件,能最有效解决问题的就是最合适的方法。

把“人要好坏不分”放在最后,是因为它能引申出更多的含义。好比一个集体,总是由不同的人来组成。开发团队,要是有个人既不会做,又不想做,是否就可以定义为“坏人”?直接一棍子打死,还是我们的领导该思考一下如何物尽其用?究竟是此人真的这么不济,还是没有找对路?对团队施加了一个不切实际的方法论或目标,估计整个团队都是坏人了。这时候作为旁观者的你,真能说那群可怜的、手足无措的程序员是一群坏人吗?

有时候,仅仅因为一个不切实际的方法论或目标,好人成了坏人,但是否就这样定性了呢?还有些时候,你最讨厌的坏人提出了一个正确的建议;同时,你最欣赏的好人却一时糊涂,你是否又真能做到“好坏不分”呢?生活随时随地都有各种正面、反面的实例摆在我们眼前,我们是否能“好坏不分”地从中发现我们应该遵守的规则,找到值得借鉴的经验和不能重蹈的覆辙呢?