Android程序员到底有多累,多辛苦?

前言

说到底,是自己的选择问题。

三百六十行,哪行容易?

但关键是自己的心态,如果工作成了你的负担和困扰,你得有跳出来的勇气和行动力。

我自己先后就职于虎扑体育、爱奇艺和凯英网络,担任Android研发经理,有6年工作经验,4年的Android开发经验,2年的管理经验,1年的ios端开发经验。

就职于大公司期间,我的工资已经算是高薪了,前途逐渐明朗。我已经看到了:如果沿着这条路走下去,可能生活是稳定顺畅的。

可是虽然工资不断攀升,身体和生活也出了一些问题:我发现自己陷入了工作生活不分开的死循环,哪怕周末也是一直在想着工作,完全没有自己的生活。几年下来,各种身体问题开始涌现。大公司里面频繁又无意义的会议让我厌烦,压抑的工作氛围也让我觉得难以忍受。

有天觉得这样不行,再这样下去身体会废掉,整个人状态也不好。一番犹豫之后,我痛下决心,想离开目前这种温水煮青蛙的生活。

于是我放弃了大公司的高薪,换了一份工作。

还是做技术,但这份工作和以往最大的差别就在于:这份工作是远程办公。

我可以自由的安排自己的工作时间,可以摆脱公司没完没了的会议,更加高效地工作,省去上下班的时间,更多的用来享受生活。

换工作只是一个开始,不过也引起了一连串生活方式的改变。

我开始去徒步旅行。

去过了尼泊尔 Poolhill、江西武功山、浙江七尖、徽杭古道、仙霞古道,假期基本都在路上。
我开始在上海各个咖啡馆敲代码。

这工作环境,秒杀大公司惨白的灯光、压抑的环境好几个档次好嘛!

我开始健身。人变得挺拔多了,和产品据理力争的时候不用担心挨揍。

我开始阅读。

是一种出于兴趣和好奇而进行的更广泛的阅读,通过旅行和阅读发现更大的世界。

看过了那么多壮丽的风景之后才明白:觉得累,很多时候是自己心态不对,闲的没事时候,就要离开计算机,出去走走。工作的时候就认真工作。把工作和生活分开,不然,既不能高效工作,也没法好好生活。

工作累不累,苦不苦,公司氛围真的有很大影响。

钱不是唯一导向,在那种加班严重、剥削工程师的公司,即使能给你一个高补偿又能怎样呢?你是在透支生活。透支生活交换得来的仅仅是货币的补偿,但是生活愉悦的人往往注重的是精神上的补给。

同事的重要性,不是猪队友那么简单可以概括,我们总是会高估自己对于傻X的容忍限度。

很幸运,现在的公司,同事的技术水平都很高,合作起来很愉悦。这种愉悦,不仅仅是工作上的专业让人产生的互相信任,同时也是公司文化的open-minded,让我觉得工作可以在保持高效的同时,也可以很开心。

身体和年龄就好比米缸里的米,如果你已经预见到米缸快没米了,就勇敢一点跳出去,趁着最后的机会抢吃几口米也解决不了什么问题。出去之后可能会有一段时间饿点肚子(薪水低),找米也很辛苦(工作累),但毕竟意味着有更多可能性。早点跳出去,也意味着你有更多的时间去适应这些。

时间也是成本呀,而且还是最贵的成本。

真的不要等,立刻去改变。

就好比北京前段时间雾霾严重,看到不少朋友在纠结「哪一个空气净化器效果更好」的问题,在各种净化器之间犹豫不决,几天过去了,问:买了没呢? 答曰:还没。

其实,这种时候,需要做的是马上买空气净化器,任何一款都好,哪怕是净化能力差一点的,也能解决当前的主要问题,更好的净化器带给你的净化效果的提升,不过是多一点边际收益。但有些人就是纠结,期待更完美,但结果是没有解决方案。

Done Is Better Than Perfect,如果根本没有「Done」,你永远达不到「Perfect」。

再回首那次换工作,我觉得是我人生之中无比明智的一个决定,如果那次我没有毅然决然换工作的话,那可能我还在玩命的加班,还在深夜debug,还在开没完没了的会,还坐在死气沉沉的办公室里质疑人生。

