全世界都在劝退学Android的程序员

上面这些原因导致一度出现三百六十行,行行转IT的盛况。

城里的人想出来

我记得我在逛某乎的时候,有几个问题经常上热榜:

“Android开发凉了吗?”
“程序员的出路在哪里?”
“感觉中国的程序员前途一片灰暗,是这样吗?”

这些话题下面有很多程序员都在吐槽自己,吐槽程序员这个行业

真相到底如何?

事实上,整天觉得世界灰暗的人,他们绝大多数都是那些些随便学了一两个月技术,项目都没做过一个就想来拿高薪的人。

但是结果没能如他们所愿,工作只是每天敲些老代码,上网搬轮子,坐着等加薪等升职,等提车买房的美梦落空了。于是上某乎吐槽。

其他那些认认真真学习技术,打磨了四五年的人他们大都换了个称呼,他们叫做工程师,技术人,技术专家,技术经理。他们的前景一片光明,让他们做一个月兼职的收入都比那些一味抱怨生活和工作,但是又不努力,不改变的二流程序员高。

如何做一个前景光明的程序员?

程序员这个行业靠不靠青春吃饭我不确定,但一定是靠技术吃饭的。

很多人带着劳动密集型的思维来做技术密集型的事情。

体力劳动的附加价值能有多高?

而且程序员这个行业的出现真的拯救了很多不擅长混职场、不愿意与人打交道的人,只要你能解决问题,哪怕你不说话,你的老板也照样给你加薪。

但这一切都是建立在你的「无可替代性」上的,如果你只会敲敲基础代码,搬搬轮子,百度一下,那你就很容易被替代。这样的你也根本没有底气没有筹码谈待遇,因为这些工作是体力活而不是脑力活,而程序员应该是建筑师而不是搬运工。

##如何提升自己?

这里我们可以从深度和广度努力。

  1. 提升广度

如果你选这个方向,可以尝试做一名全栈工程师,而所谓全栈工程师是指掌握多种技能,胜任前端与后端,能利用多种技能独立完成产品的人。

朝这个方向发展,不需要你每个方向的技术都学得多么深入,每一种语言掌握80%左右即可。你可能解决不了很多高深的技术难题,但你可以一个人解决前后端大部分的问题。而且因为对开发工作全局的了解都很熟悉,是离项目经理最近的开发人员。

  1. 钻研深度

而如果你选择第二个方向,就需要将某个技术领域的某一门或两门编程语言学习透彻,要做到这个技术领域上的所有问题到你这里都能得到解决。而常见的技术领域包括前端、后端、移动端、iOS开发等传统领域,还有近几年兴起的人工智能、大数据分析、物联网等。

具体方法有哪些?(此处只讲Android程序员)

(一)学什么?

当下时代,5G迅速铺开,在智能手机普及,流量降价的大环境下,NDK技术是必不可少的。

此外还有很多技术都是被大厂所看重的,归纳之后大致有以下技术要求:

  1. 深度理解Android平台架构、主要组成和工作模式;
  2. 有linux内核、framework和jni、虚拟机、安全逆向等底层技术经验;
  3. 深入理解设计模式,能够设计出高內聚,低耦合的系统框架,提升开发效率;
  4. 具有比较强的客户端系统架构设计能力,在通用性、跨平台和复用性方面有深刻的理解;
  5. 有大型软件架构设计和重构经验。
(二)怎么学?

这里给大家分享一下我自己的学习思路:

  1. 学习基础知识

Activity相关实体知识体系

• Task启动原理与调用栈内核

• 生命周期与内核管理原理

• ViewGroup源码解析

• View源码分析与高级自定义View项目实战

• 事件分发的核心机制

• Handler通信原理与框架手写

• Intent数据传递原理和内核

• Hook Resource源码实现

Fragment 内核

• Fragment事务管理机制与控件混合应用原理

• Fragment事务管理的原理

Service 内核原理

• 生命周期及AMS关系

• 两种启动方式启动原理

