手机、汽车、甚至宇宙飞船,在今天的科技世界中,你几乎到处都能看到 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. Spring官网阅读(七)容器的扩展点(二)FactoryBean

    在上篇文章中我们已经对容器的第一个扩展点(BeanFactoryPostProcessor)做了一系列的介绍.其中主要介绍了Spring容器中BeanFactoryPostProcessor的执行流程 ...

  2. 201771010113 李婷华 《面向对象程序设计(java)》

    一.理论知识部分 设计模式(Design pattern)是设计者一种流行的思考设计问题的方法,是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结.使用设计模式是为了可重用代码.让代码 ...

  3. 【Linux基础总结】Linux基本环境

    Linux基本环境 对Linux的基础认识 虚拟机进入终端: [root@hadoop-senior Desktop] # 用户名 主机名 所在目录名称 #:表示当前用户属于root用户,超级管理员用 ...

  4. 【Hadoop离线基础总结】MapReduce倒排索引建立

    MapReduce倒排索引建立 求某些单词在文章中出现多少次 有三个文档的内容,求hello,tom,jerry三个单词在其中各出现多少次 hello tom hello jerry hello to ...

  5. vue-cli中浏览器图标的配置

    在VUE全家桶项目里面,这里给大家提供了2种方案,进行浏览器图标的配置. a):先把图片准备好,放在static文件夹下,再找到根目录下的index.html文件,并打开,在HTML文档的<he ...

  6. 广义Fibonacci数列模n的循环节

    见这里:http://blog.csdn.net/ACdreamers/article/details/25616461 有详细的分析推理 只找出了循环节的上限,设 f[n] = (af[n - 1] ...

  7. Python3+Pycharm+PyQt5环境搭建步骤

    搭建环境: 操作系统:Win10 64bit Python版本:3.7 Pycharm:社区免费版 一.Python3.7安装 下载链接:官网 https://www.python.org/downl ...

  8. Nuget一键打包上传以及高级应用

    Nuget是什么不用多说,大家应该也没少用过Nuget, 不少人也应该使用过工具打Nuget包,接下来先一步步说明如何使用脚本完成Nuget一键打包 Nuget一键打包 配置Nuget环境 下载地址: ...

  9. 集群、分布式、SOA、微服务、webService等思想的整理

    引子:前几天甲方问我,他用wpf弄个界面,能不能通过其他语言给他传输数据,我由此想到了webservice(此时此刻,我也没有用过webServices),作日翻阅了一些资料,对这块技术有了个大概的了 ...

  10. 前端面试题-WebSocket的实现和应用

    (1)什么是WebSocket? WebSocket是HTML5中的协议,支持持久连续,http协议不支持持久性连接.Http1.0和HTTP1.1都不支持持久性的链接,HTTP1.1中的keep-a ...