博客
关于我
知乎高赞:为什么有些大公司技术弱爆了?
阅读量:676 次
发布时间:2019-03-16

本文共 1894 字,大约阅读时间需要 6 分钟。

为何大型互联网公司技术管理如此薄弱?

最近实习于一家国内行业龙头互联网公司,初步了解到公司技术和管理水平,令人深感疑惑。作为一名新手,目睹的这些现象,既让我感到无奈,也促使我认真思考这些问题背后的原因。

  • 代码质量堪忧
  • 实习期间发现,该公司的代码质量普遍存在着很大问题。纷纷复制粘贴的代码缺乏规范,缺乏注释,造成代码难以阅读和维护。更令人不解的是,这些代码经过多次修改却从未进行优化,形成了一团乱麻。一个项目中竟然出现了四中不同的HttpClient实现,既有老旧的开源版本,也有公司自研的轮子。这种做法不仅浪费了开发者的时间,也增加了后续维护的难度。

    1. 日志处理混乱
    2. 在日志处理方面同样存在诸多问题。不仅基础的日志拦截器使用不当,还存在错误日志缺少上下文信息的情况。各 떨어不同风格的日志,严重影响了调试和问题定位的效率。此外,重要的中间流程还未建立日志记录体系。这种应有而缺的措施,直接增加了系统维护成本。

      1. 配置文件管理不当
      2. 开发工具的配置文件被直接放入项目仓库,虽然看似方便,但存在以下问题:配置文件若被破坏或丢失,会导致开发环境无法复原,增加工程师的工作量。此外,不同开发者环境差异大,配置文件版本控制也面临挑战。最终,公司却摸索出了一套将配置文件代入项目仓库的规矩,并用专门的体系管理这些配置,这种做法虽解决了环境一致性问题,但难免耗时。

        1. 代码优化方式落拓
        2. 面对性能问题,公司主要依赖基于脑力发想的优化方法,缺乏科学的分析工具使用。有人用Excel分析日志,有人使用JProfile扫描项目,意在提升性能。但这类方法面临数据量大、时间成本高的问题,难以全面解决性能问题。最令人�vale的还是,对于100以内的常数集合,非要用优化算法干预,反而将简单的逻辑引入了复杂性。

          1. 文档缺失
          2. 项目文档的缺失问题极为严重。开发者之间无法明确了解项目设计细节,维护工作变得异常艰难。对于枚举类型等简单的概念,公司要求开发者在每个页面上显式定义枚举值,这一做法既增加了代码复杂度,又降低了灵活性。同时,代码中的变量命名并不直观,存在欺骗性命名的情况,完全依赖逆向工程来理解代码逻辑。

            1. 代码周期与维护问题
            2. 公司采用developer自测模式,将代码部署到公共服务器上,并严格使用svn进行管理。实习期间发现,svn repository中充斥着大量无意义提交,大量提交甚至无法通过编译检查。这让我联想到公开的代码管理工具,如GitHub,拥有更高效的代码审核和构建机制。。此外,公司内部的代码审核机制似乎较为松散,没有统一的代码评审流程,导致低质量的代码难消除。

              1. 性能与测试之困
              2. 在系统性能方面,公司虽然提及使用了Hadoop进行日志分析等技术,但具体实现细节并不清晰。对于边缘接口设计,选择了复杂的异步模式,即使接口负载极低,也未能充分优化。更令人痛心的是,公司在任务队列中忽视了持久化机制,导致发布时大量任务丢失。这些问题都严重影响了系统的稳定性和可靠性。

                1. 数据库使用不当
                2. 在数据持久化层面,公司选择使用MySQL进行审计系统的报表生成,导致单次报表跑满8分钟。这种低效的处理方式不仅浪费了资源,还表明公司在数据库选择方面的不足。对于字段存储多值的问题,以前用字符串逗号分隔,搭配Like条件查询,在索引优势上难以释放。更 depreciation的是,公司仍然坚持使用传统的关系型数据库,而未能充分利用PostgreSQL数据库的优势,特别是在多值存储方面。

                  面对这些问题,我深刻认识到,技术问题往往伴随着深层次的组织和管理问题。一个优秀的团队需要既能接受新事物,又能保持对现状的反思。用户提到的这些现象,表面上看是技术层面的不足,实际上反映出公司在组织能力、技术进步和团队建设方面的短板。

                  管理层态度是关键。在萧井陌的观点中,公司正处于从传统模式向现代化转型的过程中,这需要包容和引导下属的尝试。同时,强调效率改进团队的重要性,能够让开发者更多专注于业务,但这也意味着管理层需要建立有效的沟通机制和激励体系。

                  作为实习生,我也在成长之中。陈萌萌提到,公司在技术上投入了巨大,而同事们的过分注 trọng细节可能是有特别的原因。这种现象反映出,技术团队需要找到效率与质量的平衡点。

                  总结来看,该公司的技术和管理问题难以通过简单的技术改善来解决,而需要从整体架构和组织文化两个方面入手。业务状况和团队建设是首要任务,而技术机制的优化才能真正提升效率。对年轻农民来说,只能理解到公司在技术管理层面的不足,但也要看到改变的可能性。通过学习和成长,为团队贡献力量,或许未来能够参与到技术改善的过程中去。

    转载地址:http://muhqz.baihongyu.com/

    你可能感兴趣的文章
    Nginx 多端口配置和访问异常问题的排查与优化
    查看>>
    Nginx 如何代理转发传递真实 ip 地址?
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 学习(一):Nginx 下载和启动
    查看>>
    nginx 常用指令配置总结
    查看>>
    Nginx 常用配置清单
    查看>>
    nginx 常用配置记录
    查看>>
    nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
    查看>>
    Nginx 我们必须知道的那些事
    查看>>
    Nginx 的 proxy_pass 使用简介
    查看>>
    Nginx 的配置文件中的 keepalive 介绍
    查看>>
    Nginx 结合 consul 实现动态负载均衡
    查看>>
    Nginx 负载均衡与权重配置解析
    查看>>
    Nginx 负载均衡详解
    查看>>
    nginx 配置 单页面应用的解决方案
    查看>>
    nginx 配置https(一)—— 自签名证书
    查看>>
    nginx 配置~~~本身就是一个静态资源的服务器
    查看>>
    Nginx 配置清单(一篇够用)
    查看>>
    Nginx 配置解析:从基础到高级应用指南
    查看>>