个人android开发风险得与失

今天是自己成长的历程,确实是好多事情过了N久才知道好与坏,自己上半年算是白过了,工资算是白拿了,给公司造成的损失是自己无法估量的,才知道自己真要作为一个优秀的程序员还有很长的路要走,其实自己真正严格意义上的项目经验真的不多,以前在mappn属于小作坊式的软件开发,无论测试与开发都是几个人完成,那时也曾经出现过一次比较严重的产品质量问题,CCTVStream无法给客户演示(在北京),这是个很严重的问题,更令人郁闷的是自己在西安竟然无法复现这样的问题,这样才是最大的问题。后来总结才知道后面隐藏的更加不容易看到的问题就是自己与北京的运行环境有很大不一样,第一、当时我用的rom版本是经过我们公司内部(大米)优化的rom版本。第二、我们本地的测试是在wifi网络环境下测试的,而北京是在3G当时不很成熟的3G环境下测试(09年末)。由于是在CCTV总部同一个信号基站可能有很多的3G用户,网络环境更加不乐观。  这次演示的失败使客户对我们产品有了不好印象,虽然后期经过重新的调整,使用户得到了认可,可是这样的情况还是要尽量避免。发布产品为CCTV,不过可能后来由于版权付费问题不知道现在是否还可以使用。

       还有就是在西安做的另一个项目,CardValue是为中国银联开发的一款基于LBS的应用,可以搜索ATM和附近的银行,以及得到附近用各个银行可以打折优惠的店铺,这个项目做的很早,比淘宝的吃喝玩乐和大众评论等早好多,当时的Android SDK版本最新的也才是是1.6,做出来以后实现了主要的功能,后期经过UI优化就发布了,在发布后曾经遇见个很致命的问题就是,GPS位置信息一直无法获得(上海),而我在西安获得没有问题,我一直很困惑为什么会出现这样的问题真是很棘手。现在看来好像是由于上海的地理原因造成的,他所在的公司高楼林立,由于建筑物得遮挡,就是站在窗户口也是无法接受GPS信号的。而我在的西安高新区都是小楼,视野开阔不存在这样的问题,没有办法只好通过A-GPS来定位虽然精度不高,不过相对稳定性好。现在发布一年多了,现在有遇见了新的问题,就是当时的Android手机很单一,可以用冷清来形容,设计的屏幕只是支持320x480的UI,现在手机推出这么多什么格式的屏都有,程序已经不符合当时的设计,需要更多的优化,以支持现在各种各样的手机,还有现在中兴和华为的国内机是不支持Google maps的,而我们开发的用的地图是基于google maps 的是否考虑使用mapABC的地图?软件的发布与后期的维护同样重要。可以搜索 CardValue 获得体验软件,现在这个软件竟然开始收费,真令我感到意外啊。

        这段时间我也从事Android 教育工作,编撰好多Android课件与敲了好多Android代码例子。

        以上我的工作都是在几个人之间完成,一个提需求,一个做UI,我就是那个做开发代码实现的。这样工作室的开发模式很高效,不过开发出来的产品,还是无法和那些团队开发出来的产品相媲美,特别是我看到了那个本地陪和大众点评客户端,与IPhone上做出来的程序,更是令我感到自己需要提高自己。渴望自己有个成熟优秀的团队,成为其中一员一起开发出优秀美丽的程序。当自己经历的越多,看到了越多,发现自己越来越有做产品经理的潜质了。后来自己到阿里云做外包,开始了自己的出差生涯,自己在阿里云做的软件都是比较抽象的,拿不出来的东西,比如做SDK谁知道你调用和使用的东西是我做的啊,还有一些自定义的控件,我们羡慕Iphone那样豪华版的用户体验,使用苹果的东西就是一种享受,对美的感受。于是乎对于android平台,只需要按IPhone的使用体验打造全新的Android体验就好了,别说我这是山寨,这是对美的学习,消化和发扬,如果发扬的好,苹果会找上门来要专利费,我们可以付给他啊。在阿里云开发SDK的稳定性要求很高,好多代码实现经过好几次的review。开发遇到的问题可能只有一个就是在开发阿里旺旺的时候程序运行到真机得时候就会反应so slow啊,按下去半天才反应下来,把我的脾气都磨慢了,按个按钮下去可以去抽根烟后他才有反应。这样的程序很折磨人拥护体验可真是相当雷人啊,我们开发的在模拟器上还跑的给力些,到真机上就这样惨不忍睹,真是无奈。后来万般无奈去开发基于Android的虚拟机。我们主要工作是做自定义控件开发,在android 的View的基础上创建实现有超炫效果的UI控件,不知道我们这样的追求特效是否可以在脆弱的Java(KVM)虚拟机上流畅的实现。现在阿里云要发布自主知识产权的移动操作系统,而且还主动兼容了Android程序真是一件可喜可贺的事啊。而其背后默默无闻的开发者,谁会知道啊。

            后来,到上海联芯科技工作,是个很有资格的国企,实在令我有了不一般的体验而且每次体验都很令人感到不一样,看我年纪这么小真的是见识的东西太少了。我主要负责的是手机的黑名单功能模块,这个手机的黑名单模块真不好做啊,由于原来没有做黑名单的经验,貌似我进去就是为了叫我解决这个问题,黑名单作为一个很特殊的应用,刚开始做开发没有认为他是很复杂的一个程序,现在回想来为自己这个天真的想法感到后背发凉啊。手机应用牵涉到基本功能都是很重要的,出问题也是最致命的,而黑名单是个什么样的程序呢?对于任何一个,来电都要调用我的模块来进行判断是否是黑名单中的一员,如果来电设置了隐藏号码如何判断,添加黑名单是在电话本,而来电处理在另一个程序,两个程序间的判断,如何进行处理是不知道的,而且是同步的,在添加黑名单的地方进行处理,一旦我这部分出现问题,就会造成无法接听来电,如果我本段的service没有启动是否就不会出现判断?还是终止黑名单判断,这些问题到现在我都不知道需求是如何规定的。如此下去我的黑名单就成为了程序潜在的一个炸弹,指不定在什么时候就出现问题,出现问题后只有左修右补,程序更乱,而且后来又要做出判断视频与音频的黑名单,样下来更加混乱了,在没有改变数据库的基础上增加了黑名单功能,好多字段都是臆想出来的,后期交给别人维护真不知道他们是否明白我处理的方式。现在我都从项目里退了出来,好多遗憾也都留在了那个项目,虽然,我还做出来好多其他成就,但是不得不承认黑名单算是我最近开发的一个败笔啊。如果要是重新设计开发绝对不那样设计了,我一定慎重考虑,提出更加独立伸缩的黑名单服务,和完善的外部调用接口实现。事后我回邮件询问,才知道自己果然出现了,令人琢磨不透的问题,原来负责的主要模块在本地测试验证无错误后在提交给用户测试的时候竟然出现了错误,这样的问题真是棘手啊,看来有测试也不是万全之策,对于程序代码的质量也很重要,关键以前没开发过黑名单,初次开发出现这样的问题真是不幸,不知道自己以后是否还有机会开发黑名单,特此勉励自己啊,可以心有不甘啊,自己出现的问题杯具的不是被罚工资,被挨骂,被批评,被辞退,而是自己没有亲自解决这样的大问题而感到很杯具啊(大家可以想象下自己用脚亲自跺死小强的那种快感)。

             最近我要去南京出差了,看来新的项目有开始了,加油了。

现在1809总体进展不错,感谢对项目的关心!

 

前端时间联芯手机参加移动测试,有一个问题导致联芯第三轮测试中3个此前已通过的K项又不通过,该问题是黑名单引起的,编码不谨慎,没有充分验证,牵扯了公司老总参与向相关部门解释,该问题并定位为联芯质量事故,按道理质量事故是需要模块负责人承担责任的。

 

    后续在编码规范性/专业化上,建议进一步严格要求自己。


       你好:

     我是徐XXX,现在离开联芯科技好久了,不知道现在的1809项目进行的如何,应该已经发布了吧。我很不满意自己在联芯的表现,对此我深感歉意,对自己以前的表现也实在感到羞愧。我在联芯的工作我当时自我感觉良好,但是却不得不承认,自己有好多东西没有做到,好多东西都做的不够到位,给我提些我工作中的错误表现和遭成的不良影响(我非常想了解自己所负责的模块,最近遇到了那些不良问题,以警示自己)。这是纯私人的讨论。不用耽误工作时间。

转载于:https://www.cnblogs.com/sinxiao/archive/2011/07/19/2110774.html

你可能感兴趣的:(个人android开发风险得与失)