跳到主要内容

HexSchool Node.js 企业专班

· 阅读需 5 分钟
Pitt Wu
Software / Product Engineer

完成 HexSchool Node.js 企业专班后,一些粗浅的想法与反思。

为什么选择这门课程?解决什么问题?

这是一门价格不菲的课程,同时考虑到六角的属性(基于商业考量,无法把报名者拒之门外),因此只能将课程内容设计为偏简单。

从这些条件来看,报名这门课程似乎很不划算,但实际上还是可以考虑以下面向:

团队合作

因为课程从一开始就必须分组合作开发,考虑到报名者多是前端出身,大多没有后端实操经验,所以对我们而言可以练习后端开发之间的沟通与推进。

从另一个面向来说,这些合作的伙伴,未来彼此之间也能互相帮忙,算是一种替彼此建立人脉资源的方式。

沉没成本

如前述所说,这是一门蛮贵的课程,即使你是懒人如我,如果不希望直接亏损掉这笔钱,必然要在下班时花费心力去追项目进度,力求在 deadline 前完成项目,这样才能保证不亏损,某种程度上也帮助你达到自律的目标。

新的视角

因为整个项目是从设计构思到开发一条龙完成,虽然客观来说整体内容是蛮粗浅的,但还是可以让所有成员实际跑过一遍 PM, UI/UX, 前端, 后端的流程,对于未来的工作也能有一些新的视角。

课程内容

课程内容的部分,扣除基本的 MongoDB 指令操作还有 Node.jsAPI 实现,较有价值的部分,个人认为会是三方服务相关的对接,像是三方登录与支付等,毕竟这部分比较死板,需要花时间查阅对方的文档,才能完成对接。有教学的话,等于是省下了查阅文档的时间。

另外,课程中的部分设计仍以 MVC 为范例,需要团队成员在实操项目时,自己进行前后端分离,这部分也是需要花时间去思考的。

有些课程内容算是委外请人直播教学的性质,因此可能会出现一些落差,譬如以这次的单元测试教学范例,是提供给前端的,所以这部分如果要练习后端的单元测试,还是只能依靠团队自己。

项目实操(超主观心得)

项目实操是个人认为这门课程最有价值的部分,而重中之重,则是整个团队内部的合作与规划。

分组前请诚实以对

团队分组前,会有个人能力评估,如果是不熟悉的领域,请诚实以对,否则如果团队实力落差太大,很容易产生严重分歧,导致项目无法顺利进行。

开发预留缓冲时间

因为多数人是以前端身份进入后端开发,有很多以前,前端不会碰到的细节会拖累开发速度,譬如支付对接后,必然要处理订单问题,而订单本身又会涉及到交易时间等问题。

这对前端来说,以前不太可能会考虑到这部分问题,毕竟都是对接 API 和列表展示与操作,但对于后端来说,这些问题都是必须要考虑到的。

以项目上线为目标

务必请认真考虑到以下几点

  • 团队成员多要上班,只能投入有限时间(你无法预判团队成员工作是否会有紧急需求压力、加班)
  • deadline 时间非常紧迫,实际给的开发时间有限
  • 多数成员不可能有后端经验,必然要花时间踩坑

所以第一阶段的目标,是以开发出一个能用的作品为目标,而不是一个完美的作品,请不要在这个阶段思考太多架构、优化、测试等等,这些都是后续的事情。

如果过度追求完美,除了会造成开发时间卡住外,更可怕的是,可能会造成团队分裂(潜在的各种冲突,尤其是你无法判断团队成员是否面临白天工作压力),一旦团队分裂,项目 94.87% 就濒临失败了。先做出一个丑陋但能跑的功能,可以很大程度激励彼此的信心。

尤其要避免无限扩张团队采用的技术,以前端来说,不应该出现同时采用 ReactVue 这种双框架的状况,即使团队中有人非常擅长某一个框架,但不代表其他人也能迅速学习并用于开发。

扩充与优化

当项目完成第一个角色功能后,通常这时候可以理解为第一阶段已告终,除了可以喘一口气外,还能开始思考其他功能的开发,包含一些可能你想实现的技术或优化体验等等。

以我们项目为例,就是逐步加入 websocket 消息流,PWA、动画,签到系统等,更大程度去丰富整个网站的内容。

结语

最后附上我们本次项目实操完成的前后台部署网址与 Repo,欢迎大家参考。

前台(Client)

后台(Admin)

<!-- test account & password -->

account : admin
password : 12345678

相关链接

关于我成为了 2023 Node.js 软件工程师企业专题班教练这件事