当前公司有一个wince下的PND项目,之后根据市场也衍生了一个android下的pnd, 之后就由我全权负责以及跟踪。然后我(负责驱动)和另一个同事(负责应用)开始倒腾,当然最开始还得我负责系统跑起来,之后我俩磨刀霍霍向“猪羊”了,这里我不是想表达什么我俩做了什么事情,只是对这几个月多经历总结一下,以防下次还再范同样的错误。如果让你负责一个项目,你如何保证自己的产品性能的稳定。如果你把自己定义为一个用户,你最在乎的是什么?限于工作经历的短暂,很多东西可能会讲的很片面,还希望指导。
1. 我现在时刻告诫自己就是我们写的不是代码,我们做的是产品。我不需要多么华丽丽的代码,我只需要我给你的任务能够稳定+稳定就行,当然不能带来其他的bug,如果你的技术功底很高,你可以这么做,但需要经过你自己各种测试之后没有问题再提交测试部测试,目的只有一个,不能带来其他bug。对于一个用户而言,他不需要去了解你的这个东西代码多么厉害,他只关心产品的体验性。其实就按我自己有时玩手机来说,我对产品主要从流畅性+稳定性+续航性+视觉性(这就取决屏的好坏了)
2. 沟通,这里我指的沟通是指对外的沟通,对于我们这种很多刚毕业没多久的人说,都有一股狠劲,就是想自主的一个人去琢磨问题。这里我想说的是芯片厂商肯定是比你有经验多了的,他们遇到的现象远比我们的多,考虑的也远比我们的全。现在换我如果遇到只要确定是芯片驱动的问题我就直接打电话去请教fae了,记得在工作中遇到一个问题,进入地图导航,然后打开FM之后导航的语音提示完全失真,而播放音乐完全正常。打电话和主控芯片fae聊了下,他说是DMA分配的buffer太小导致,然后打开主控的datesheet看dma的描述,却让我发现另一个描述DMA处理的优先级,会不会和这个有关,事实也说明我的猜想是对的,他们的经验足以提醒我们从哪里分析问题。其实很多时候我们自己就会琢磨该从哪里入手,以前我也经常这么做,后面就慢慢改了,先从fae那里了解一下情况,然后根据再结合的思想去分析。
3. 团队 我想这个是每个软件开发人员所必备的知识,不要一个人埋头苦干,因为当前的项目是由wince衍生而来的,而我这个项目还是属于预言的,压根没有立项,硬件上除了给我最基本的原理图,啥也没有,之后硬件改板了我也不清楚,也没硬件通知。以前就遇到一个问题在软件上折腾了半天,最后从硬件得知这板改了,对应另一个GPIO了,当时一个崩溃啊(只是题外话)。一个团队,就好象我们散客找到了一个组织一样,有向心力,所以得保证内部信息通知及时。这里当然需要一个团长,但我最好不要在这里表达那种我是老大我得意,在这里我们都是一样平等的,我们的目的只有一个做好产品。而团队的内部沟通也可以让自己快速成长起来,接触的知识面也更广,考虑的东西也自然而然的更全面一点。同时需要团员可以再开发的同时写下经验文档和其他人共享自己所得所获,只有这样我们才能成长的更快
4. 自主性 这点我认为很重要,尤其是像我这种只有两个人研发,我还需要外加测试写测试报告。这里我不想表达啥,有的东西不要去找经理你才去做,这很没意思。这一点我限于表达能力,就不多说了。一个人的责任心远比他的技术能力重要得多
这里推荐大家可以去李开复的 《《世界因你而不同》》,阿朱的《《走出软件作坊》》 我觉得闲暇之余多看看这些书一定会让你获益匪浅的。
阅读(1500) | 评论(0) | 转发(0) |