程序员分很多种类和等级,如果要提高达到20k的概率,有两个条件如果满足的话,则很容易达到:

1、一线城市:北上广深杭

2、互联网行业

如果你非得抬杠,我要在三线城市,做外包要赚20k的话,很难,我自己也做不到。

所以,如果你要做程序员的话,必须去一线城市,去最好的互联网业务,当然最好的公司不是说你想进就进,那起码也得从三四线公司干起,慢慢逐步跳槽到一二线公司。

如果你想工资翻倍,我得先假设当前工资是多少。

如果是年薪10~20万,翻倍应该不难,但如果你已经年薪100万了,要翻倍还是有点难度的。

那么我分几个薪酬阶段,每个阶段的翻倍方法也不太一样。

1、仅讨论国内情况,不考虑出国赚美金这样的特殊场景,出国不具备普遍性。

2、讨论范围是北上广深杭等几个it互联网行业发展较好的城市,其他二、三线城市物价、市场发展水平不一致不讨论;

3、讨论是普遍情况,不取特例(即“我朋友”“我亲戚”“我同学”“阿里星”“93年的P9”“老P6股票千万” 之类的);

4、普通学历,大概一本到211这样的本科水平,不举例985硕、三本这样的特例;

5、薪酬是指税前,含年终奖、股票等所有的总包,也就是按个税app里面的那个数值为准。

一、if 0 < (当前年薪) < 20w:

这个阶段一般是工龄0~3年左右程序员,而且应该不是大厂员工(因为大厂员工薪酬没那么低),所以这里就只需定一个目标:进大厂!

无论你是985还是三本,都应该趁早去大厂镀金。特别是学历不太好的,二本、三本,可能比重点本科的道路稍微曲折一点。

学历不好的先得找个二、三线公司作为跳板,再冲击大厂,而且这种通过大厂镀金的手段,比高考更加有容错性。

高考只有一次,而冲击大厂的机会,可以一年N次。通过大厂的背景,把不太好的学历背景盖掉,越是学历不好,越得进大厂"洗底"。

最后,以阿里、腾讯为目标,它们在北上广深杭成都有设点,全国覆盖度最大。尽早争取拿到阿里P6、腾讯2.3这样的职级,正常的年薪范围应该30~40万左右,达到了翻倍目的。

二、if 20w < (当前年薪) < 45w :

这个阶段应该是互联网程序员中最大的群体,以阿里职级对标就是P6水平,如果在中小公司有着不同的职级体系,大多数都是工作35年左右的熟手技工,也有不少工作5-10年但依然卡在这个职级的。

如果此时已经在大厂的,建议努力争取到好的项目,跟好领导,晋升到P7、T3.1等对应级别,不然光靠跳槽是很难有职级成长的。

如果在小厂的话,如果有机会成长为技术经理、架构师等对应水平的话,可以继续待着深造否则,还是建议瞄准大厂,大厂有较好的技术线成长空间,就算是只做技术都有较大的薪酬成长空间,而小公司,可能只有少量管理岗有薪酬成长。

三、if 45w < (当前年薪) < 100w :

这个阶段一般是程序员工作 5-10年后的职业发展分水岭,在大厂职级体系对标P7、T3.1~3.2等水平,而在小厂的是技术经理、架构师级别的资深员工。

阿里P7是互联网圈的硬通货,薪酬水平的分水岭,每天各大匿名社区都在讨论P7薪酬。

为了和阿里对标,其他大厂、中厂、小厂,都要被迫地把薪酬尽量跟上这个水平。即便绝对值可能会低于阿里同级别员工,但是在其他福利、成就感方面也要有匹配地提升。

另外,这个阶段也会慢慢产生一些问题:

  • 走管理线还是技术线?
  • 大厂螺丝钉还是小厂leader?

这样的选择问题,而且在薪酬上进行翻倍也是比较难的。

有部分人可能会尝试选择小创业公司希望通过上市暴富,也有人会选择留在大厂通过扩大技术社区影响力来提升到下一个职级等等,总的一句就是他们要不断地尝试做出符合下一个职级水平的对应技术项目或产品。

四、if (当前年薪) > 100w :

这个薪酬水平大概是阿里P7+8、腾讯T3.2T3.3这样的大公司资深骨干员工,或者小公司的总监级管理者的待遇了。

