工作五年的经历、吐槽

做安卓开发五年,越来越觉得,知之甚少,总有学不完的技术点;当然还有忙不完的工作


记得刚入行时,那是一个安卓刚起步,大热门的时代,我只回答了面官的一个问题就入职了,问题是:

你知道ListView的点击事件的方法名叫什么吗?


傻傻的过了两年,就开始思考,自己现在会了些什么,发现只会:

   > 基本常用的原生的安卓View、API

   > 还算熟悉的JAVASE API (曾经将JDK1.6大部分常用API写于本上,自己默写上中文注释:方法、参数)

   > 偶尔用个三方Lib、学个教学视频


然后出去面试,被问到:数据结构、设计模式、自定义View...  想着是不是要私底下提高一下,但随着工作的继续,

生活的苦逼,并没有付诸行动。直到在公司被分了一项任务,老大叫一个大神来跟我讲解实现思路:以现在的眼光看,

就是几张图片,拼合在一个视图中进行显示,可以实现的方法很多,记得当时他好像讲到Bitmap什么什么的...反正对

那时的我来说,就是天书,跟我讲了大概十五分钟,感觉就像天书。最后那个功能也并没有要求我来实现,公司找到

一个合作方,由人家提供SDK等等。再后来不久,我就离职了,因在这家公司我的职责,只是对手机出厂内置应用,

修复它们的Bugs,实在太无趣


接下来一家公司,是我呆过的最幸福的公司了。外包进去,独立负责一个项目,而该项目又是客户公司要拿去跟另一

三方公司谈合作的。我只开发了两个月左右,后面差不多10个月一直在谈合作。。我就差不多闲了10个月,只拿工

资,没有开发任务,现在想想,也是要偷笑三分钟的,哈哈...


当然管我的甲方的技术经理,也会经常问我,项目怎么样了,不过运营、商务老是在谈判,我们也不知道能怎么样。

他一共给我分过两个其他任务,一个完成了,一个把我弄傻了,没整出来。IOS端那哥们也分到我没整出来这个任务,

他说他一个星期就搞定了:通过技术手段,获取到三方类似功能的资源,猜出了实现过程,自己实现了。我也照着他

那个流程来,不过核心的实现,就是整不出来。哎,也是修炼的不到位,没有那份积累…开心的是今年我把这个核心

的功能实现了,即我的博客专栏上那个动态图所显示的那样:在任意一个Shape区,完整显示图片内容,拖动图片,

可能显示出其他区域,松开拖动,回弹显示完整Shape区


因迟迟不见任务,觉得也不能老是逛网页,混时间吧,就有了后面的学习过程:

> 找了本数据结构书,看了一些,可是到如今也才看一半

> 找了些设计模式资料,通看了一回,但也仅仅只能说知道,灵活运用,还是达不到

> 学了C、OC语法,IOS基本组件的一些运用,真心觉得IOS封装的真好,好多功能、效果都不用找什么三方资料,

自身就实现了,相反安卓就很苦逼,不过当时想想不能放弃干了三年的安卓,就不再继续学习IOS了

> 学了安卓自定义View相关的一些基础知识:canvas|matrix|scroller|paint|shader 等等

> 翻译并整理了一些 Gradle官方指南、安卓5.0 Material Design

> 学习其他一些安卓相关的View、Demo等

从14年10月到15年8月,真的是一段疯狂学习的日子,也渐渐地明白知识积累的重要性


这时刚好老板突然通知我,那个甲方公司不用去了,也就顺便提了离职,从北京来到了杭州

虽然好久没有职业做开发任务了,但近一年的修炼,提升还是比较明显的:三天面试了七家,拿了四家Offer


现在的东家,是做TV开发的。我曾经的经历中也做过一年多的TV开发,不过那时,整体团队中,也就是用些原生API。

而现在的项目中,各种自定义View、ViewGroup,还有复杂的业务场景,各种在局部表现不一的机型适配,脑袋疼.......


在这一年多,因对自定义View的兴趣与热情,不论是在公司,还是在休假,不论白天,还是半夜,经常学习、写Demo、

写博客... 感觉有些东西钻研的越深入,越觉得它深不可测... 

这一年多做的三两事:

> 主要经历了三个项目的开发过程;还参与一些其他数个项目的微型迭代,项目定制

> 承担过主要开发的职责,也被边缘过,也力不从心过,也对自己叫过好

> 学习一直在或紧或松地进行,貌似是看心情的,有时候连续学习好多天,有时十天半个月都不想它

> 帮曾经的老大,跑过几次现场售后维护

> 慕课网兼职讲师。感觉不能误人子弟吧,水平有限,心力有限,现在基本放弃了

> 出去面试了几次,主要是看看最近市场的行情,看看最近同行关心的技术点,看重的能力。这里简单吐槽下

 .) 有一家搞笑的公司,把我叫过去,然后说不用面技术了,说他们公司接外包项目做的,之前的安卓端走了,你要不

要来,一周内到岗,基本工资加提成... 哎,明显跟我的需求不对路...

.) 有一家公司,面试官是安卓端老大吧,问了很多细节,技术点,最后一问题直接把我问倒了:这是一个开放性的问题,

给你一个项目,你如何架构、设计它。现在想想这也是一个大问题,可能可以分拆来回答吧:数据层,网络层,视图层,

业务逻辑层;然后对每一个层,你会选择的一些技术实现、框架择优选取等等。比如实现过以MVC/MVP等构架为为基础

的应用,以实际案例,来具体阐述。

.) 有一家公司,前后面了三轮,面过了,薪资比我现在还高,不过因一些原因,放弃了


生活会越来越好的,学了总比没学好,今后还要深入的技术点,努力要达到的目标:

> HTTP、HTTPS 协议

> Java多线程运用

> Java设计模式运用

> TV端的 自定义ViewGroup

> 有名的三方Lib的源码分析,更高效的用于实际开发中

> 私底下重构一个线上项目,运用所能想到的新的好的技术

…………..


不忘初心:想想当初为什么选择这行,给自己以动力,创造更好的明天


阅读更多

扫码向博主提问

匆忙拥挤repeat

博客专家

非学,无以致疑;非问,无以广识
去开通我的Chat快问
版权声明:本文为"匆忙拥挤repeat(stone)"原创文章,转载请注明出处 —— http://blog.csdn.net/jjwwmlp456 https://blog.csdn.net/jjwwmlp456/article/details/53869259
个人分类: 闲谈
所属专栏: 我的2016
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