送给一起加班的兄弟们

本贴最后更新于 2691 天前,其中的信息可能已经时移世改

tree

算了一下,从开工到12月18号上线,接近三个月,三个月时间里,做了一些东西,一个垂直行业的B2B商城,后端pc管理,前端用户商城,移动端包括IOS和Android,整个过程惊心动魄,因为不可能完成的东西居然上线了。

一般来说一个做互联网产品的公司,产品经理、程序员、技术总监、测试、运维等都是标配,这些我们都是有的,而且我们还有deadline,有了deadline才有激情,这个才是真理。任务分配好后,就撸起袖子开始干了!

“喂!哥们!这数据库的表字段是啥意思啊?有数据库设计文档吗?”,”文档,什么文档!我们没有,自己看数据库吧!“

“老大!订单这块需要考虑对账吗?”,“什么对账!先把订单功能完成再说,二期在考虑对账!(你懂得)”

“产品兄弟,这块逻辑要怎么处理?你这原型图上面反应不出来啊?”,“我来和你讲,这样这样这样就行了!文档后期再补,先上线!”

两个月过去了,明天是第一次联调的日子,“今晚和移动端的接口一定要调通,否则都不能回去!”老大发话了。消灭掉最后一个排骨,兄弟们把嘴巴擦干净,提枪上阵。

一个星期后,公司内部要做一次全流程演示,可目前线上签约还没通!那只能老鸟上场了,加班加点,核对签约服务商的每一行代码,排除前人留下的每一个bug,终于在演示前一天晚上11点整,流程跑通!老鸟的眼睛已经彻底红了,其他兄弟也都倒在桌子边,杀场一片狼藉。“为保证明天演示成功,今天在做最后一次全流程测试!测完通过就回家睡觉!”,领导这个时候又发话了。

上线日降临,全部技术人员严阵以待,配合发布会现场的演示,后台运营人员的协作有条不紊,截止下午发布会结束,系统运行正常,订单正常生成,流量稳定,压力平稳,整个流程走完闭环!

这种场面每个互联网公司几乎都有,只是惨烈程度不同而已!一个初入市场的互联网产品,总是以功能为主,架构、优化那是后期的事情,在deadline和市场的压力下,是可以理解的,但是,下面发生的事情,就无法同情了!

上线后,对于二期的工作重点,除了重构以外,功能性需求也增加了很多,这样导致下一次上线前重构时间被严重压缩;从市场实际反馈来看,一味的堆积功能并没有多大的益处,而平台如果不做大手术,随着用户增多,后期重构风险也越来越大;由于前期数据库设计不合理,带来的业务层无法有效隔离,导致业务逻辑混乱,很难理清和分辨,不利于后期业务流程的扩展;整个平台工程划分不精简,后端服务没有统一,平台工程组织不合理,公共组件抽象不够,业务抽象不够,重复组件太多,业务编码不规范等等问题是急需要解决的。

而更可怕的是,从产品到研发流程,也是不够清晰的,说好的产品文档呢?产品需求评审哪里有?架构设计评审和重要模块的代码评审都没人想起来。代码依旧是嗖嗖的写,连测试到发布居然还是人肉,我想这些都应该是技术负责人份内的事情!没有安排好,没有提高效率,自然就只能堆积人力去完成需求了!最诡异的是,任务的分配也是欠妥的,一个人可能同时做几个不相关的模块,而一个模块可能由几个人在做,工作量分配也是不够理想的,接口理解几乎靠嘴巴,没有规范合格的接口文档,二期其实大家都不是很忙!

在有限的时间内,我们把平台工程用maven进行了重构,合并了多余的工程,抽取部分公共组件和后端服务,并且用新的分布式服务化框架替换了原始的PRC服务调用方式,为以后的扩展打下了一定的基础,并在安全和在线管理上做了加强。但是数据库还是没有时间重构,内部重复代码和坏味道的代码没有时间去剥离!在发布流程上部署了jenkins,做到了测试和预发布环境的持续集成发布,生产环境扔需人肉!

任何一个产品的市场化过程,都是一个充满血淋淋的深刻教训的过程,但是意识到问题后不修复,是无法原谅的!

以上文字仅怀念几个月来一起加班的兄弟们!

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    6 引用 • 26 回帖 • 544 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    229 引用 • 476 回帖 • 1 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖 • 2 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 1 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 260 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 1 关注
  • 分享

    有什么新发现就分享给大家吧!

    248 引用 • 1795 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 51 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 369 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 391 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    63 引用 • 289 回帖
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 497 关注
  • 笔记

    好记性不如烂笔头。

    311 引用 • 794 回帖 • 1 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    554 引用 • 675 回帖
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    208 引用 • 1460 回帖 • 1 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    100 引用 • 905 回帖
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 672 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 684 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    10207 引用 • 46357 回帖 • 64 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 713 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1062 引用 • 3455 回帖 • 154 关注
  • 导航

    各种网址链接、内容导航。

    45 引用 • 177 回帖
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    117 引用 • 319 回帖
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 440 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    948 引用 • 1460 回帖