如果需要翻倍,比如挑战阿里P9,或者腾讯T4这样的级别,那么就要在以下方面努力:能力、担当、视野、大局观、向上管理等等。

我还没到这个阶段,还是不多发言了。

五、已经有大厂背景而且到了职业瓶颈

比如在大厂做到了总监或经理下面的最高位置,但是又没有管理或者架构师岗位能满足我们的职业诉求,那就要开始广泛留意互联网最新的发展趋势和风投资本走向。

每隔几年就有几家新的业务模式起来,伴随而来的是若干家快速起飞的公司,比如从门户网站四巨头 --- BAT --- TMD --- 拼多多、虾皮、快手 等等这样的发展趋势。

技术人员在怎样的情况下成长最快?是听了一场infoQ技术分享还是读完了一本技术书?都不是,而是能跟得上一个高速发展的业务项目。

什么才是高速发展的业务项目呢?回头看看,2G打开了了移动互联网天下,3G带来了即时通信,诞生了QQ、微信等巨头,4G带来了短视频兴起,字节跳动等公司迅速崛起。可以说2 3 4G的出现促成了移动互联网的10年繁荣。而未来,5G也会促成至少10年音视频行业的繁荣!

所以,做音视频研发的前景是非常广阔的,对于很早就看出音视频前景的同学来说,已经开始通过各种渠道搜集相关的学习资料,及早的投入到了音视频研发当中。

作为Android开发者的我们到底应不应该上音视频这条船?

从未来的大趋势来看,随着5G的普及,音视频慢慢变成人们日常生活中的必需品。除了在线教育、音视频会议、即时通讯这些必须使用音视频技术的产品外,其它的产品也需要加入音频、视频元素。

随着音视频技术的普及,更加有创意的产品会如雨后春笋般孕育而生。目前,音视频技术从之前的“象牙塔”逐渐走向“百姓家”已是不争的事实。

正是因为这样一个大的趋势,现在除了各大厂之外,其它一些小厂也开始寻找音视频人才。一名稍好点的音视频人才现在可能会有好几家家公司抢着要、争着要。对音视频人才的需求从小众变成了大众,这更多的是大家对未来市场预期的结果。

各大厂为了争夺未来,抢占先机,不惜重金笼络人才。通过招聘市场我们可以了解到,一名合格的音视频开发人员,少则 30 万起,多则年薪可达百万以上

出现这种情况的原因主要有两个:

  • 音视频方面的人才不好培养,
  • 现有的优秀人才太少了。

而且随着时间的推移,在未来几年音视频人才会更加受欢迎。

那么,我们该如何学习音视频呢?

初级入门篇:

一、绘制图片

1. ImageView 绘制图片

2. SurfaceView 绘制图片

3. 自定义 View 绘制图片

二、AudioRecord API详解

三、使用 AudioRecord 实现录音,并生成wav

  • 创建一个AudioRecord对象
  • 初始化一个buffer
  • 开始录音
  • 创建一个数据流,一边从AudioRecord中读取声音数据到初始化的buffer,一边将buffer中数据导入数据流。
  • 关闭数据流
  • 停止录音

四、用 AudioTrack 播放PCM音频

1.AudioTrack 基本使用

  • MODE_STATIC模式
  • MODE_STREAM模式

2.AudioTrack 详解

  • 音频流的类型
  • Buffer分配和Frame的概念
  • AudioTrack构造过程

3. AudioTrack 与 MediaPlayer 的对比

  • 区别
  • 联系
  • SoundPool

五、使用 Camera API 采集视频数据

1.预览 Camera 数据

2.取到 NV21 的数据回调

六、使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件

1.MediaExtractor API介绍

2.MediaMuxer API介绍

3.使用情境

七. MediaCodec API 详解

1.MediaCodec 介绍

2.MediaCodec API 说明

3.MediaCodec 流控

  • 流控基本概念
  • Android 硬编码流控
  • Android 流控策略选择

由于文章篇幅受限,剩余内容过多,文中插图有限,下文只能截图目录展示:

