程序员那么卷,就业那么难,为什么你还当一名程序员

2023-12-16

前言

这是很早之前看到的一个问题,那时候应该也和今年的情形一样,只不过没有现在这么严重,因为以前只是企业一方面的问题导致的裁员潮流;而到了2023年就不仅仅是因为疫情之类的原因导致企业不景气的问题,更多的是程序员太多了。

是的相比较与10年轻IT方面的就业岗位增长了300%,但是从事这方面的人起码多了将近10倍。

当供求关系达不到一个平衡时,供的一方就会变得廉质化。

在这里插入图片描述

都这么难了,为什么你还当一名程序员

这样说吧,当下一些没家庭背景,个人资质都一般的人,还真可以通过“受累”,在30岁左右时,做到年入50万,对于其它行业,要做到这个收益,要么要有一定的门槛,要么家里要有关系,要么自己做老板做生意,或者需要和一些各方各面的人打交道。

当下,如果家庭一般个人能力一般,就所谓的小镇做题家,要考个二本计算机专业,这相对容易,或者其实三本也行,再努力一些,二本三本学校本科毕业后,再能通过考研进到一个好点的学校。

而当下,哪怕行情一般,一个计算机二本三本应届生,如果是在大城市,找到工作后,一般干个3年能做到年入将近20万,干个5年,跳槽平凡些,估计能做到月入25k,即年入30w,一般干个7,8年,即30岁左右,能做到年入40w到50w,而且当有10年工作经验的时候,做到50w的也有一定概率。

所以计算机专业的毕业生,在30岁左右,虽然有各种大公司裁员,虽然加班确实厉害,但做到年入50w,这是件看得见摸得着的事情。

对比些其他行业的收益,比如中学老师,做到35岁40岁,评上高级教师的职称,加上各种补贴,可能也就月入2w,能做到年入30w真很不容易了,而且现在又不能补课。

比如大学副教授级别的,外面到处拉活,估计要做到年入30万也不容易,一般也就年入25w。大学里如果要做到年入50万,基本得是教授级别,而且学校得不错,而且还得有名气拉到些事情。

至于一些公司的高管,本人也了解一些,比如是50号人的公司,总监级别,只要不是老板,月入一般也就是2万出头些。

总而言之,程序员几乎是普通人能达到收入的天花板了。

未来发展

这段时间也有人私信问:目前Android程序员环境这么差,像一般的程序员应该往哪里发展。

其实这个问题本质还是在于自身,要知道随着转行以及毕业的大学生疯狂涌入Android行业。想要获得更好的待遇和机会,就需要不断掌握新的技能。

但是不论是面试哪个级别的Android工程师,源码永远是最关键的?”,那些还停留在应用开发层面,不去提升技术就只能接受窘境,最后甚至是面临淘汰。

所以如何从应用到系统,达到技术提升的目的,是很多初中级Android人必经的一个阶段。作为一个过来人,对学习过程中的困难深有体会。所以我热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、自学方法、心得及踩过的一些坑,记录下来。一是更好的梳理自己,二也是能做到更好的社区分享。

《Android Framework源码开发揭秘》

本学习手册深入剖析了Android系统源代码,详细讲解了Android框架初始化过程及主要组件的工作原理,旨在通过实例和案例介绍 Android Framework 的核心概念和技术,从而帮助开发者更好地理解 Android 应用程序的设计和开发。 该手册适合具有一定 Android 应用开发经验的程序员,希望能通过深入学习 Android Framework 来帮助开发者更好地理解和掌握这一技术。

img

在这里插入图片描述

第一章 系统启动流程分析

Android系统完整的启动过程,从系统层次角度可分为 Linux 系统层、Android 系统服务层、Zygote进程模型三个阶段; 知识要点:

第一节 Android启动概括、

第二节 init.rc解析、

第三节 Zygote、

第四节 面试题

img

第二章 跨进程通信IPC解析

Binder作为Android进程间通信的机制,可以看做是一个驱动。在Android中,常见的进程间通信例如系统类的:打电话、闹钟等;自己创建的:像WebView、视频播放、音频播放、大图浏览等。

