为啥经常听到程序员朋友说自己太辛苦了、太累了,其实原因很简单:干活苦、竞争大、技术致富难。

干活苦:

有新闻说晚上十点某领导在微信群要求下属在十分钟内回复,一员工因休息早而没及时回复被裁了。

对于程序员来说,晚上十点仍有许多人在公司赶进度,等发布。即使在深夜熟睡之际,一旦电话铃声响起,程序员在十分钟内就得起来查看处理,毕竟如果是系统宕机的话,晚一分钟处理损失就多几个零。

选择程序员这职业也就是选择7*24*365的待机模式,出门可以不带钱包但随身得带个vpn,搞不好程序员在结婚当天还得停下来打开电脑解bug。

竞争大:

IT这个行业涌入太多的急功近利的求职者,培训学校批量生产的码农,一批一批又一批。普通人从培训学校培训半年便能就业,月薪轻松过万;大四学生不喜欢本专业,自己拿本书学习也能找到不错的公司以实习生的身份入门。

技术致富难:

工资不涨房价嗖嗖涨,与公司的一起成长的情怀比不过现实的残忍:领导画的饼迟迟不兑现,还没到30岁两鬓开始发白,腰背也熬病了,薪资还是那么点。同一起跑线的同学跳槽早就实现了薪资翻翻,人又何必在一棵树吊死呢?

让我们来看看知乎上的一条高赞评论:

代码水平不高的时候,天天加班也干不完,还说其实是喜欢。

随着代码水平的提高,注释写的越来越少,话也越来越少了。

话说得少了,觉得办公室气氛变得有点压抑,于是离职换了一家公司。

在新的公司还是那么忙,于是经常幻想老了就可以轻松点,却发现脑门子越来越大,眼睛看不清楚了,胳膊腿儿越来越细,肚子越来越大,原来已经提前老了,但是还要加加班。

终于有一天升职,来了几个帮手,可是他们水平不高,天天加班也干不完,还说其实是喜欢。

这些新来的下属们加班总是帮倒忙,引入的bug比解决的bug多多了。

于是每天劳心劳力的去帮助他们,要求他们代码写好,那样可以少写注释。

终于发现他们的水平逐步提高了,注释写的越来越少,但是话也越来越少。

话说的少了,似乎办公室气氛变得有点压抑,终于下属告诉我已经辞职下月离职,这陌生的感觉仿佛换了一家公司。

于是更加忙了,总是幻想老了就可以轻松点,却发现脑门子越来越大,眼睛看不清楚了胳膊腿儿越来越细,肚子越来越大,原来已经提前老了,但是还要加加班。

如此循环往复..............

感觉生活都没有了乐趣

看到这哥们儿的工作经历,再加上工作几年对这个行业的了解,我对以下几点有了深刻的感悟:

第一:每个行业都有各自的辛苦,只是你不知道,总觉得别人的就是最好的。

第二:我们需要控制欲望,做正确的事情,就不累。

第三:好的程序员并不累,他们乐此不疲,因为他们能从中获取成就感。

第四:如果你觉得很累,那就要回到原点问问自己为什么要做程序员,工作的方法是不是有什么问题,常用的基础知识点有没有掌握,是不是还不具备一个核心竞争力。

第五:程序员也需要不断提升自己的技术水平,有一个特别精通的东西,别等到有一天被劝退,那时候就措手不及了。

如何提升学习?

提升学习很大程度上就是为了跳槽涨薪,当然运气不好的情况可能是被劝退重新找工作,无论是哪种情况,自主学习的能力是要有的,而且得有一个方向,得有重点。

对于Android移动开发来说,热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架是进入大厂必须掌握的,也是面试中常常问到的,我这里整理了一份资料以及路径,长达1042页!相信看完这份文档,你将会对这些Android第三方框架有着更深入、更系统的理解。

由于文档内容过多,为了避免影响到大家的阅读体验,在此只以截图展示部分内容,1042详细完整版的【Android设计思想解读开源框架】可以到我的【Github】阅读下载。

第一章:热修复

1、AOT/JIT & dexopt 与dex2oat
2、热修复常见问题之CLASS_ISPREVERIFIED 问题
3、热修复原理
4、Tinker 的集成与使用(自动补丁包生成)

第二章:插件化

1、Class 文件与Dex 文件的结构解读
2、Android 资源加载机制详解
3、四大组件调用原理
4、so 文件加载机制
5、Android 系统服务实现原理

三:组件化框架设计

1、阿里巴巴开源路由框——ARouter 原理分析
2、APT 编译时期自动生成代码&动态类加载
3、Java SPI 机制
4、AOP&IOC
5、手写组件化架构

四、图片加载框架

1、图片加载框架选型
2、Glide 原理分析
3、手写图片加载框架实战

五、网络请求框架

1、网络通信必备基础
2、OkHttp 源码解读

六、RXJava 响应式编程框架设计

1、链式调用
2、扩展的观察者模式
3、事件变换设计
4、Scheduler线程控制