• 基于内核的应用实战

• Service进程优先级调优与实战

• Service职责原理

实体间的通信方案

实体中数据存储专题

  1. 阅读源码+实战运用

关于源码的阅读和实战运用,我这边梳理了一份笔记,还有在网上整理的一套实战的教学视频。

如果大家有需要,可以点个赞,留言“111”,支持我一下,然后口可以直接进我的[【GitHub】](https://github.com/xieyuliang/Android-P7-share/blob/master/Android%E5%BC%80%E5%8F%91%E8%BF%98%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6​
%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md),里面有免费获取途径。

最后

说这么多,并不是想给大家制造焦虑,而是想告诉大家:坚持一个目标走下去是辛苦的,但是你的付出不会白费。

Android没有凉,也不可能凉,毕竟当下Android用户量是明显摆在那里的事实。只是,现在的Android对从业者的要求变高了,竞争变的激烈了,在这种环境下,我们更需要奋斗,不是吗?

最后,如果你觉得本文对你有帮助,希望可以点个赞,留个言,支持一下我,感谢。

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取
中…(img-EMPeYawj-1719098218333)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取

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

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

相关文章

电子SOP实施(MQTT协议)

架构图 服务与程序 用docker启动mqtt broker(服务器) 访问:http://192.168.88.173:18083/#/dashboard/overview 用户名:admin 密码:*** 消息发布者(查找sop的url地址,发布出去) 修改url,重新发布消息 import ran…

Claude 3.5 Sonnet已经上线,Claude 3.5 Opus即将上线

https://docs.anthropic.com/en/docs/about-claude/models 人工智能学习网站 https://chat.xutongbao.top/

高性能并行计算华为云实验四:快排算法实验

目录 一、实验目的 二、实验说明 三、实验过程 3.1 创建快排算法源码 3.2 makefile的创建与编译 3.3 主机文件配置与运行监测 四、实验结果与分析 4.1 结果一及分析 4.2 结果二及分析 五、实验思考与总结 5.1 实验思考 5.2 实验总结 END~ 一、实验目的…

移动端 UI 风格,诠释精致

移动端 UI 风格,诠释精致

C++跨平台socket编程

C跨平台socket编程 一、概述1.1 TCP协议1.1 TCP 的主要特性1.2 TCP报文格式 UDP报文格式IP协议使用windows编辑工具直接编辑Linux上代码 二、系统socket库1.windows上加载socket库2.创建socket2.1 windows下2.2 linux下 3.网络字节序4.bind端口5.listen监听并设置最大连接数6.a…

css布局之flex应用