img

第三章 Handler源码解析

第一节 源码分析

第二节 难点问题

第三节Handler常问面试题

在这里插入图片描述

搭建了一个基于chatGPT的微信群聊机器人,24小时为大家解答疑难技术问题, 需要的可以扫描二维码进群。

图片

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序员那么卷,就业那么难,为什么你还当一名程序员 的相关文章

  • 使用 JSONArray 还是普通数组来存储/读取数据更有效?

    我正在使用一个连接到PHP MySQL返回所有内容的服务器JSON格式 例如 用户列表作为JSONArray of JSONObject 每个对象都包含单个用户的信息 姓名 位置 电话号码等 处理这种格式的信息时 将所有内容保留在其中会更有
  • 如何在 Android 中更改 Drawable 的颜色?

    我正在开发一个 Android 应用程序 并且我有一个从源图像加载的可绘制对象 在此图像上 我想将所有白色像素转换为不同的颜色 例如蓝色 然后缓存生成的 Drawable 对象 以便稍后使用它 举例来说 假设我有一个 20x20 PNG 文
  • 致命错误:在 flutter 中找不到“Flutter/Flutter.h”文件

    这是错误 在文件中包含来自 Users chetan pub cache hosted pub dartlang org webview flutter 1 0 7 ios Classes JavaScriptChannelHandler
  • 如何在MaterialApp主题中设置fontSize的MediaQuery textScaleFactor

    我想在 MaterialApp 主题内设置 MediaQuery 以便在用户更改设置时 FontSize 尊重用户设置 我尝试创建最终的curlScale MediaQuery of context textScaleFactor 并相应地
  • 在 ChromeO 上安装未知来源的 apk

    我今天早上更新了我的 Chromebook Asus Flip 以获取 Play 商店 我的 Chromebook 安装了 M53dev 通道版本 它运作良好 我可以安装并运行从 Play 商店下载的 Android 应用程序 我想测试我的
  • 拖动时跳转 ImageView。 getX() 和 getY() 值正在跳跃

    我创建了一个用于拖动视图的 onTouchListener 如果我使用的话 图像可以顺利拖动getRawX and getRawY 问题是 当您向下放置第二个指针然后抬起第一个指针时 图像将跳转到第二个指针 此 onTouchListene
  • 改造中的多个队列导致内存不足错误?

    我正在使用retrofit2 做我的项目 当我的呼叫失败时 我再次重复相同的呼叫 重复此 呼叫使我的应用程序强制关闭 当我查看日志时 我得到了错误日志 如下所示 我觉得这是由于同一呼叫的多次排队造成的 所以我在排队之前就这样做了 我打电话给
  • Fragment 问题中的 ExpandableListView

    我正在尝试在片段中实现可扩展列表视图 没有错误出现 当我尝试记录两个的输出时List
  • ADB TCPIP 连接问题

    我有两台 Galaxy S3 其中一个已扎根 另一个则未扎根 因此 当我尝试通过本地网络连接它们时 计算机可以看到已root的计算机 但是正常的就卡在tcpip这一步了 所以 我写 adb tcpip 5555 It says restar
  • 华为手机“受保护的应用程序”设置及处理方法

    我有一台搭载 Android 5 0 的华为 P8 用于测试应用程序 该应用程序需要在后台运行 因为它跟踪 BLE 区域 我发现华为内置了一个名为 受保护的应用程序 的 功能 可以从手机设置 电池管理器 gt 受保护的应用程序 访问该功能
  • 需要 Android webview window.open() 和 window.close() 的信息

    我正在开发一个安卓应用程序 这是我网站的 WebView 该网站包含一个弹出按钮 单击该按钮后 将打开一个新窗口并显示内容 该链接可以来自外部站点 然而 当我实现此操作时 新选项卡正在打开 之后它会弹出以打开浏览器 尽管在 Web 视图中打
  • ExpandableListview OnGroupClickListener 未触发

    我正在关注这个 以编程方式折叠 ExpandableListView 中的组 https stackoverflow com questions 4314777 programmatically collapse a group in ex
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • 如何使用 SharedPreferences 保存多个值?

    我正在开发一个字典应用程序 在我的应用程序中 我假设用户想要保存最喜欢的单词 我决定使用共享首选项保存这些值 我知道 SQLite 和文件更好 但我坚持使用 SharedPreferences 所以继续使用它 下面是我的代码 Overrid
  • Android 中的 OpenGL 缩小

    我正在使用 3D 对象并渲染它并通过扩展 GLSurfaceView 实现渲染器来显示它 问题是如何通过捏合和捏合进行缩小 下面是我的班级 package com example objLoader import java nio Byte
  • 安卓。 CalendarView...一次仅显示一个月的日历

    我正在使用 CalendarView 其中我想一次仅查看一个月的日历并滚动查看下个月 但 CalendarView 一次显示所有月份 下面是我的代码
  • Android 中的库可以有自己的意图过滤器吗?

    我想开发一个可以包含在其他 Android 应用程序中的库来拦截某些类型的意图 是否可以 我创建了一个库和一个测试项目 两者都有自己的AndroidManifest xml文件 在库的清单中 我为操作 TEST 定义了一个意图过滤器 但是
  • 当目标小于 Android O 时,如何在 Android O 上创建快捷方式?

    背景 Android O 对快捷方式的工作方式进行了各种更改 https developer android com preview behavior changes html as https developer android com
  • Android MulticastSocket.joinGroup 不会触发发送 IGMP 消息

    Code MulticastSocket s new MulticastSocket InetAddress addr InetAddress getByName 230 230 230 1 s joinGroup addr 在 Ubunt
  • 如何访问我的 Android 程序中的联系人

    我正在制作一个短信应用程序 并且想要访问我的 Android 应用程序中的联系人 我想访问联系人 就像他们在实际联系人列表中一样 选择后 我需要返回到我的活动 在其中我可以向该人发送短信 或者是否可以访问存储联系人的数据库 我的代码如下所示