七、IOC 架构设计

1、依赖注入与控制反转
2、ButterKnife 原理
3、Dagger架构设计核心解密

八、Android架构组件Jetpack

1、LiveData 工作原理
2、Navigation 如何解决tabLayout 问题
3、ViewModel如何感知view生命周期及内核原理
4、Room架构方式方法
5、DataBinding为什么支持MVVM?
6、WorkManager内核解密
7、Lifecycles生命周期

以上资料免费分享,如有需要,可以到我的【Github】阅读下载。

年薪60W的Android程序员究竟多累、多苦?一条高赞评论扎了无数人的心的更多相关文章

  1. (转载) 据说年薪30万的Android程序员必须知道的

    据说年薪30万的Android程序员必须知道的帖子 标签: android 2015-03-12 16:52 28705人阅读 评论(14) 收藏 举报 Android中国开发精英 目前包括: And ...

  2. Android程序员必知必会的网络通信传输层协议——UDP和TCP

    1.点评 互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯技术这一块)的开发者来说,网络编程是基础中的基础,只有更好地理解相关基础知识,对于应用层的开发才能做到游刃有余. 对于Android ...

  3. 迈向高阶:优秀Android程序员必知必会的网络基础

    1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用 ...

  4. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  5. 给Android程序员的六个建议

    给Android程序员的六个建议 分类: 安卓相关2015-07-14 23:58 177人阅读 评论(0) 收藏 举报 android程序员 如果你一年前写的代码 , 在现在看来你还感觉写的很不错 ...

  6. Android高薪之路-Android程序员面试宝典

    Android高薪之路-Android程序员面试宝典

  7. Android 程序员必须掌握的三种自动化测试方法

    在日常的开发中,尤其是app开发,因为不像web端那样 出错以后可以热更新,所以app开发 一般对软件质量有更高的要求(你可以想一下 一个发出去的版本如果有重大缺陷 需要强制更新新客户端是多么蛋疼的事 ...

  8. 悲惨的Android程序员

    Android程序员太悲惨了,连Android官网都访问不了,整个Android程序员的水平都被拉低了一个等级.受不了了.说说悲惨的遭遇吧. 起源:高射炮打苍蝇,驴受伤了 Android一个纯技术网站 ...

  9. Java程序员入门:程序员究竟可以干多少年?

    很多人都说程序员是青春饭,只能干到30岁. 然而事实真的如此么? 今天我们来探讨一下这个老话题,看看为了技术与编程执着究竟能走多远? 01年龄分布图 先来看一下程序员的年龄分布图: 我们可以看到程序员 ...

随机推荐

  1. Redis短结构

    本章将介绍3种非常有价值的降低Redis内存占用的方法.降低Redis的内存占用有助于减少创建快照和加载快照所需的时间.提升载入AOF文件和重写AOF文件时的效率.缩短从服务器进行同步所需的时间,并且 ...

  2. java list 分页

    /** * * @param list * @param pageNum * @param pageSize * @param <T> * @return 返回当前页数据 */ publi ...

  3. 在线CRM系统对企业的好处有哪些

    随着信息技术的飞速发展,每个企业都希望通过互联网技术来让自身发展壮大.由于强大的管理能力和技术手段,在线CRM系统成为了企业用来管理自身获得发展的最佳选择.那么在线CRM系统对企业来说有哪些好处呢?本 ...

  4. hive学习笔记之十一:UDTF

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. Linux(CentOS)下安装docker

    Linux(CentOS)安装Docker 查看当前内核版本 [docker@localhost ~]$ uname -r 确保yum包更新到最新 [docker@localhost ~]$ sudo ...

  6. MyBatis:条件构造器QueryWrapper方法详解

    QueryWrapper 说明:      继承自 AbstractWrapper ,自身的内部属性 entity 也用于生成 where 条件及 LambdaQueryWrapper, 可以通过 n ...

  7. MySQL 数据库恢复一张表中的数据

    如果使用 mysqldump -uroot -p123 user > test.sql备份了user数据库中的所有数据,但是当前只想要恢复该数据库的某张表数据,该怎么处理呢? 已知恢复整个数据库 ...

  8. WPF教程五:附加依赖项属性

    附加依赖项属性是一个属性本来不属于对象自己,但是某些特定场景其他的对象要使用该对象在这种场景下的值.这个值只在这个场景下使用.基于这个需求设计出来的属性.这里主要涉及到一个解耦问题.最大的优势是在特定 ...

  9. 循序渐进BootstrapVue,开发公司门户网站(6)--- 门户网站后端内容管理

    我们在做门户网站的时候,如果网站的内容可以动态从后端进行管理,那么调整网站内容就非常方便,有时候如一些公司新闻.产品信息.轮播广告信息等都需要动态调整的,有一个方便的后端内容管理是非常方便的.本篇随笔 ...

  10. fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化

    fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化 在开发过程中,经常需要和前端交互数据,数据交互的格式都是JSON,在此过程中免不了json字符串 ...