/*父 100*/.parent-div {/* 这里添加你想要的属性 */display: flex;flex-direction: row; //行justify-content: space-between; //左右对齐align-items: center;flex-wrap: wrap; //换行}/*中 90 10 */.middle-div {/* 这里添加你想要的属性 */display: flex;flex-direction:…

Redis 入门篇

文章目录 Redis简介关系型数据库:非关系型数据库 Redis应用场景Redis下载和安装Redis 数据类型Redis 常用命令字符串 string 操作命令哈希 hash 操作命令列表 list 操作命令集合 set 操作命令有序集合 sorted set 操作命令通用命令 Jedis 快速入门配置依赖建立连接 / 操作 Jedi…

使用python下载图片且批量将图片插入word文档

最近有一个小的功能实现,从小某书上下载指定帖子的图片们,然后批量插入到word文档中,便于打印。于是有了以上需求。 一、下载图片 1、首先获取图片们的链接img_urls 首先,获取到的指定帖子的所有信息可以存入一个json文件中&am…

NeRF从入门到放弃4: NeuRAD-针对自动驾驶场景的优化

NeuRAD: Neural Rendering for Autonomous Driving 非常值得学习的一篇文章,几乎把自动驾驶场景下所有的优化都加上了,并且也开源了。 和Unisim做了对比,指出Unisim使用lidar指导采样的问题是lidar的垂直FOV有限,高处的东西打不…

深入源码设计!Vue3.js核心API——Computed实现原理

如果您觉得这篇文章有帮助的话!给个点赞和评论支持下吧,感谢~ 作者:前端小王hs 阿里云社区博客专家/清华大学出版社签约作者/csdn百万访问前端博主/B站千粉前端up主 此篇文章是博主于2022年学习《Vue.js设计与实现》时的笔记整理而来 书籍&a…

【AI技术】GPT-4o背后的语音技术猜想

前言: 本篇文章全文credit 给到 台大的李宏毅老师,李宏毅老师在机器学习上风趣幽默、深入浅出的讲解,是全宇宙学AI、讲中文学生的福音,强力推荐李宏毅老师的机器学习课程和深度学习 人工智能导论; 李宏毅老师的个人长…

wordpress教程自动采集并发布工具

随着互联网的快速发展,越来越多的人开始关注网络赚钱。而对于许多人来说,拥有一个自己的个人网站是一个不错的选择。然而,要让自己的个人网站内容丰富多样,就需要不断地进行更新。那么,有没有一种方法可以让我们轻松地…

1-Wire的使用

代码: ds18b20.c /*《AVR专题精选》随书例程3.通信接口使用技巧项目:1-Wire 单总线的使用文件:ds1820.c说明:DS18B20驱动文件。为了简单,没有读取芯片地址,也没有计算校验作者:邵子扬时间&…

实现文件分片合并功能并使用Github Actions自动编译Release

一、编译IOS镜像 1.1 编译 起因是公司电脑使用的Win11 23H2的预览版,这个预览版系统的生命周期只到2024-09-18,到期后就会强制每两小时重启。这是Windows强制升级系统的一种手段。 虽然公司里的台式电脑目前用不到,但是里面还保留许多旧项…

Why RAG is slower than LLM?

I used RAG with LLAMA3 for AI bot. I find RAG with chromadb is much slower than call LLM itself. Following the test result, with just one simple web page about 1000 words, it takes more than 2 seconds for retrieving: 我使用RAG(可能是指某种特定的…

【大数据 复习】第8章 Hadoop架构再探讨

一、概念 1.Hadoop1.0的核心组件(仅指MapReduce和HDFS,不包括Hadoop生态系统内的Pig、Hive、HBase等其他组件),主要存在以下不足: (1)抽象层次低,需人工编码 (2&#xf…

md5在ida中的识别

ida中 识别md5 ,先右键转为hex 或者按h _DWORD *__fastcall MD5Init(_DWORD *result) {*result 0;result[1] 0;result[2] 1732584193;result[3] -271733879;result[4] -1732584194;result[5] 271733878;return result; }在ida中当然也可以使用搜索 search imdate-value …

xss.haozi.me靶场通关参考

url&#xff1a;https://xss.haozi.me/ 文章目录 0x000x010x020x030x040x050x060x070x080x090x0A0x0B0x0C00xD00xE00xF0x100x110x12 0x00 先看js代码&#xff0c;第一关给你热热手&#xff0c;没给你加过 payload&#xff1a; <script>alert(1)</script>0x01 这…

【大数据】—量化交易实战案例(基础策略)

声明&#xff1a;股市有风险&#xff0c;投资需谨慎&#xff01;本人没有系统学过金融知识&#xff0c;对股票有敬畏之心没有踏入其大门&#xff0c;所以只能写本文来模拟炒股。 量化交易&#xff0c;也被称为算法交易&#xff0c;是一种使用数学模型和计算机算法来分析市场数…

FlinkCDC pipeline模式 mysql-to-paimon.yaml

flinkcdc 需要引入&#xff1a; source端&#xff1a; flink-cdc-pipeline-connector-mysql-xxx.jar、mysql-connector-java-xxx.jar、 sink端&#xff1a; flink-cdc-pipeline-connector-paimon-xxx.jar flinkcdc官方提供connect包下载地址&#xff0c;pipeline模式提交作业和…