一、程序员分为哪几个方向
随着编程技术在各方面的应用,传统程序员的工作逐渐多样化,衍生出来了很多方面。
一般来说程序员分为 前端、移动开发、后端、测试、运维、数据、硬件、通信、人工智能。
在技术层面这几个类别可以按照下面的方式一句话介绍:
前端/移动开发 一般指可视的用户界面,例如一个网站的页面、手机APP客户端、移动设备电视之类的界面等,制作这些页面的工程师被称为 前端工程师/移动开发工程师。
后端 一般指处理逻辑、数据交互这一方向,例如在一个站点中,后端工程师指在服务器编写业务逻辑代码的这部分人,一个网站若需要有 登录/注册 功能,单独有一个前端页面是无法完成的,必须有后端将用户输入的帐号密码拿去数据验证,而这一动作需要代码编写在服务器上,则编写这一部分代码的人就是 后端工程师。
测试 在一个产品的开发中,测试工程师 对产品进行测试,找到其中问题,帮助产品迭代、完善。测试工程师 包括硬件测试、渗透测试、自动化测试。而 自动化测试工程师 需要通过编写代码完成工作。
运维 一般是指 数据库管理员DBA(database administrator)、系统管理员、网络工程师、自动化运维工程师 等。一般这一部分人员是对系统进行管理,数据库管理员DBA 与 自动化运维工程师 则是通过编写代码完成工作。
数据/人工智能 数据一般跟程序员相关的一般指 数据分析师、数据挖掘,而基础数据又与 人工智能 相关,这3个职业一般以分析数据、挖掘数据、处理数据为主。
硬件/通信 硬件与通信方向两者关联也十分密切,硬件包括 嵌入式工程师(硬件单片机开发)、驱动开发 等,通信方向作者不是很熟在此就不过多介绍,但两个方向部分职业均需要代码参与。