手机、汽车、甚至宇宙飞船,在今天的科技世界中,你几乎到处都能看到 Linux 的身影。前两天 SpaceX 成功将宇航员送入太空的猎鹰9号火箭与龙飞船用的也是 Linux的操作系统。身处与 Linux 相关行业的同学还是非常幸运的,行业前景光明、人才需求量大、薪资待遇也水涨船高。当然我们做 Linux 系统维护与开发的同学也是非常辛苦的,正在忙着写命令或者敲代码的同学可以把手中的工作先放一下,和我一起对 Linux 的职业发展前景做一个展望吧。

Linux 的几大职业发展方向

按照工作内容,和 Linux 相关的工作主要有以下几个方向:系统运维、应用开发、嵌入式开发、和底层开发。各个方向的工作内容、任职要求、和薪资水平差异都比较大。这里提供的是比较通用的信息,具体的岗位信息和待遇各个公司的情况肯定会有所不同,这里仅供大家参考。

1、系统运维工程师

1)工作职责:主要负责日常 Linux 系统的搭建、部署与运维,排查系统问题、解决系统故障等。系统运维工程师最主要的工作就是保障服务器系统能够正常运行,这里边的系统不单单指 Linux,还包括数据库、Web应用、电子邮件应用、网络应用、J2EE等等。

2)任职要求:能够熟练掌握 Linux 系统,比如磁盘管理、文件系统管理、权限管理等。熟悉网络,比如 HTTP、TCP/IP 协议、路由、防火墙等。熟练掌握常用软件的安装,比如Nginx、Memcached、Tomcat、Redis等。了解集群、高可用的架构。会写Shell及Python脚本。初入职场的同学也可以考虑考一个红帽 RHCE 的认证。

3)薪资待遇:一、二线城市,工作 5-10 年的经验,大概是 16-48 万年薪。

2、应用软件开发工程师

1)工作职责:主要负责公司产品设计、框架制定与研发等。和运维工作相比,对 Linux 系统的要求没有那么高,主要侧重于代码和产品架构。运维工程师需要为软件工程师提供一个可靠的开发、测试和生产环境。Linux系统上的软件开发有很多种,使用的编程语言包括 Java、Python、C++、SQL等(《2020年你最需要掌握的11种编程语言》),按应用类别又可分为企业服务应用、大数据应用、桌面应用等等。

2)任职要求:精通某种编程语言,有开发经验,熟悉 Linux 环境,懂设计模式,熟悉常用的开发框架,了解数据库,能熟练使用应用服务。

3)薪资待遇:一、二线城市,工作 5-10 年的经验,大概是 12-36 万年薪。

3、Linux嵌入式开发工程师

1)工作职责:主要也是负责产品设计、制定框架、和产品代码编写等工作,但主要应用在嵌入式的产品中,比如本文开头提到的手机、汽车、甚至飞船,这里边应用到的都是嵌入式的Linux系统。

2)任职要求:熟悉 Linux 的 API,比如 IO 操作、进程间通讯、网络通讯等等。精通 Linux内核的配置与编译,精通 C/C++,熟悉主流的嵌入式开发平台,比如 UCOS、FreeRTOS等。

3)薪资待遇:一、二线城市,工作 5-10 年的经验,大概是 18-46 万年薪。

4、Linux底层开发工程师

1)工作职责:主要包括 Linux 系统内核以及驱动的开发。岗位难度系数高,但是薪资待遇通常比较好。另外岗位需求量较少,一般大型的硬件企业比如芯片制造商才会有这个岗位。

2)任职要求:对 Linux 内核源码非常熟悉,精通 C 语言(Linux 内核是用 C 语言编写的 《Linux,Unix,GNU 到底有什么样的渊源?》),精通驱动的开发/移植,懂基本的电路原理与设计。

最后

通过上面的介绍希望大家都能对自己的职业发展有一个比较清楚的规划,欠缺的知识和技术可以想办法去补足。薪资水平只作为参考,每个人的从业时间长短,和具体岗位的不同对薪资水平的影响都会比较大。关于技术岗位再给几点建议:在某个领域要做深做精,争取成为这个领域的专家;在大的平台、大公司还是可以学到更全面的知识和更新的技术;要多学习、多实践、多尝试新的技术,这样才能慢慢走到别人的前面。

推荐阅读:

《2020年你最需要掌握的11种编程语言》

《微软:悬赏10万美金破解 Linux 系统》

《安卓到底是不是Linux》

《在 Linux 系统中如何管理 systemd 服务》

《Linux的运行级别与目标》

《软链接 vs. 硬链接》

欢迎大家关注我的微信公众号,阅读更多文章,获取更多知识

- The End -