随机推荐

  • harbor企业级私有仓库

    一 私有仓库的部署 实验环境 删除之前的registry容器 并下载harbor二进制程序和压缩包 官网地址 https github com 部署步骤 1 下载压缩包和脚本并解开压缩包并进入harbor目录并复制模板文件 系统读的是yml
  • SNMP的配置

    SNMP的配置与日志 SNMP 配置文件 大多数系统上的 SNMP 配置信息存储在配置文件中 通常 SNMP 的主要配置文件是 etc snmp snmpd conf 或 etc snmp snmpd conf 你可以使用文本编辑器查看这些
  • go-zero 开发之安装 goctl 及 go-zero 开发依赖

    安装 goctl go 版本在 1 16 及以后执行 GO111MODULE on go install github com zeromicro go zero tools goctl latest go 版本在 1 16 之前执行 GO
  • 用RPA轻松实现天猫物流-延迟报备-紧急报备,提升处理效率!

    商业活动中的物流管理的重要性不言而喻 及时准确的物流信息可以提高客户满意度 增加用户粘性 促进二次购买和口碑传播 同时 高效的物流管理也可以减少商家的成本和风险 提高运营效率和竞争力 在天猫物流管理中 延迟报备指的是订单的物流信息没有及时更
  • Docker仓库详解及搭建

    一 Docker仓库是什么 二 Registry工作原理 Pull Image 用户端向index发送请求 index会返回一个location和token 用户端根据返回的token向registry发起请求 registry会校验一笑t
  • 解放双手!拼多多商家最新秘密武器,微信端批量私信rpa机器人来袭!

    在拼多多开店的卖家们都知道 拼多多商家在进行拓客引流工作时 需要频繁进行微信端私信发送操作 耗费大量时间和精力 为了解决这一问题 商家希望可以通过rpa机器人来自动完成私信发送操作 保证每一笔订单都能做好全面的维护和管理 八爪鱼rpa作为一
  • Springboot+FastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文)

    场景 若依前后端分离版手把手教你本地搭建环境并运行项目 若依前后端分离版手把手教你本地搭建环境并运行项目 前后端分离项目本地运行 CSDN博客 在上面搭建SpringBoot项目的基础上 并且在项目中引入fastjson hutool lo
  • 四种数据库执行脚本文件导入数据的方式

    执行脚本文件的方式 Mysql mysql执行sql脚本文件的方法 1 在命令行输入mysql uroot h10 235 5 55 p 123456 P3306 lt F hello niuzi sql 2 在命令行输入 source F
  • maven上传jar包到代码仓库

    一 前言 一般被引用的包开发都是要求放在nexus仓库中 等到有jar包服务需要引用该包的时候直接从nexus仓库中获取即可 实现了该引用包的公用 二 代码配置 编辑代码中的pom xml文件配置 vi pom xml
  • Sybase死锁问题查询与解决

    Sybase死锁问题查询与解决 sp who 查看锁表情况 sp lock 查看被锁的表的id号 查看数据库lock配置 sp config number of lock 数据库锁资源使用情况 sp lock 检查锁资源使用情况 selec
  • 用RPA轻松获取亚马逊销售订单详细信息,提升业务效率!

    在电商行业中 获取销售订单的详细信息是一项重要且繁琐的任务 传统的方法是手动登录亚马逊平台 逐个查看订单并复制粘贴相关信息 这不仅耗费大量时间和人力资源 还容易出现错误和遗漏 八爪鱼rpa作为一款强大的机器人流程自动化工具可以帮助企业自动化
  • Linux环境变量执行顺序

    环境变量执行顺序 etc profile etc profile d sh bash profile bashrc etc bashrc
  • 生意参谋竞品分析RPA机器人,让你在商战中立于不败之地

    作为电商企业 了解竞争对手的动态和策略对于制定有效的竞争策略至关重要 但是竞对分析是一项繁琐而费时的工作 往往需要大量的人力和时间投入 在这样的情况下 八爪鱼rpa机器人的出现为电商企业带来了新的解决方案 rpa机器人是一种基于自动化软件的
  • mysql执行带函数命令的sql脚本报错

    一 前言 开发给了一个带函数的sql文件让我执行 但是执行导入时报以下错误 This function has none of DETERMINISTIC NO SQL or READS SQL DATA in its declaratio
  • 万字整理Redis核心知识点

    1 Redis介绍 Redis 是 NoSQL 但是可处理 1 秒 10w 的并发 数据都在内存中 使用 java 对 redis 进行操作类似 jdbc 接口标准对 mysql 有各类实现他的实现类 我们常用的是 druid 其中对 re
  • mysql开启查询日志

    mysql默认不开启查询日志 可以通过命令查询 show VARIABLES LIKE general 开启查询日志 并更改日志存放目录 不过存放的目录一定要有权限不然会报错 手动创建一下log目录下的mysql目录并赋予权限 mkdir
  • 客户案例 | 博睿数据全面保障昆仑银行业务稳定性

    新兴市场和不断增长的客户群体需求的崛起 正推动着基于互联网模式的财富陪伴 财富管理和财富生态的全新业务范式的形成 昆仑银行是一家总部位于北京 分支机构遍布全国性的城商行 提供广泛的金融产品和服务 主要包括个人银行业务 企业金融服务 资产管理
  • final的安全发布

    final的安全发布 两个关键字 发布 安全 所谓发布通俗一点的理解就是创建一个对象 使这个对象能被当前范围之外的代码所使用 比如Object o new Object 然后接下来使用对象o 但是对于普通变量的创建 之前分析过 大致分为三个
  • Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入

    场景 Windows中通过bat定时执行命令和mysqldump实现数据库备份 Windows中通过bat定时执行命令和mysqldump实现数据库备份 mysqldump bat CSDN博客 Windows上通过bat实现不同数据库之间
  • 程序员那么卷,就业那么难,为什么你还当一名程序员

    前言 这是很早之前看到的一个问题 那时候应该也和今年的情形一样 只不过没有现在这么严重 因为以前只是企业一方面的问题导致的裁员潮流 而到了2023年就不仅仅是因为疫情之类的原因导致企业不景气的问题 更多的是程序员太多了 是的相比较与10年轻