中级进阶篇:

  • Android OpenGL ES 开发(一): OpenGL ES 介绍
  • Android OpenGL ES 开发(二): OpenGL ES 环境搭建
  • Android OpenGL ES 开发(三): OpenGL ES 定义形状
  • Android OpenGL ES 开发(四): OpenGL ES 绘制形状
  • Android OpenGL ES 开发(五): OpenGL ES 使用投影和相机视图
  • Android OpenGL ES 开发(六): OpenGL ES 添加运动效果
  • Android OpenGL ES 开发(七): OpenGL ES 响应触摸事件
  • Android OpenGL ES 开发(八): OpenGL ES 着色器语言GLSL
  • Android OpenGL ES 开发(九): OpenGL ES 纹理贴图
  • Android OpenGL ES 开发(十): 通过GLES20与着色器交互
  • 使用 OpenGL 显示一张图片
  • GLSurfaceviw 绘制 Camera 预览画面及实现拍照
  • 使用OpenGL ES 完成视频的录制,并实现视频水印效果

高级探究篇:

  • 深入学习音视频编码,如H.264,AAC,研究使用开源编解码库,如x.264,JM 等
  • 深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4
  • 深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
  • 将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器
  • 将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能
  • 将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能

音视频编解码技术

  • 音视频编解码技术(一):MPEG-4/H.264 AVC 编解码标准
  • 音视频编解码技术(二):AAC 音频编码技术

流媒体协议

  • 流媒体协议(一):HLS 协议
  • 流媒体协议(二):RTMP协议

多媒体文件格式

  • 多媒体文件格式(一):MP4 格式
  • 多媒体文件格式(二):FLV 格式
  • 多媒体文件格式(三):M3U8 格式
  • 多媒体文件格式(四):TS 格式
  • 多媒体文件格式(五):PCM / WAV 格式

FFmpeg 学习记录

  • FFmpeg命令行工具学习(一):查看媒体文件头信息工具ffprobe
  • FFmpeg命令行工具学习(二):播放媒体文件的工具ffplay
  • FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg
  • FFmpeg命令行工具学习(四):FFmpeg 采集设备
  • FFmpeg命令行工具学习(五):FFmpeg 调整音视频播放速度

  • FFmpeg 学习(一):FFmpeg 简介
  • FFmpeg 学习(二):Mac下安装FFmpeg
  • FFmpeg 学习(三):将 FFmpeg 移植到 Android平台
  • FFmpeg 学习(四):FFmpeg API 介绍与通用 API 分析
  • FFmpeg 学习(五):FFmpeg 编解码 API 分析
  • FFmpeg 学习(六):FFmpeg 核心模块 libavformat 与 libavcodec 分析

  • FFmpeg 结构体学习(一): AVFormatContext 分析
  • FFmpeg 结构体学习(二): AVStream 分析
  • FFmpeg 结构体学习(三): AVPacket 分析
  • FFmpeg 结构体学习(四): AVFrame 分析
  • FFmpeg 结构体学习(五): AVCodec 分析
  • FFmpeg 结构体学习(六): AVCodecContext 分析
  • FFmpeg 结构体学习(七): AVIOContext 分析
  • FFmpeg 结构体学习(八):FFMPEG中重要结构体之间的关系

总结:以上就是关于音视频的资料最强整理和概括了(还有部分内容没有截图出来),相信应该是全网最全了,所有资料都是免费分享给大家的,也省去了对音视频感兴趣的小伙伴们四处找资料的时间,动动手指点击此处就可直达免费领取方式了。

音视频开发的前景,相信大家从相关的招聘网站上就可以看到,不管是流媒体开发还是音视频处理开发,都是大量招人的,并且由于入门门槛相对较高,学习周期长,薪资也是居高不下。

另外:小编还收集整理一些音视频相关配套视频,相信能使大家学习起来更加快速有效:

Android架构师之路很漫长, 一起共勉吧!学习之路犹如逆水行舟,不进则退,如果你松懈了, 那么你就退步了,而在Android开发工作中没有一门吃香独特的技术,想拿高薪也只能是望尘莫及的。做个勤奋向上的人,加紧学习,抓住中心,宁精勿杂,宁专勿多。

如果你正好需要这份完整版Android音视频开发,只需你多多支持我这篇文章。

快速入手通道:(点这里)下载!诚意满满!!!

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

加油吧骚年。有机会的 不要害怕悲观,闭着眼向前冲!

