一个四年Android程序猿的2023上半年总结

news2024/11/24 10:30:50

 一晃就做了四年的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,那为何不能成为资本家的得力干将,这一行,谁不是为资本家干活呀,是吧。

多学学技术,多考虑考虑团队,现在的公司发展的好,不正是第二类人,与公司一起拼搏出来的吗?说起来,每次那个后端朋友跟我提起浩哥是,眼睛里都是闪光的,一个不是互联网行业的人,却在公司发挥着非常重要的作用,能当上经理不是开玩笑的呀。

附上一张前年和朋友去的稻城亚丁的图,读万卷书,行万里路,冲!

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一篇文章了解Redis分布式锁

Redis分布式锁 什么是分布式锁? ​ redis分布式锁是一种基于redis实现的锁机制,它用于在多并发分布式环境下控制并发访问共享资源。在多个应用程序或是进程访问共享资源时,分布式锁可以确保只有一个进程可以访问该资源,不会发生…

采用555时基电路的简易/可调定时长延时电路设计

采用 555 时基电路的简易长延时电路 本电路和一般的定时电路相比是通过在 555 时基电路的 5 脚处加了一个二极管 VD1,使得定时时间延长的特点。 一、电路工作原理 电路原理如图 11 所示。 当按下按钮SB时,12V的电源通过电阻器Rt向电容器Ct充电&#…

弹性IP和公网IP有什么区别?哪个好

​  弹性IP和公网IP有什么区别?哪个好。IP是服务器重要的组成资源,一台云服务器实例一般分为公网IP和内网IP,公网IP指的是对外访问的IP地址,是针对公众用户的IP,这是网站绑定的服务器IP地址。而内网IP顾名思义就是内部的网络IP…

Android Monkey稳定性测试

l 命令样例: adb shell monkey -p packagename --ignore-timeouts --ignore-crashes -v -v --throttle 200 1000000 各个参数的意义如下: -p 用此参数指定一个或多个包(Package)。指定包之后,Monkey将只允许系统启…

cmake多文件、多文件夹编译(2)

一、同级文件夹下代码调用问题 目录如下: ./testCMake(根目录): /build: /MyClass: CMakeLists.txt MyClass.cpp MyClass.h /MyFunction: CMakeLists.txt MyFunction.cpp MyFunction.h CMakeLists.txt main.cpp 上述…

day35-Postman/ajax

0目录 1.postman 2.ajax 1.Postman 1.1 定义:postman用于测试http协议接口,无论是开发还是测试人员 1.2 Servlet中的doGet()/daPost…

基于JavasSwing+MySQL的医药销售管理系统

点击以下链接获取源码: https://download.csdn.net/download/qq_64505944/87987881?spm1001.2014.3001.5503 功能:管理员与普通用户两个角色登录,可以增删改查用户,增删改查药品等功能 JDK1.8 MySQL5.7

微信小程序——开发入门

注册小程序 微信公众平台 设置相关信息 设置好之后需要去获取appID和秘钥,后序开发需要用到。 下载开发工具并安装 微信开发者工具(稳定版 Stable Build)下载地址与更新日志 | 微信开放文档 创建项目 打开开发者工具创建一个新项目并如下…

使用 ONLYOFFICE 宏检索网站详细信息

在上一篇文章中,我们基于一位用户发送的 VBA 参考构建了一个功能完善的 ONLYOFFICE 宏。今天,我们想再进一步,为其添加一些 Whois API 功能。 什么是 ONLYOFFICE 宏 如果您是一名资深 Microsoft Excel 用户,那么相信您已对于 VBA…

Nacos(服务注册与发现)+SpringBoot+openFeign项目集成

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术…

分割1——图像分割的前世今生

首先讲讲:什么是计算机视觉? 计算机视觉是一门让计算机学会“看”的学科,研究如何自动理解图像和视频中的内容。 其次讲讲:计算机视觉有哪些任务?我们所要讲的图像分割位于什么地位? 计算机视觉的三大经典…

计算机体系结构基础知识介绍之使用动态调度、多重问题和推测来利用流水线

我们已经了解了动态调度、多发射和推测等单独的机制是如何工作的。(具体请参见本人前几篇博客) 现在我们把这三种机制结合起来,得到一种和现代微处理器非常相似的微架构。为了简单起见,我们只考虑每个时钟周期发射两条指令的情况…

《算法竞赛·快冲300题》每日一题:“窗户”

《算法竞赛快冲300题》将于2024年出版,是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码,以中低档题为主,适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 窗…

es6 数组操作个人总结

es6 数组操作个人总结 动机数组数组生成可枚举对象转数组箭头函数筛选判断所有元素枚举循环 小结 动机 es6 ,说白了,就是增强版本的 js 。。。。。嗯,说到底,还是原生 js 罢了,不过比原有的 js 多了一些属性、类型、指…

【c++修行之路】智能指针

文章目录 前言为什么用智能指针智能指针简单实现unique_ptrshared_ptr 循环引用和weak_ptr的引入循环引用weak_ptr 定制删除器 前言 大家好久不见,今天来学习有关智能指针的内容~ 为什么用智能指针 假如我们有如下场景: double Div() {int x, y;cin …

Clion 配置Mingw64的 c++开发环境

1、Mingw64的安装与环境变量的配置 Mingw64文件下载 Mingw64下载地址:https://sourceforge.net/projects/mingw-w64/files/ posix相比win32拥有C 11多线程特性,sjlj和seh对应异常处理特性,sjlj较为古老,所以选择seh 配置环境变…

MongoDB踩过的坑

目录 启动MongoDB服务 可视化工具:MongoDB Compass 由于目标计算机积极拒绝,无法连接 BSONObj size: xxxx is invalid. Size must be between 0 and 16793600 (16MB) 启动MongoDB服务 1. 打开CMD 2. 进入安装MongoDB文件夹中的bin目录 3. mongod -…

mapBox 绘制多边形无法设置 边框宽度 解决方法

目录 一、问题 二、解决方法 三、总结 tips:如嫌繁琐,直接看有颜色的文字即可! 一、问题 1.使用mapBox在地图上绘制点、线、面。绘制多边形的时候发现 直接用 zh(一家提供地图引擎的公司),提供的绘制多边形的方法无法设置边框颜色和边框宽度。很是离…

龙蜥社区 6 月技术委员会会议召开!欢迎 5 位开放原子 TOC 导师加入

2023 年 6 月 16 日上午 10 点召开了龙蜥社区 6 月技术委员会线上会议,共计 38 人参会。本次会议由联通肖微主持,会议也荣幸的邀请到了开放原子 TOC 导师线上参会,技术委员们来自阿里云、统信、飞腾、中科方德、红旗、万里红、Intel、Arm、龙…

入门篇:从零上手GitOps

文章目录 GitOps 介绍如何将业务代码构建为容器镜像?如何将容器镜像部署到K8s?K8s如何实现自动扩容和自愈?1.传统的扩容和自愈2.k8s自愈机制3.k8s弹性扩容 如何借助GitOps实现应用秒级自动发布和回滚?1.传统 K8s 应用发布流程2.从…