学linux能干啥呢?就业方向是什么呢? | 您所在的位置:网站首页 › carplay都能干啥 › 学linux能干啥呢?就业方向是什么呢? |
对于 Linux 从业都而言,主要有三个方向: 系统运维(现在主要是云平台),应用软件开发,底层开发 方向一:运维 这应该是很多 Linux 从业者给大家的形象吧,那运维方向主要做一些什么工作? 1)是服务器环境搭建 对各种服务的配置,如FTP,DNS,NGINX,APACHE,数据库,现在流行的Docer,K8S等等 有些公司的开发环境是由开发人员自己搭建好的,成熟公司的做法是将这部分工作内容交给运维工程师,而软件工程师专注于写代码。 2)是服务器运行状态监控,从底层的硬件性能,如CPU内存硬盘占用,到上层应用API的性能。当然,还要负责系统进行升级,备份等等工作。 保证服务器正常运行是最最基本的要求。可以为软件应用,为最终客户提供稳定,持续的基础环境。 服务器一旦宕机,公司找的第一个一般是运维工程师,所以,很多运维工程师都自嘲是「背锅侠」。 方向二:应用开发 应用开发方向就要写比较多的代码了,相对而言运维工程师就不需要写很多代码。 Linux 应用开发工程师主要做一些什么工作? 简单而言,Linux 应用开发工程师主要在Linux 环境下开发各种应用程序,就如同你们在 Windows 下开发的应用程序一样(比如QQ,PC微信等)。这些应用程序有些带有界面,也有很多是不带界面的。 带界面的很多是由 QT 开发,当然也有其他的开发工具。 Linux 应用开发工程师需求量相对比较多,行业分布也比较广。方向主要有两个,一个是服务器方向,另一个是嵌入式方向。 几乎所有的科技公司都有服务器,所以在很多行业都有 Linux 应用工程师的身影。而嵌入式方向,也就是我现在的方向,就是在嵌入式平台上开发应用程序,其实道理都是一样的。 那么 Linux 应用开发工程师需要掌握什么技能? 首先肯定要熟悉 Linux 平台的 API ,包括 IO 操作,进程间通讯, Linux 环境,网络通讯,等等,推荐看 APUE 这本神书。当然还需要懂脚本语言,包括 Shell, Python ,都需要懂。还有数据库的操作,比如 MySQL,Sqlite,至少要懂一个。 对于编程语言的话,大多数情况下是使用 C/C++ 。如果你需要做界面开发,可能还需要懂 QT 。 除此之外,你还需要懂一些行业规范,这个是应用工程师的必备技能。 方向三:底层开发 底层开发工程师相对而言需求少,但是价值含量高。 通常一堆的应用开发工程师,但底层开发工程师可能就配备了一两个。为什么? 因为现在很多底层移植、适配的工作都由芯片厂商都帮你做好了,你们很多情况下只需做适配,维护就好了。 所以,底层开发工程师的一个很好去处就是芯片厂商,如果对这块有兴趣的朋友, 芯片厂商是一个很好的去处。 当然底层开发工程师不仅仅做维护了,也是会根据公司的业务需求做一些定制。除此之外,还会做驱动开发的工作。 那底层开发工程师需要掌握什么技能? 虽然说移植之类的工作现在很多都由芯片厂商完成,但uboot,文件系统,内核这类的移植技能肯定要掌握。然后,驱动开发也肯定要会,因为这部分工作的份量还是不少的。 而在做底层开发工作时,还有一个重要的技能,就是芯片手册的查看。如果你不会查看芯片手册,那后面的移植啊,驱动开发之类的工作都无从谈起。 有些公司可能还会对内核进行裁剪定制,那么,就需要对内核源码比较了解了,这部分要求就相对比较高了。 所以,Linux 从业都三个主要方向的工作内容都不一样,所需的技能也不同。一般我们是选择其中一个方向,进行深入研究,有精力时再去学习其它方向,拓宽技术广度。 |
CopyRight 2018-2019 实验室设备网 版权所有 |