一晃就做了四年的Android开发了,时光飞逝啊~
工作的时间飞快,感觉每一天都很充实,但是大多数都是重复的样子。
去年的目标达成:
去年的目标就是学习学习,涨薪涨薪。上家公司的同事氛围很不错,所以真的学到了不少东西,他们很愿意教我一些东西。涨薪这件事儿吧,属于被动涨薪了,哈哈哈,跳槽涨薪,惭愧惭愧啊~
怎么说呢?年纪和技术都在增长,但是总的来说对自己还是不大满意的,虽然每天都过的挺充实的,但是还是会有些遗憾,比如没进大厂,没有管理经验,技术深度不够。
罢了罢了,总结一下这上半年吧~
上半年总结:
上家公司由于项目融资的问题,裁了一大堆人,并且一直压着年终奖不发也不提涨薪,老板很喜欢看有人加班,但是下面的人,很多都在混加班,产品的整个流程开发很混乱,老板也不是想真心的去长期开发出一个好产品,而是赶进度,拉融资。结果做出来的东西太新受众面不大,而且即时语音,视频流加上unity地图模型啥的,用户体验很不好。
当然,我觉得上家公司很奇怪,人事部门不注重公司的交流氛围,但是我们私下的关系很好,无论是研发还是说跨部门,公司里工作还是私下里聚餐组织活动那些,氛围真的很好,每天的工作很累,但是都挺开心的。
但是公司确实那段时间出了问题,我本来也有点想走了,刚好顺水推舟,就走了。
于是今年过年回来,就入职了现在这家新的公司。上家比我先离职的朋友,也在这家公司,抱着试一试的态度,来看了看,没曾想面试还真的过了。
先说待遇吧,入职就有全新Mac,100京东卡。就全新Mac这个,我就觉得真不错~,薪资待遇比以前的多些,但是更吸引我的是他这儿有季度奖金,而且是按贡献所得,这肯定会调动员工的积极性!当季度就发,相比于上家公司的今年年终明年九月发,页太良心了。
一、工作总结
这边是快速开发,小项目开发,每个人会单独负责项目。
最开始面试的时候还有些担心,做海外项目,也怕单独负责项目理不太清楚。来了后,还是不一会儿就上手了。
一般一个App就5,6个界面,实现主要功能就行。
到现在应该做了有十来个App了,项目做起来越来越顺手了,效率也在不断提高。
虽说界面,部分逻辑不一样,但同类型的App也是大同小异,做了五六个类型的App吧,遇到做过的类型就会快很多。不过相对于自身的效率还是不太满意的,虽然现在快了很多,但是前期第一个项目和音乐项目其实都遇到些问题,花了不少时间。希望下个进度能产出更高。
做的类型有VPN(6个),音乐(1个),翻译(1个),锁屏(2个),来电秀(1个),壁纸(1个),产出不高,但是花的时间主要还是第一个vpn和音乐上花了挺多时间的。
更多的了解了谷歌应用市场,AdMob的对接,广告对接流程,广告违规等情况,公司的GP账号也是开发可以看的,可以随时去了解线上的情况,ANR,Crash,日活,留存,广告展现量,收入等等。
二、技术总结
来了之后确实担心过这种短平快的项目会不会让自己技术进步的空间。
但是还是那句话,学不学习,还得看自己有没有那个心,多输入,再输出,肯定是有所得的。
架构上,
对于App整个架构,开发框架的使用,各类三方框架的接入,对比,优化都是有了质的提升。虽然整体设计架构简单,但是会大大提高自己对整个项目的把控能力,什么好,什么不好,在下个项目应该注意什么,都会无形中提升自己的能力。
技术上,
1.从宽度来说,我觉得是进步最大的地方吧。因为短平快,且各个包的代码不能相同,所以会让自己不断的去尝试新的方式去实现同样的需求。
例如,一个列表的Adapter,我可以使用自带的RecycleView的Adapter,也可以使用BaseQuickAdapter,差异在哪儿?优势在哪儿?好的地方在哪儿?列表的分割线可以用几种方式去实现?侧滑栏是自定义还是用DrawerLayout?数据的存储用Sp,Sqlite,Greendao,litepal还是用啥?组件间通信,用哪些方式?倒计时的实现用哪种比较好,协程的各种实现规则,UI在不同手机上的匹配,动画的各种实现方式。在Android业务层这个方面,我觉得在宽度上我得到了很大的提升。
2.从深度上来说,这正是我现在正在担忧的,短平快,就意味着技术很难沉淀,不会有时间给你去钻研一个技术的,遇到了bug主要还是偏向快速解决,而不是什么方式解决最好。
深度?深度?什么才算深度啊?很多时候一直都有点迷,不知道如何学习如何下手。
jetpack差不多都会用了,compose,flutter,dart语言都学习了些,但是什么才是深度啊?我如何在天天写业务的时候,去学习深度?如何去用深度的思想,方法去实现呢?
或许想过做全栈,或许想过当leader,朋友安慰我说,这两个都不需要技术深度。但是就连业务层的技术一点深度都没有,谈何去钻研其他的东西,谈和去管理团队。本业都做不好,还搞全栈?技术都没有,妄想当leader?
哎,给下半年的自己定一个目前自己能想到的,需要去掌握的东西吧。
1.业务层:
(1)、 ANR和Crash的深层次探讨,问题的思考与总结。如何更好的去定位问题,查找问题,解决问题。虽然测试的时候,crash这种很容易找到解决,ANR也可以生成日志文件去查找,但是感觉自己还是很浅显,得多去看点源码。
(2)、性能优化。界面优化这些就不说了,天天画界面,写界面,优化就那样。性能优化,性能稳定很重要。内存泄漏,内存溢出的原因和解决办法自己真的掌握了吗?多线程,协程这些东西会用了但是原理懂了吗?
(3)、输入和输出。学了用了,总结了吗???音视频,接触了,但是懂得很少,无非还是在业务层调调Api,画点界面,更别说OpenGL,OpenCV了。但是很多稀奇古怪的bug和兼容适配很多时候搞得很烦,有时间多去写,多去看,多去了解,要转化为自己的东西输出!IM这东西吧,也是Android业务层理的一个大块,我做过,简单的项目,使用websocked框架去接入,去监听等等,难的项目,却不太敢,只敢画画IM的自定义界面,纯业务逻辑。底层的收发,超时重联真的只能做到用。JNI,NDK,跨进城通信等等,真的只停留在懂概念和基础的使用。
(4)、项目的整体设计,构造,优化和混淆。现在还是不够清晰,多思考,多总结才行。
(5)、多思考多总结。欠下的博客,记得写了,该写的博客,总结总结,该整理的Android业务层知识,捯饬捯饬。
2.全栈:
最初的目标就是做一个全栈,但是因为工作嘛,天天写业务,加上自己懒散的原因,学着学着就没学了,之前服务器也买好了,过期了也没整个啥出来,堕落啊~~
(1)、Springboot学习,尚硅谷有完整的教学,得去搞搞了,不能一直停滞不前。后端这块儿快忘完了啊~~~
(2)、Web前端学习,js都快忘完了,css和html咋弄的也忘的差不多了。有时间学学VUE框架吧。
(3)、了解下跨平台这东西,虽然flutter学了,但是吧,一言难尽,哈哈。
下半年的规划
1.工作上:产出要够,并且App的质量要跟上,开发更多类型的App,以一个技术的身份,去思考如何让一个App更好的盈利!不断的学习新的公司的一些框架,一些技术。
2.技术上:就如上面的总结,要有输入有产出,技术宽度上,继续维持,多总结,技术深度上,多学习。此外技术的拓展,圈占这块,必须动动了。
3.生活上:保证足够的睡眠,做不到按时早睡,那就想办法保证每天的休息时间,精力这东西,真的很重要;多运动,啥都准备好了,还不运动?瑜伽垫,跳绳,运动手表,球衣,emmm,多动动,身体是革命的本钱,体重可以维持,但是腹肌必须得看到啊~
4.家人:有时间多回家看看,都买车了,是吧,多行动!现在的女朋友对我也很好,也是过日子的人,希望自己对她好一些,有耐心一些,多宽容多理解,不能凡事只知道去讲理。人家是来和我过日子的,不是讲道理的。
此外呀,要对得起表妹送我那句话:
希望你永远有一股“坐而论道不如起而行之”的行动力和感染力,是理想主义的少年,也是诗酒趁年华的少年。
多看书吧,买了那么多书,不可以不看。画画,书法,旅游,电影也别丢了。
最近对道家有点感兴趣,有时间了解了解。
一个大佬的文章里的某段话,感觉有点打醒我自己。
品!你细品!
还有,就是博客这个东西,因为知道写这个东西是有用的,但是自己一直受工作的影响有点多,没啥时间去写,少玩会儿吧,半年前订的目标200篇博客,到现在还没完成,惭愧哟~
前段时间,看了篇文章,感触挺大的,不然也不会写这篇总结,里面对程序员做了四种分类,虽然是他人个人看法,但是我觉得还是很有道理:
第一类肯定是高攀不上了,哈哈,我感觉我就是属于第三种,就想着自己成为一个技术专家,待价而沽哦,对团队,对公司其实不太想去参与,公司好那我也好,公司不好,怎么肥四啊这管理层。想想还是眼界太低了,既然都想着自己去做一个leader,想着成为一个技术专家,那为何不能真正的融入到公司去,虽然说为公司发光发热显得很可笑,哎呀,你这不是为资本家打工吗?
emmm,那为何不能成为资本家的得力干将,这一行,谁不是为资本家干活呀,是吧。
多学学技术,多考虑考虑团队,现在的公司发展的好,不正是第二类人,与公司一起拼搏出来的吗?说起来,每次那个后端朋友跟我提起浩哥是,眼睛里都是闪光的,一个不是互联网行业的人,却在公司发挥着非常重要的作用,能当上经理不是开玩笑的呀。
附上一张前年和朋友去的稻城亚丁的图,读万卷书,行万里路,冲!