他山之石,可以攻玉:从别人的项目中汲取经验
每个人的职业生涯中接触的项目必定是有限,如何更多的去接触项目,来丰富自己的项目经验、技能技巧,从别处学习项目知识几乎是每个软件从业者的必经之路。
那么如何快速高效的从一个项目汲取有价值的东西就显得尤为重要。对处于不同角色不同职业阶段的人,学习的东西也是不同的,所以还是要区别对待,鱼与熊掌不可兼得。
下面从几个方面聊聊从别人的项目中,我们学来点什么为我所有:
最直观的感受就是代码,特别是一些看起来当前自己无法实现的思路、特殊技巧等等。这对迫切需要提升编码技能的朋友适用。特别是对于出现的新技术新应用,都是一次不错的体验机会,当然并不是所有项目都能看到源码,这与公司的保密性有很大关系。
整体了解项目需求,帮助我们从全局上把握一个项目业务,快速的积累业务经验,对需求理解转化能力也是需要时刻锻炼的,不管你是不是需求分析人员,每个人都应当是产品经理。
整体架构设计。项目的架构以及具体的框架一定是结合项目的应用背景才被这么设计出来的,这对锻炼自己的技术融合能力至关重要,从中举一反三,灵活运用。即便自己还只个软件开发人员,也一定要试着理解为何设计成这样,这对以后职业生涯也是积极的引导。
数据库设计,了解了需求及架构、框架,可以试着去理解其存储设计,缓存应用等。这个也是往往会被忽略的部分,有时候更多的是看到代码而看不到数据库设计。如果有机会的话,建议还是去深入一下。
设计或实现上的不确定点,如果是自己来实现一遍,跟当前的实现有何差异?为什么这么做?这对自身的逻辑思维能力也是一个很好的磨练机会,并且可以参与项目的人交流,在如此短的时间浏览了一个持续数月的项目,简直是浓缩的都是精华啊。当然也许有不可取之处,我们也要区别对待。
隐性的项目管理过程也是不容忽略的一部分,特别是比较棘手的那部分,更是需要特别关注,比如核心人员变动的处理,需求变动,项目有没有失控,危机处理等等,因为少见,更显得比正常的情况有价值。这一项也是看别人项目时容易忽略的部分。
识别风险,这个从代码中不容易分辨,可以通过与当事人的交流自己体会,以及当事人如何应对风险的。这些对以后自己的职业都起到一个惊醒的作用。
总之,我们的目标是汲取精华、去其糟粕,从别人的经历中快速学习,快速成长,取代自己亲身去经历,去踩砊,毕竟一个经历的项目再多也不及多人同时并行的项目。
扩展阅读:
成长的乐趣,在于分享!
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架