你认为从0-1开发一个项目最难的地方是什么?

最难的当然是如何让大家有效的分工执行。这里会考察你的业务梳理能力,架构设计能力和项目管理的能力的。

而其中最关键的一步就是:拆。

但是一个拆字谈何容易呀。就比如我23年入职新公司时,我是第一个开发,任何人和基础设施和系统都是ZERO,啥都没有的。

而我当时面临的第一个问题就是:换掉外采的系统,自己自研一个进销存系统。把门店订货收货退货,供应商发货等所有流程串起来。

它是真实的从0到1的。

对于这种非常偏业务的系统,第一件事就是,了解业务的核心流程和核心模块。这是最重要的一步。当时我这边是没有产品经理的,得靠自己去梳理。

你千万不要急着动手撸代码,想到一个写一个,这种从0到1的项目,系统和模块划分是最重要的,不然效率无从谈起。且这一步搞砸了,后续的需求迭代简直就是灾难。

如果公司有产品经理和懂业务的人,一定要多去沟通,沟通的东西就一样:核心流程如何流转,会经过什么节点。

有这个信息就够了。因为核心的user case有了后,你就可以开始做架构设计了。

比如我这边的,我当时划分的核心模块就有:

  • 库存系统,门店物料的所有库存和流水等,由库存系统去承接,且它还要对接外部的ERP系统。比如用友,金蝶等,财务和供应链的同事会在这些系统里,进行结算等动作的;且库存系统也是业财一体的关键系统,任何的门店进销存动作产生的单据,都必须经过库存系统后,同步到ERP系统;
  • 产品系统,物料和半成品和产品,有这个系统承接;
  • 进销存系统,专门记录门店操作的所有进销存动作产品的单据;

当时我就是先划分了这几个系统,且都是独立的微服务。我属于一开始就采用微服务了,但是不多,就几个。

当拆解成这三个系统后,以及知道这些系统的核心流程后。就可以开始分工了。

比如库存系统A同事做,产品中心B同事做,进销存系统我来做。

各个同事负责做对应系统的架构设计方案和详细设计技术方案。我review没问题后,就可以开始正式写代码了。

你只有一开始这么做,才能来谈所谓的效率,你都没有拆分清楚,大家就都跟一头雾水一样的。

然后项目管理这块,我建议你就只盯着【大的节点】就可以了。但凡快到关键节点了,就去问团队的同事的进度情况,有问题的,赶紧给与指导。

注意,你不能花太多时间在项目管理这块的,毕竟你自己也是有很多的代码开发工作要做的。

但是只要关键节点把控好了,整体就不会失控,且你也能很好的去汇报,老板其实就是想知道核心里程碑而已。


最近在知乎出了「应付6000万会员的秒杀系统专栏」和「几亿用户,百万并发的C端商品系统实战」专栏,感兴趣的可以订阅一下。至于知识星球的,可以搜:

  • 老码头的技术浮生录

它是一个能实际帮你解决难题的星球。有问题的,找知心的Sam哥,支持无限次语音一对一解决你遇到的难题。「另外后续我新写的所有对外的付费专栏,在星球内都是免费的,且可以拿到所有源代码。」

知识星球内后续将推出20+个付费专栏,覆盖电商全链路:

选购线 用户会员营销线 中后台
购物车服务 营销系统 订单系统
商品服务 用户系统 支付系统
菜单服务 结算服务

从前台选购到中后台结算,星球成员全部免费,后续新增也不额外收费。

我的知乎账号:

  • SamDeepThinking
相关推荐
Devin~Y1 小时前
大厂Java面试实战:Spring Boot/Cloud、Redis/Kafka、JVM调优与Spring AI RAG(内容社区UGC+AIGC客服场景)
java·jvm·spring boot·redis·spring cloud·kafka·mybatis
青山师1 小时前
CompletableFuture深度解析:异步编程范式与源码实现
java·单例模式·面试·性能优化·并发编程
星辰_mya1 小时前
Docker “超级大厨”
运维·docker·容器·面试·架构
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第42题】【JVM篇】第2题:JVM内存模型有哪些组成部分?
java·开发语言·jvm·面试
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第43题】【JVM篇】第3题:GC分为哪两种?Young GC 和 Full GC有什么区别?
java·开发语言·jvm·后端·面试
Carino_U1 小时前
并发编程之CPU缓存架构&Disruptor
java·缓存·架构
Bear on Toilet2 小时前
【JSON-RPC远程过程调用组件库】测试报告
开发语言·软件测试·后端·自动化脚本
小雅痞2 小时前
[Java][Leetcode middle] 54. 螺旋矩阵
java·leetcode·矩阵
金玉满堂@bj2 小时前
Go 语言能做什么?
开发语言·后端·golang