18年从.net转行做安卓开发,现在已经过去一年多了。说一下感想和心得体会!
一、开始
说一下我的经厉,从毕业开始出来工作一直是从事.net方向的开发工作。一开始也是没什么经验,加上也没有其他手艺就找了一个.net的开发岗位,刚开始两年都是做一些基本的系统开发OA、CRM什么的。后来跳槽换了几家公司,也都差不多主要是.net web系统开发或者是后台接口的开发。跟着团队一起做项目,完成需求开发,解决bug等等。做了几年看到现在移动互联网是趋势就打算换个方向,本来在我工作的第二年是有一次机会的但是错过了,当时买了mac准备转ios开发的但是刚出来工作基础不好加上没有自制能力所以就没有成功转型。
后来就还是在做.net相关的工作,结果发现做.net的越来越少,加上51上面发现工作岗位远远没有java和Android的多就想着换个方向了,另一个原因是做.net技术一般工资也没提高多少。然后就准备学习Android了
二、Android学习
Android学习是自学的花了两三个月的时间吧,买了几本书,《Android第一行代码》《Android开发艺术》再加上Google的文档和菜鸟教程。刚开始是从一个创意开始,比如想做一个app。下载开发环境,配置开发工具,然后写一个helloworld开始!那时候就是在家自学,做几个例子。跟着网上的教程写一下,因为之前做开发也有一段时间了,java基础还行基本掌握,就从Android开发的ui开始学习,一开始是了解基本的一些ui和xml怎么写,然后学习如何交互,基本上是把第一行代码里面的例子都敲了一遍。然后就是做一个项目实战一下,比如一个天气应用,刚开始学习的时候也是什么都不会,经常百度,看别人写的代码复制然后改一下,后来发现不行。还是要思考一下原理,然后在家做了一两个app之后觉得差不多了解一点了。
1使用listview 和ReceryView的问题二自定义listview中的东西。
三、找工作
学完Android基础加上做了几个例子程序之后有了一点点信心,就开始写简历了,写的是一年工作经验。然后投简历,找工作的时候已经是6月份了,给我打电话的公司也不多就每天投一下简历,然后看看面试题,想想怎么面试。再就是修改简历。大概找了一个星期左右吧,面试成功了一家公司,是一家外包公司,之前没进过外包加上刚开始也什么经验就去了工资待遇还可以。面试的时候问了一些简单的view基本原理,常用的控件和多线程知识,以及java基础等等。我大概答上来了,自我感觉70分吧。然后把之前公司的一些项目写上去了。之前公司也有移动端的项目,我大概了解一些,只不过当时是负责写后台接口的。就这样就找到了第一份Android的开发工作。当然也有一些不好的地方,比如编造了一些经验。但是不这样的话根本连面试的机会都没有。
四、工作体验
工作也快一年多了吧,刚开始进入公司是负责公司的一个内部系统的Android端的开发工作,根据每一期的需求进行开发。一般一个月到一个半月左右发布一个版本,更新迭代也是很快的,然后一开始是写一些简单的ui界面,调用一下接口。第一个月就是熟悉一下项目,刚好公司有同时和我交接,期间有不懂的也会问问其他同事,经常是问一下ios端的开发。然后因为一些事情项目组的一个同事离职了,我才发现原来招我进来是替代他的,然后Android端的话就只有我一个人了,感觉压力有点大。不过那位同事走之前把项目基本和我介绍了,然后里面系统框架也已经搭建好了,平时的主要工作就是改改界面,根据需求做一下系统的开发,和之前界面的修改。只是因为基础不好,加上经验也不是很足。常常加班,不过进步也是有的。这一年多来基本保证了项目的正常开发上线,虽然有时候会拖延几天。也紧急修改过一下bug。但是对我也是一种锻炼吧。工作总体来说还好,和同事们相处也比较愉快。同时也感谢他们对我的帮助,从别人身上也学到了不少东西,有时候有问题也是一起交流讨论。
工作中的一个技术问题和知识点,自定义View,视频播放,图片加载缓存,获取视频缩略图,复杂界面的布局,以及一些特殊效果的实现。这些问题下一篇文章会详细写出来。
五、总结和感慨
总结
通过这一年左右的工作经历让我对移动端开发有了一个新的认识,Android入门简单但是要想深入学习也需要花一番功夫。同时在这一年的开发工作中,业余还是没有主动学习和提高。对于项目的开发和代码的质量没有更好的要求自己。有时候也应该主动的去学习和思考一下项目中的代码应该怎么写。能不能提高一点,在完成任务的同时还需要对自己要求高一点。刚开始可能工作比较认真,到后来也会发现工作不够热情,对于项目和代码的激情也开始减少,这都是应该思考和反思的。
感慨
从毕业到现在也已经工作四五年了,本来以为可以一直做.net的但是还是换了方向,但是一些基础的编程思想都是相同的,比如数据结构,面向对象,接口。一般的开发语言只是语法的不同,但是基本思想基本差不多。只是其适合使用的场景不同,例如编译型语言适合后端开发和一些大型的系统,例如java和C#。解释型语言比较适合web方向的开发比如php和python等。不知道还能写多久的代码,工作到现在进步也不是很明显,大多数程序员基本都是写需求。那一份还可以的薪水,勉强养活自己。要赚钱还是需要有其他的方向。工作之余也要考虑一下未来的路该怎么走,不可能写一辈子代码。最多到30多岁,要找到自己方向吧,工作时间越久想找到一份好工作也越来越难。快30了也有一定的危机感了,人最怕温水煮青蛙。所以趁年轻还是多学点东西,不能到最后才发现想转行已经不会其他技能了。是很痛苦的一件事情!这句话是给自己说的,要加油,要努力!