本期门诊特邀iOS游戏开发专家专家隋雨辰老师,将针对移动开发过程中遇到的问题给予解答。欢迎网友积极提问,与专家一起讨论!
查看本期门诊精彩实录:http://doctor.51cto.com/develop-285.html
Q:老师你好,我的情况是这样的,我是女的,今年都29岁了,但是才从事java开发几个月。想一直做it下去,可是年龄加性别,外加技术才入门,有点担心将来的路不知往何处。有的说做后台比较长久,有的说慢慢去转测试,有的说多接触业务转型,可是我自己呢,工作之后写js比较多,有点想做ui方面了。对android也比较感兴趣,但是并不是很了解。有些迷茫了,希望老师能给点建议,让我少走点弯路,谢谢!
A:要听建议,要请教那些有成功经验的人分享的,并且要兼听,偏听则暗,同时听错人了也会更加灰暗。
另外建议不能只是结论,要有数据支持,不能是某个人个人的感受,然后推而广之,这犯了“以偏概全”的基本逻辑错误,必须有大量数据统计的概率性的结论,才有参考价值。
1. “后台比较长久”这个论断我不知道怎么来的,我不这么认为,IT技术发展飞快,没有哪个技术是会长久的。
2. 软件测试在国内是没有太大前途的职位,我有很多学生是从测试转开发的,实际原因很简单,测试的门槛低,可替代性强,发展前景较差。
3. “多接触业务转型”,没太明白什么意思,是转向销售?还是多了解具体的行业?
移动互联网高速发展,目前需求量还是比较大的,待遇没有前两年那么高薪,同等经验水平下,也比网站开发高些。
如果目前从事网站开发,尽量多做服务器端开发,前端工程师的发展前景和待遇总体来看也是比不上开发的,当然有少部分牛人可以拿得很高,但那是个案,不能推而广之。
Q:以于像android这样的偏向应用的开发,如何才能保证应用的健壮性,个人开发一个应用分为哪些个步骤。
对于团队的开发,是如何的合作,分工,以及人人这间的差异如何调节,是如何科学的划分任务。THX。。。
A:第一个问题分两点说明:
1. 健壮性就是对异常流程的处理,做好异常处理,尤其是catch块,要对不同异常做不同的处理,同时给出用户恢复的操作建议。使应用能够继续顺利执行下去。
2. 步骤与团队开发类似,因为个人开发,就省略掉了信息沟通环节,所以为了沟通交流所需要的文档就可以省略了,为了记录的文档还是要写一下,防止后面维护时忘记了。大致流程还是敏捷开发的原则,小步快跑,迭代开发,每个迭代周期内实际就是一个小瀑布,大致分为需求收集、需求分析、方案设计、代码开发、测试、修改bug,如此反复循环。
第二个问题涉及的范围有点儿大,实际就是项目管理+软件工程,基本就是一个项目经理要掌握的技能。
几句话是无法说清楚的,太宏观的回答也没有意义。请问一下具体的问题。
补充一句,在实际工作中,最好选择适合当前团队适合的方法,不要想最好的方法、最佳的实践或者科学的方法等。最好的不一定适合自己团队的情况。通常都是不适合的。
Q:怎样才能快速积累技术和行业经验
A:1. 最好是有丰富Android项目开发经验同时又有丰富的技术讲解经验的人来教你,这是最快的。但这种机会可遇不可求。
2. 其次是找个培训机构,但靠谱的机构不多,关键是讲师要选对。
3. 再次是自学,自学优先看视频,跟着视频敲代码练习,有问题可以来51CTO的Android论坛来提问,和大家分享交流技术学习心得。
4. 最后是看书,学技术光看不动手是学不会的,仍然要辅以不断的练习。 过来人能帮你的就是快速的搞懂,从懂得到熟练这个过程他人无法替代,需要自己不断地重复练习,直到融会贯通。
最后祝你早起学成,加入Android开发这个有前景的职业中来。
Q: 在大的物联网公司好像看不到什么前景,每天只是按要求写代码,什么业务人员,客户都接触不到。而且我现在做java也是很简单的,有挑战性的东西都是java比较牛的人做了,对我的技术没什么提升了,正准备离职中,可在网上看了招聘,现在好多公司招聘android都是要会framework,纠结中 ,对于android framework怎么搞给点思路。
A:1. Android的Framework的代码和应用代码类似,只不过Framework层里面的代码使用了很多设计模式,要看懂代码需要了解它使用的设计模式,例如工厂模式、模版方法模式、观察者模式、命令模式等等。另外一部分是框架作为管理者,有很多的管理功能,例如ActivityManager、NotificationManager、PackageManager等,管理功能和我们作为开发者使用的功能是有很大区别的,所以刚开始看可能会感觉到很别扭,经过一段时间的分析阅读,可能会对框架和架构设计有新的理解和感悟。
2. 同时会Android和JAVAEE,是否会比单独会Android更高薪,只要去人才招聘网站去搜多一下,然后对大量的数据进行分析比较就可以了解了。两个处于同样地位的开发技术,精通一个比会两三个但只是熟练,薪水要更高一些。会得更多,对创业可能有优势,对打工优势不大。
Q:我需要做些什么项目,或者说只开发上层的应用,有没有发展了?我还需要些什么知识储备,,,感觉五湖四海,遍地撒网,至今没有捞到一条让我以逸代劳的大鱼。
A:选对池塘才能钓到大鱼。同时也需要自己的能力和经验达到一定的水平,刚开始还是先练习钓钓小鱼。
Android上层应用是否有发展请参考我对18楼的回复。
找工作禁忌广撒网,最好深入全面了解某一个你感兴趣的行业里的几家公司,做好公司调查,做一个功能全面用户体验良好的项目,做好准备再去投简历面试,成功率会大增。
你给100个女生写情书,谁都不理你!不如对一个女生深入了解后写100封情书!她至少会给你一次表达自我的机会。
有的放矢做好准备胜过碰盲目碰运气!我们找工作不只是为了生存,同时也要找一个适合自我发展的空间和平台。
希望你能收回广撒的网,聚焦到几个点,爆发出自己的潜力,最终钓到大鱼!