Android达到什么水平才能顺利拿到 20k 无压力?的更多相关文章

  1. 程序员需要达到什么水平才能顺利拿到 20k 无压力?

        程序员要拿到20k,应该达到什么水平? 1 熟悉增删改查技能,熟悉项目开发相关流程和技能. 2 能解决基本问题,分布式或比较深的问题,太难的不会不要紧,但常规的应该有项目经验. 3 简历好看些 ...

  2. Android RecyclerViewSwipeDismiss:水平、垂直方向的拖曳删除item

     Android RecyclerViewSwipeDismiss:水平.垂直方向的拖曳删除item RecyclerViewSwipeDismiss是一种支持RecyclerView的水平.垂直 ...

  3. 技术学到多厉害,才能顺利进入BAT?

    简介 本科的时候对 Linux 特别感兴趣,心中向往成为一名运维工程师,就开始没日没夜的看相关的书籍,到了大约2013年前后的时候发现 DevOps 开始流行起来了,就开始学习 Python 希望成为 ...

  4. android 设置TextView水平滚动和解决首行缩进问题

    android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMod ...

  5. android 自己定义水平和圆形progressbar 仅仅定义一些style就能够

    效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/diss ...

  6. 关于 android 开发中 debug不能顺利进行的各种问题的总结

    最后一条应该写反了,如果combined hover  取消勾选的话   那么 在写代码时候的悬浮提示就没有了

  7. 【转】android UI设计的一些心得与问题解决(无效果图)

    1.把Button或者ImageButton的背景设为透明或者半透明: 半透明<Buttonandroid:background="#e0000000" ... /> ...

  8. Android开发之按键、触摸屏和手势输入专业压力測试方法

    按键输入.触摸屏输入和手势笔画输入等功能是Android开发的基本功能.其稳定性和健壮性对移动应用系统开发很重要.按键.触摸屏和手势输入专业压力測试方法能够使用Monkey,相应用程序进行压力測试,检 ...

  9. Android 简历 怎么写? 月薪10K,20K+, 怎么拿到面试?

    估计不少找Android工作的,技术还可以,就是投简历,没有面试通知.很有可能是简历的问题. 那么我这里有一些简历,可以参考. 其中也有我的, 月薪20K+的哦,  参考一下,会有你的面试的. 额, ...

随机推荐

  1. golang变量与常量

    变量 变量 在程序运行中可以改变的量 枚举 var ( a3 = 1 a4 = 2 ) golang不同类型变量不能替换 func main() { var a int = 10 a = 20 a = ...

  2. uni-app中组件picker的基本使用(日期选择器为例)

    例:需要在下图"自定义日期"中使用日期选择器 <template> <div> <picker mode="date" @chan ...

  3. Linux:阿里云设置安全组开放对应端口过程

    手动添加后 保存就可以了.

  4. 调整/home和/root空间容量

    转载请注明出处:http://www.cnblogs.com/gaojiang/p/6767043.html 1.查看磁盘情况:df -h 2.卸载/homeumount /home umount / ...

  5. openjudge走迷宫(DFS)

    题目: 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走. 给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到).只能在水平方向或垂直方向走,不 ...

  6. Vue3 + TypeScript 开发实践总结

    前言 迟来的Vue3文章,其实早在今年3月份时就把Vue3过了一遍.在去年年末又把 TypeScript 重新学了一遍,为了上 Vue3 的车,更好的开车.在上家公司4月份时,上级领导分配了一个内部的 ...

  7. ftp错误&&详解方案

    一.FTP错误代码列表150 文件状态良好,打开数据连接 200 命令成功 202 命令未实现 211 系统状态或系统帮助响应 212 目录状态 213 文件状态 214 帮助信息,信息仅对人类用户有 ...

  8. PID算法控制直流电机笔记

    1.将偏差的比例.积分和微分通过线性组合构成控制量,用这一控制量对被控对象进行控制,这样的控制器称为PID控制器.简单说就是根据系统的误差,利用比例.积分.微分计算出控制量进行控制. 2.为什么需要P ...

  9. python使用笔记16--操作redis

    操作redis应先引入第三方模块 执行以下命令 pip install redis 1.redis常用方法 1 import redis 2 #decode_responses=True将bytes转 ...

  10. python 遍历字典中的键和值

    #遍历字典中的所有键和值 zd1={"姓名":"张三","年龄":20,"性别":"女"} zd2= ...