他山之石,可以攻玉:从别人的项目中汲取经验

每个人的职业生涯中接触的项目必定是有限,如何更多的去接触项目,来丰富自己的项目经验、技能技巧,从别处学习项目知识几乎是每个软件从业者的必经之路。

那么如何快速高效的从一个项目汲取有价值的东西就显得尤为重要。对处于不同角色不同职业阶段的人,学习的东西也是不同的,所以还是要区别对待,鱼与熊掌不可兼得。

下面从几个方面聊聊从别人的项目中,我们学来点什么为我所有:

最直观的感受就是代码,特别是一些看起来当前自己无法实现的思路、特殊技巧等等。这对迫切需要提升编码技能的朋友适用。特别是对于出现的新技术新应用,都是一次不错的体验机会,当然并不是所有项目都能看到源码,这与公司的保密性有很大关系。

整体了解项目需求,帮助我们从全局上把握一个项目业务,快速的积累业务经验,对需求理解转化能力也是需要时刻锻炼的,不管你是不是需求分析人员,每个人都应当是产品经理。

整体架构设计。项目的架构以及具体的框架一定是结合项目的应用背景才被这么设计出来的,这对锻炼自己的技术融合能力至关重要,从中举一反三,灵活运用。即便自己还只个软件开发人员,也一定要试着理解为何设计成这样,这对以后职业生涯也是积极的引导。

数据库设计,了解了需求及架构、框架,可以试着去理解其存储设计,缓存应用等。这个也是往往会被忽略的部分,有时候更多的是看到代码而看不到数据库设计。如果有机会的话,建议还是去深入一下。

设计或实现上的不确定点,如果是自己来实现一遍,跟当前的实现有何差异?为什么这么做?这对自身的逻辑思维能力也是一个很好的磨练机会,并且可以参与项目的人交流,在如此短的时间浏览了一个持续数月的项目,简直是浓缩的都是精华啊。当然也许有不可取之处,我们也要区别对待。

隐性的项目管理过程也是不容忽略的一部分,特别是比较棘手的那部分,更是需要特别关注,比如核心人员变动的处理,需求变动,项目有没有失控,危机处理等等,因为少见,更显得比正常的情况有价值。这一项也是看别人项目时容易忽略的部分。

识别风险,这个从代码中不容易分辨,可以通过与当事人的交流自己体会,以及当事人如何应对风险的。这些对以后自己的职业都起到一个惊醒的作用。

总之,我们的目标是汲取精华、去其糟粕,从别人的经历中快速学习,快速成长,取代自己亲身去经历,去踩砊,毕竟一个经历的项目再多也不及多人同时并行的项目。


扩展阅读:

成长的乐趣,在于分享!
大龄程序员,一路走来,感慨颇多。闲暇时写写字,希望能给同行人一点帮助。
本文版权归作者growithus和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/growithus/p/11012175.html