一篇文章看清楚 Linux 的职业发展方向的更多相关文章

  1. 一篇文章看懂JS闭包,都要2020年了,你怎么能还不懂闭包?

     壹 ❀ 引 我觉得每一位JavaScript工作者都无法避免与闭包打交道,就算在实际开发中不使用但面试中被问及也是常态了.就我而言对于闭包的理解仅止步于一些概念,看到相关代码我知道这是个闭包,但闭包 ...

  2. 一篇文章看懂angularjs component组件

     壹 ❀ 引 我在 angularjs 一篇文章看懂自定义指令directive 一文中详细介绍了directive基本用法与完整属性介绍.directive是个很神奇的存在,你可以不设置templa ...

  3. angularjs 一篇文章看懂自定义指令directive

     壹 ❀ 引 在angularjs开发中,指令的使用是无处无在的,我们习惯使用指令来拓展HTML:那么如何理解指令呢,你可以把它理解成在DOM元素上运行的函数,它可以帮助我们拓展DOM元素的功能.比如 ...

  4. 【你的职业规划】web前端的职业发展方向及学习攻略【转载】

    web前端的职业发展方向有哪些?本文献给正在迷茫中,准备入坑web前端的初学者以及知海匠库web前端培训班的准前端工程师们:   一.职业方向定位 首先,只有确定好自己的职业方向,才能做好职业规划.在 ...

  5. 一篇文章看懂spark 1.3+各版本特性

    Spark 1.6.x的新特性Spark-1.6是Spark-2.0之前的最后一个版本.主要是三个大方面的改进:性能提升,新的 Dataset API 和数据科学功能的扩展.这是社区开发非常重要的一个 ...

  6. 干货!一篇文章集合所有Linux基础命令

    1 文件{ls -rtl # 按时间倒叙列出所有目录和文件 ll -rttouch file # 创建空白文件rm -rf 目录名 # 不提示删除非空目录(-r:递归删除 -f强制)dos2unix ...

  7. 干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾!

    1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 rm -rf 目录名 # 不提示删除非空目录(-r:递归删除 -f强制) dos2u ...

  8. rabbitMQ教程(二)一篇文章看懂rabbitMQ

    一.rabbitMQ是什么: RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上. 学过websocket的来理解rabbitMQ应该是 ...

  9. 一篇文章看懂Java并发和线程安全

    一.前言 长久以来,一直想剖析一下Java线程安全的本质,但是苦于有些微观的点想不明白,便搁置了下来,前段时间慢慢想明白了,便把所有的点串联起来,趁着思路清晰,整理成这样一篇文章. 二.导读 1.为什 ...

随机推荐

  1. 软件——IDEA主题美化

    前言 IntelliJ IDEA主要用于支持 Java.Scala.Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用.移动应用和 Web 应用的开发. IntelliJ ...

  2. zookeeper(分布式协调框架)简介与集群搭建

    ZooKeeper 的由来: Zookeeper最早起源于雅虎研究院的一个研究小组.在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布 ...

  3. GitHub 热点速览 Vol.19:如何叩响大厂的门?

    作者:HelloGitHub-小鱼干 摘要:进大厂,无疑是升职加薪走上人生巅峰的一个敲门砖,那,如何拿到这个敲门砖呢?前辈的经验之谈,无疑会给我们进大厂带来许多的经验参考,本周的#大厂面试经验之谈#主 ...

  4. STM32 Cube之旅-尝试新的开发方式

    尝试使用Cube进行一些开发学习,这里对此做一个梗概,先有一个全面的了解. 文章目录 Cube全家桶 CubeMX CubeIDE CubeProg 结语 Cube全家桶 曾几何时,ST刚推出Cube ...

  5. STM32 外部中断详解(原理+配置代码)

    本文介绍了STM32基于标准外设库的外部中断配置,以及基于参考手册如何更加寄存器配置外部中断 文章目录 1 前言 2 STM32的外部中断 3 中断服务函数的映射关系 4 外部中断的配置 5 寄存器的 ...

  6. 多线程实践—Python多线程编程

    多线程实践 前面的一些文章和脚本都是只能做学习多线程的原理使用,实际上什么有用的事情也没有做.接下来进行多线程的实践,看一看在实际项目中是怎么使用多线程的. 图书排名示例 Bookrank.py: 该 ...

  7. 2020年腾讯实习生C++面试题&持续更新中(2)

    2020年腾讯实习生C++面试题&持续更新中(2) hello,大家好~ 我是好好学习天天,天天编程的天天,一个每天都死磕技术,及时分享的技术宅~ 昨天分享的题目不知道大家是否看过了,以后我计 ...

  8. spring中<context:property-placeholder/>一个坑

    <context:property-placeholder location="classpath:db.properties" ></context:prope ...

  9. C# 数据操作系列 - 8. EF Core的增删改查

    0.前言 到目前为止,我们看了一下如何声明EF Core的初步使用,也整体的看了下EF Core的映射关系配置以及导航属性的配置. 这一篇,我带大家分享一下,我在工作中需要的EF Core的用法. 1 ...

  10. 【雕爷学编程】Arduino动手做(55)--DHT11温湿度传感器

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...