程序员入门

249 阅读3分钟

「时光不负,创作不停,本文正在参加2022年中总结征文大赛」 一、程序员分为哪几个方向

随着编程技术在各方面的应用,传统程序员的工作逐渐多样化,衍生出来了很多方面。

一般来说程序员分为 前端、移动开发、后端、测试、运维、数据、硬件、通信、人工智能。

在技术层面这几个类别可以按照下面的方式一句话介绍:

前端/移动开发 一般指可视的用户界面,例如一个网站的页面、手机APP客户端、移动设备电视之类的界面等,制作这些页面的工程师被称为 前端工程师/移动开发工程师。

后端 一般指处理逻辑、数据交互这一方向,例如在一个站点中,后端工程师指在服务器编写业务逻辑代码的这部分人,一个网站若需要有 登录/注册 功能,单独有一个前端页面是无法完成的,必须有后端将用户输入的帐号密码拿去数据验证,而这一动作需要代码编写在服务器上,则编写这一部分代码的人就是 后端工程师。

测试 在一个产品的开发中,测试工程师 对产品进行测试,找到其中问题,帮助产品迭代、完善。测试工程师 包括硬件测试、渗透测试、自动化测试。而 自动化测试工程师 需要通过编写代码完成工作。

运维 一般是指 数据库管理员DBA(database administrator)、系统管理员、网络工程师、自动化运维工程师 等。一般这一部分人员是对系统进行管理,数据库管理员DBA 与 自动化运维工程师 则是通过编写代码完成工作。 数据/人工智能 数据一般跟程序员相关的一般指 数据分析师、数据挖掘,而基础数据又与 人工智能 相关,这3个职业一般以分析数据、挖掘数据、处理数据为主。

硬件/通信 硬件与通信方向两者关联也十分密切,硬件包括 嵌入式工程师(硬件单片机开发)、驱动开发 等,通信方向作者不是很熟在此就不过多介绍,但两个方向部分职业均需要代码参与。

二、这些方向包含哪些具体职业方向

以下职业从招聘网站统计(非所有方向)的大部分程序员对应方向。

前端/移动开发: HTML5、Web前端、JavaScript前端 、安卓、IOS、移动端开发、unity3D、CoCos2DX

后端: Java、C++、.Net、Perl、PHP、C#、Python、C语言、视频\图形开发、Golang、Node.js、GIS工程师、Delphi

测试: 测试开发、自动化测试、渗透测试

运维: 自动化运维工程师、DBA

数据/人工智能: 数据挖掘、数据分析师、算法工程师、图像识别、人工智能、智能驾驶、深度学习、语言识别、自然语言处理

硬件/通信: 嵌入式工程师、驱动开发 是不是觉得现在一头雾水,如何对应职位走好第一步呢?到底最开始该学啥呢?