所以说,现在的所有状态,都是自己的选择而已。觉得累了,就去改变吧。

无论如何,不要在米缸里等死,另外,也别把自己借以跳出去的梯子当成柴火烧掉(在大公司混日子)。总有一两项技能傍身才能行走江湖吧?

最后我想说:薪水有价,自由无价!和各位同行共勉!没有谁在用自身以及他人的经历去蛊惑人心,和答案中的那句话一样,说到底,是自己的选择问题。

每一个人的人生都有自己的选择,对得起自己的每一次选择就够了。

既然有选择,也是要奋不顾身地去做到最好,从小就知道,学习是最好的一条路,不要等,立即去改变

最后

我在漫长的学习路上,也有自己的一点心得体会,平时的一些总结,笔记也会记录下来,针对于Android现在比较热门的技术,我来说说我自己的理解,并附上学习资料

 获取地址:【Android开发交流】

架构师筑基必备技能

目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。

JAVA知识要点:
1、 Java序列化、泛型与反射
2、虚拟机底层原理
3、Android内存原理
4、 Java高级并发原理详解
5、 编译时技术掌握与实战
6、JDK高级动态代理
7、高级数据结构与算法
8、 Java IO操作
9、
。。。。

Android R FrameWork源码与UI

在Android中,Framework泛指系统架构层。Framework的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运行机制,通常Framework都会隐藏main函数等应用程序必须的组件,开发人员只需把精力放在功能代码的实现上。说简单点,Framework具体的工作也就是为android应用开发的开发人员提供了一系列的服务和API的接口。

UI其实并不是单纯指用户看到的效果。因为在Android开发中,每个控件背后都有一套深层次的体系在支撑,自然而然,会UI不单纯指的是会自定义控件,我们还应该知道自定义控件背后的执行流程,包括从Activity的创建,XML的解析,到每个控件的测量、布局、绘制。当然在中间还夹杂着比如动画、事件分发机制、嵌套滑动机制等知识点。还有谷歌提供的一些UI框架也使我们要掌握的对象,比如Jetpack组件库、Material Design等。

知识要点:
1、 FrameWork源码解析(SDK 30)
2、Android常用组件深入解析
3、JetPack全家桶
4、Android R新特性解析
。。。。。

大厂内部APP调优方案

性能优化是一个项目必须要经历的过程,你的应用好与坏都是在用户使用的过程中反映出来的,如果性能优化没有做好,对于你的应用来说影响是非常大的。尤其是现在的Android市场竞争非常激烈,如果你的应用体验没有竞品的好,那么用户流失是必然的。

性能优化不是一件简单的事情,每个应用的性能好与坏无法由一个人来决定,因为性能优化的维度有太多了,从我们项目的整体架构,到我们代码的每一个细节,再到应用使用环境的测试,只有步步为营,才能做好一个项目的优化。大部分开发者把性能优化指向与不闪退就行,但是实际上性能优化包含了很多方面,比如从简单的启动优化、 UI优化、 卡顿优化、 崩溃优化、 安全性优化,到深层次的弱网优化、 大图加载优化、 储存优化、 高效传输优化、 极限瘦身优化,再到实际开发过程中的OOM问题原理解析、 ANR问题解析、 Crash监控方案。要想把这些优化流程做好,我们不仅从项目架构、代码规范等方面入手,还用学会利用第三方的检测工具来检测项目性能,最主要是,我们需要一套完整的性能优化方案,这正是我们所缺少的,所以我们必须要把缺少的补上, 打造一套真正的完整的性能优化体系,把性能优化流程化,常态化。

1、 APP基础优化
2、APP深度优化
3、开发焦点问题优化
4、编程效率优化
5、项目实战
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践

对标腾讯T3.3架构师

Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。

Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。

本篇知识要点:
1、架构师设计思想篇
2、 手淘全套架构设计与实现
3、 开源框架
4、OKHttp网络框架
5、一线大厂核心框架剖析与实现

NDK模块开发(音视频系列)

NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。

在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。

本篇知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习

Flutter学习进阶

2021 年无疑是 Flutter 技术如火如荼发展的一年。

每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。

本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门

微信小程序开发

微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。

本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战

 获取地址:【Android开发交流】 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
https://blog.csdn.net/chenxy_bwave/article/details/121156166
下一篇>>