做开发两年半了,期间遇到了很多问题。处有一部分是实力问题【技术能力不过关,学习应用能力差】。还有一部分是有机会接触到的设计问题(其实到现在还有一大堆设计问题无解,需要解决)。
就当下正在做的一个大型项目来说,谈谈其中的问题。
1.刚开始认为是个小项目,项目经理兼架构师认为比较简单。在做需求分析时,领着我【以前只做编码工作,且不善交流(致命伤)】和一个新新入门的转行过来的女同事来做需求分析,基本都是领导在询问,调查,我们两个只负责记录,调查做了一个月,其实不到一个月,累计也就十几天左右,其他时间都是画图,写设计文档。可以说,前期调研缺少专业性,许多细节没有考虑到。
2.开发系统时,慢慢发现,缺少很多东西,并且很多内容都无法确定下来【当时开始做开发时,是以我的理解为基准的,但是我自己还有很多疑问不知道,比如和我们系统同时开工的还有另一个系统,前段面向消费者的,我们的是面向后端生产的,我开始还怀疑,前段和后端是完全脱离的吗,为什么我们后端和前端完全分开了,还没有一点交流,后来。。。】
3.因为需求问题迟迟未解决,所以开发翻来覆去,原地打转,迟迟没有进展。另外就是在开发时丢了很多细节,这数据我个人原因,由于能力问题,很多东西开发很慢,只能先舍弃掉细节,实现大致功能可以流通,。。。。到后来也没有把细节补充上去。。。
4.由于我们几个无法解决实际问题,公司又招了一批工龄比较长的开发人员,都是从一号店整体搬迁过来的【一号店卖给京东的大背景下】,实力没的说,我也慢慢脱离了开发核心位置,到了可有可无的位置。现在在前端和后端之间来回跑,哪里缺人到哪里,不过做的都不是核心工作。和我当初的渴望非常类似:不让人看重,默默做一个码农。。。。
5.新团队接手,产品也开始面临交付压力,和其他系统联通联调也开始,各种问题开始浮出水面。各种bug,这个锅或多或少也由我来背一点。。。。。
6.系统核心设计随着开发深入,发现无法满足,核心设计发生改变【伤筋动骨】,并且现在为了应付参观【政府项目,对外开放参观】写死了很多数据,遮盖了根本上的设计缺陷。随时会爆发。
7.刚开始设计的不同系统间不需要很多同步数据,现在也需要了,发了生重大耦合。。。
8.我从压力之中“解脱出来”,什么技能也没增加,也没学会怎样面对设计问题,很多问题想不通。
9.个人改进:做调研时有问题要赶紧问,此时脸皮博,到时没脸皮,良好的沟通能力在何时都是极其重要的
做系统设计,各种问题要深入探究,浅尝辄止,自以为可以解决的问题,不经过探究,不确定下来,有可能真的做的时候是无法解决的,到时候进退维谷,费工费 时,这都是成本