agent实习都干什么?工作中该怎么思考(二)
继前文agent实习都干什么?深入了解项目构成(一)继前文对项目改造进行讨论后,本文将主要聚焦于实习日常的工作及在工作中的一些思考。
项目初期
作为一个实习生,通常会按能力进行项目职责的分配,当时由于前期表现较好,所以分配的项目会较为核心一点。
项目初期流程通常分为如下几步: 接到需求 -> 分析需求,任务调研,确定方法架构,mvp构建 ->项目开发 -> 初版sit+uat
与练手项目不同的是,企业项目通常不会在初版就尽善尽美,所有的功能都是按版本进行逐步迭代,稳定性的重要性要远远大于复杂性。所以大家在构建项目时,思路可以放在如何尽快产出mvp,如何确保项目稳定性,高可用性以及高可维护性。
分析需求
就目前接触到的实习生或朋友而言,部分人仍然存在以下几个误区:
- 只做给定mentor的内容,不好意思询问职责之外(与项目有关)的内容,缺乏自主思考;
- 架构等顶层内容与我无关,但crud没有挑战性,不愿意写;
- …………
实际上,在工作中,遇到问题了,只要与工作相关,哪怕是自己独立思考的疑问,同样可以询问mentor,当然也不是鼓励事事询问,最好是自己深入思考且查询信息无果的问题再去询问,通常自己认为的难题对于mentor而言可能只是一句话就能解决的问题。
在项目工作过程中,大型项目的crud等对于自底向上理解整个项目架构也是很有帮助的,了解为什么需要这个接口,他可以用在哪里,他们是怎么用的,尤其涉及到权限控制的部分,为什么要这么设计,事实上从crud中就可以对整体的架构构建起一个初步的思想框架。
再到架构层面,诚然,设计一个完整完善的架构对于实习生包括大部分初入职场的程序员都是比较困难的事情,但是可以通过在coding的过程中,去观察理解顶层的架构是如何去设计的,为什么要这么设计,比如降级方案,兜底方案,熔断方案等,通过这类架构设计怎么完成的指定目标,确保了高可用性以及这套架构是如何解决了项目开发中的某些痛点。
不要求尽善尽美,只要对整个项目架构有所理解,再与mentor沟通的过程中请教一番,在很多面试中针对实习的追问都能有非常不错的回答。