某二线城市软件行业批评

时间:2023-01-31 21:43:58
XX城市软件行业批评
   --当前问题、技术水平、技术意识

1 当前问题
一些公司的软件问题已经存在多年,就是无法解决,例如:
  • 疑难BUG多年了一直无法解决,也搞不清楚什么原因,也没有思路去逐步探查。
    犹如亚健康人,是活着,但就是不能有很健康的状态。或者像一个在大森林中转个怪圈的人,一直努力,一直转不出大森林。
  • 内存异常问题。
    例如C++里面的内存泄露和地址访问异常,不止一家公司有;
    C#的null referrence就用try catch来隐藏了更可怕的的错误。
  • 性能低下无法提高。
    例如,数据量大了或者数据处理环节多了就效率低下难以处理;吞吐率上不去。
    基本的动态扩容都不能自己处理。
  • 代码模块化、复用不够,难以扩展。
    不止一家公司说,每隔4年左右,系统要重写一次。
    数据库访问要重写么?基本框架要重写么?核心算法要重写么?
  • 维护不易。
    增加新的功能或者修改牵涉面大。
  • 问题跟踪代价巨大。
    出了问题,牵动全公司,连续加班,也未必有好的效率。
2 技术水平
比北上广低很多,这里的技术水平就决定了这里的产品质量。
  • 缺乏真正有内功的架构师。
    我在北京工作的第一家公司的老板告诉我:没有10年的开发经验,不可能是一个真正的架构师。可能要求过高,但一定有道理。
  • 缺乏技术专家。
    例如,有人说,64位的处理器,应该可以处理很多客户端的并发请求。我心想你是不是不懂计算机体系结构。
  • 缺乏质量控制。
    质量从架构到一行代码,都需要控制。
  • 技术人员的自我要求低,一家公司可以做一生。
    一个公司的负责人说:你为什么跳槽比较频繁?我说,我要看老板,要是在北京继续干,我会继续跟着邢总。否则,我要学习,我不可能干10年了,技术水平和阅历还是一条水平线。
3 意识缺陷:
理念造就了一切,这里落后,首先是理念上的错误、自以为是、满足:
  • 非技术内行管理技术。
    除了行政管理和项目协调,疑难技术问题无法提供指导。最后,上下都应付了事。
    管理者长居不下,新鲜血液无法补充,技术就原地踏步。

  • 不考虑架构和代码质量。
    很多人跟我说架构就是CS,BS,多层。我心想架构是一项创造性的工作,这几个词就是架构,外行这么说还行。
    代码质量,--这个问题细节太多。

  • 认为招一个架构师就可以解决各种框架和复杂问题。
    真正有水平的架构师为什么要到这里来找工作?就那么普通的待遇?适应这里的工程师和企业文化?

  • 认为只要编码,以及给出业务方案就够了。
    一些公司连标准的进程通信都不会,怎么做多应用的产品。
    问他:让你做一个webservice,要分几层?没人说清楚。
这些问题怎么解决?就是一套不难的做法:
  • 贯彻一组理念,
  • 创造性的思维过程,
  • 因情而异的操作和实验。
这组理念很简单,但做起来很不容易,是软件工程的基本内容。这些理念也是司空见惯的:跟踪、复用、性能、伸缩、稳定。能够做到这些,就是一名真正的架构师。
  • 跟踪:问题如果无法或者不易跟踪,如何快速有效解决产品初期的BUG满足客户需求?
  • 复用:有人说每隔4年我们重写一次。原因之一是没有搞好复用。
  • 性能:算法和架构,这是软件的核心。
  • 扩充:系统不能伸缩,就难以实现新的需求。
  • 稳定:不用说了,但是有一组基本要求来保证的。
如果做到这些,公司就不会说技术上有问题,那么就等于肯定了。如果没有做到这些,很多家公司都会表现不同的问题。

软件的复杂在哪里?5个理念的每一个方面,都可以写一个章节,或者写一本书也可以。理论再多也没有用,不把每一个方面贯彻到每一天的工作中,体现在每一行代码中,每一个函数中,每一个类中,就如同你的健康:只有全身所有系统都健康了才是真正的健康。