互联网行业的职业分类

  • 对学习资源充满渴望的大学生可申请免费试读 ~

  • 作者:哈哥撩编程(视频号、抖音、公众号同名)
    • 新星计划·全栈领域优秀创作者
    • 博客专家·全国博客之星第四名
    • 超级个体·COC上海社区主理人
    • 特约讲师·谷歌亚马逊演讲嘉宾
    • 科技博主·极星会首批签约作者

  • 🏆 推荐专栏:
    • 🏅 程序员:职场效能必修课
    • 🏅 Python全栈白宝书
    • 🏅 ChatGPT实践指南白宝书
    • 🏅 产品思维训练白宝书
    • 🏅 全域运营实战白宝书
    • 🏅 大前端全栈架构白宝书

文章目录

  • 设计阶段
  • 开发阶段
  • 测试阶段
  • 上线阶段
  • 维护阶段

相信很多小伙伴也确实都不知道互联网行业的技术侧的岗位具体都有哪些,了解一下每个岗位的大概工作内容和岗位职责,在后续的章节里,会针对每一个职业、岗位进行详细的介绍。

首先,我们来先了解一下软件开发的整体的一个生命周期,然后再根据这个周期内每一个阶段出现的不同角色再加以阐述或者补充。比较统一的一个项目开发流程,分别是 “设计阶段”、“开发阶段”、“测试阶段”、“上线阶段” 以及 “维护阶段”,除了 “维护阶段” 需要为非功能性的需求提供一定的技术支持之外,基本上技术岗的开发小伙伴不会再出现了,除非是增加了新的需求进行版本迭代。这些呢,基本上是一个标准化的产品开发流程。

设计阶段

  • 项目经理
    • 在需求开始沟通与项目立项的阶段,是由项目经理与乙方进行初步的接触与沟通,这里的乙方可以是内部的需求方,也可以是外部的需求方。
    • 根据乙方提出的目标和功能,梳理出适合的、对应的开发模式,提供给客户一份《产品功能需求逻辑图》,并给出初步计算得出的时间、人力、物力成本。
    • 这个阶段的主要产出就是确定产品的功能需求逻辑,以及初步的人物力成本。在确认了功能需求、时间、资源等方面没有问题之后,会针对细节与乙方进行进一步的沟通。如果乙方来自外部的话,还会签订合同,约定首付款、尾项,项目正式启动时间,以及后续的周期汇报等工作。

所以这里我们就可以看出,项目经理主要是负责规划、启动和执行IT项目的主要负责人。他是充当技术团队与需求方之间一个桥接作用的角色,帮助双方去互相的了解,解决项目中一些潜在的风险与障碍,也为如何完成好需求方的项目制定一个整体的项目计划,并对整体项目最后的时间期限和预算成本负责。

所以,项目经理一般需要比较强的技术支持、组织协调、规划的能力,还需要解决问题的沟通技巧,所以在项目管理这一领域发挥着比较重要且独特的一个作用。

  • 产品经理
    • 产品经理是互联网公司的一个非技术岗的职位,主要负责需求方案的提出以及产品运营策略建议,是产品的整个生命周期的负责人。
    • 在项目的开发工作正式开始之前,是由产品经理负责设计原型图,采用Axure(Ack-sure)、Figma(国内俗称为肥姑妈)或者墨刀等设计工具设计,根据功能需求列表,绘制页面框架线稿图。
    • 产品经理的工作包含有需求的收集与分析、竞品的分析、需求的落地、项目进度的跟踪、项目的上线、上线后的验收与数据跟踪,甚至还需要负责产品手册的撰写与业务人员的培训,后续还需要协助运营、销售、客服展开工作,继续收集来自运营、销售、客服人员的反馈,继续研究用户的需求与需求落地的可实施性,周而复始的进行迭代。

需要说明一点的是,产品经理这一角色的诞生已经将近一百年了,这个角色在各行各业都得到了应用和推广,并且也都取得了广泛的成功。如果仅仅是将 “产品经理” 当作是互联网行业特有的职业,这可就大错特错了,严格来说,是产品经理这个职业适应了互联网,而不是互联网造就了产品经理,这一点一定要清楚。

实际上,产品经理这个职位它是一个很笼统的概念,就像我们程序员可以分为前端、后端、移动端开发,然后根据开发语言再细分为java开发、前端开发、安卓开发、Python开发、爬虫开发等等,产品经理也可以细分为许多不同种类。比如说根据用户类型可以简单粗暴的分为ToB或者ToC,按照行业也可以分为金融支付产品经理、电商产品经理、社交产品经理、在线教育产品经理等等,根据工作内容全能型产品经理技术型产品经理运营型产品经理数据型与业务型产品经理等等。

虽然职位分工不同,但是殊途同归,主要的技能要求可以从调研、设计、协调、周期管理几个方向概括,细分到不同类型的产品经理,他们的侧重点不一样,再延伸一些软性技能要求的话,比如数据分析、沟通技巧、团队管理等等,都属于必备的技能之一。

  • UI/UE设计
    • 通常情况下,当产品经理的原型图设计完成后,交由设计师绘制UI界面,会给出高保真的界面设计图。后续的开发工作所使用的一些前端素材,也是由产品经理给出之后,设计完成的。包括色系、字体、字号的一些设定,在大厂的一些比较严格的动作下,甚至标点符号都不能错。
    • 与产品经理一样,设计这个岗位呢也是一个非技术岗的职位,但是严格意义上来说区别于程序员的技术岗位,所以这里我们简述一下,大家有所了解就好了。
  • 架构/数据库设计
    • 架构与数据库的设计工作一般情况下是与界面设计同步进行的,像是整体的系统分层架构、根据功能需求列表设计数据库模型,设计表的关联关系等工作,通常都是由架构师、技术经理来完成的。
    • 考虑到后续的再次扩展功能的情况,这种设计在初期阶段也会留出比较大的操作空间,防止在后续开发过程中遇到改动较大、增加开发成本的情况出现。就好比是大家在工作以后经常听到的一句话,这个功能千万别写死了,后面肯能要改、或者进行扩展。

在设计阶段的产出主要是项目经理与甲方敲定的需求确认意向,以及研发的周期,如果这个乙方是来自外部的话,还需要签订合同。在收集到用户的需求之后,由产品经理交付原型设计文档,设计师完成设计图,架构/数据库设计完成数据库与产品功能逻辑的设计图。

开发阶段

  • 前端开发、后端开发、全栈开发
    • 在软件架构与程序设计的领域,通常会划分为前端与后端。
    • 前端主要是与用户交互的部分,后端则针对信息进行处理,控制软件的输出,将输出的结果交付至前端展示给用户。
    • 所以前后端的划分,是将软件系统不同功能的部分进行了一个分离。

现在一些WEB项目的开发,需要用到很多种技术,每一种技术都有自己各自擅长的领域。随着javascript、node.js、Serverless等等技术的兴起,前端与后端之间的界限也就越来越模糊,也就衍生出了 “全栈” 这样的一个概念。

全栈开发者在技术团队中承担的角色是既能够承担前端的任务,也能够承担后端的任务,拥有能有独立开发一个WEB产品的所有的技能,这种复合型人才的崛起,在最近几年也逐渐的被中小企业所青睐。

  • 移动端开发
    • 移动端的开发也催生了很多移动开发的技术,比如大家耳熟能详的安卓、IOS,包括现在的鸿蒙开发等技术,这些都是移动开发。
  • 大数据开发、算法
    • 在大数据还没有兴起的时候,前后端开发、移动开发基本上就是开发的代名词。但是随着技术的发展,在产品开发过程中,大数据与人工智能化的发展,对于数据开发、算法工程的应用也催生了大量的算法、数据岗位的需求。
    • 大数据开发呢,主要是负责大数据平台的建设,包括但不限于数据的清洗、加工、处理等等;
    • 算法工程师主要是训练应用算法、制作模型,然后应用到实际的业务中去。

这些呢就是开发阶段,主要有的几个工作分类。目前主流的开发方式是,前后端分离的开发模式,优点是效率高,也比较容易扩展。前端开发工程师负责根据原型设计图及UI设计图开始编写前端代码,用代码实现设计图中的功能界面,交互,动效等等内容;后端开发工程师负责根据原型设计图、UI设计图,数据库文档编写后端代码,用代码实现业务逻辑接口,如请求参数,请求方法,数据库持久化,数据返回等等内容。

因为是前后端分离的开发模式,前端和后端人员可以分别或者同时开发,互不影响,等到双方都写好功能以后,就可以进行联调了,根据后端开发编写的请求接口文档,前端开始进行代码功能对接,并在这个过程中不断修改和优化接口代码。在这一阶段比较重要的产出物就是 “API接口文档”。

测试阶段

  • 软件测试
    • 研发阶段结束之后就进入到了测试阶段,这个阶段测试工程师会利用功能测试、性能测试、自动化测试等手段来保障软件系统的质量,在整个软件研发周期扮演的是QA的角色。
    • 所以测试工程师其实是贯穿了软硬件开发生命周期各个环节的,目的就是为了确保软件的正确、完整、安全和质量。
    • 其实严格来说,测试工程师的工作并不是等待开发工程师任务结束之后才展开的。在产品经理整理、清洗需求的时候就可以介入的,针对需求设计出合格的测试用例,包括但不限于正例与反例,甚至与在初期阶段辅助产品经理针对不合理、有问题的需求作出调整。

测试工程师在这一阶段的主要工作与产出,就是验证软件功能的正确与完整,收集整理测试未通过的需求与功能反馈给开发人员进行调整,开发人员修改代码提交测试,测试通过会在测试结果报告中打钩确认,输出一份测试通过的软件测试报告,开始准备上线的工作。

上线阶段

上限阶段就是将系统部署到正式环境,开始正常运行,在这个阶段需要产品经理执行对应的验收动作。不仅是产品经理进行验收,开发人员与测试工程师也会对线上的业务进行验证,以确保正式环境与测试环境的验收结果是一致的。如果在这一阶段,又发现存在一些未发现、影响了用户使用,或者是之前已经发现修复,又重新出现的影响用户体验的问题,都需要紧急修复。但是同时,这种在线上出现的问题,也被称之为 “生产事故” ,一般稍微有些规模的公司,都会有对应的处罚机制,包括但不限于绩效评级降级,KPI考核减分,扣发奖金等等。

所以,有的时候,一些大公司的产品在上线之前会有一个试运营或者是灰度测试的阶段,就是新的功能只针对少部分用户开放,在这样的场景下去收集来自用户的第一手反馈,从而降低自己正式上线后的风险。

维护阶段

这个阶段基本上算是大功告成了,出了产品经理需要协助运营、销售、客服展开工作,继续收集反馈进行迭代之外。最大的工作量,其实都在了运维工程师这边。

  • 运维工程师
    • 运维的最基本工作职责,就是负责公司运行业务的稳定性,以确保正式上线的产品能够 7*24 不间断的为用户提供服务。
    • 这些稳定性的工作包括但不限于仅仅是服务用户,也包括了为兄弟部门提供软硬件的技术支持,也包括了负责公司的网络安全,机房服务器等基础设施的管理和分配。
    • 最能够体现运维工作的一句话就是 不是在机房,就是在去机房的路上
  • 运营
    • 除了运维之外,运营这个岗位也是维护阶段非常重要的一环,当然了,一般的企业也大都没有将 “运营” 归类为技术岗位,所以这里也就简单介绍一下就好。
    • 运营的主要职责包括了 制定运营政策、管理日常的运营活动、对活动的物资和人力物资制定计划和管理,这是运营所需要做的核心的一些事情。
    • 除此之外,运营的岗位其实也是有很多分工的。比如 “内容运营”、“社区运营”、“用户运营”、“渠道运营” 等等。

从广义的角度来看,所有人工对于产品的干预都可以叫做 “运营” 。有鉴于此,运营的工作也变得更加的 “多维” 与 “立体”。我个人比较主观的一个观点,当前也好、未来也罢,在我们已经接触到了一些非常新的技术之下,技术的未来是一个运营驱动的时代。

后续的内容里,会针对技术方面的一些岗位,做一些详细的介绍,以及每个岗位的定位与基本的职责。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/823237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为ensp中静态路由和默认路由的原理及配置

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月17日17点37分 默认路由 [Router] ip route-static <目的网络> <目的网络掩码> <下一跳地址>默认路由的作用是将无法匹配路由表中其他路由表项的…

【行业前沿】制造业的数字化转型如何做?

随着科技的迅速发展&#xff0c;数字化转型已经成为制造型企业提高竞争力的关键因素。它可以帮助制造型企业&#xff0c;在产品优化设计、材料采购、生产流程方面实现精细化管理&#xff1b;提升上下游协同生产能力&#xff0c;提高生产效率、降低生产成本、优化产品质量&#…

RUM 最佳实践-视觉稳定性的探索与实践

写在前面的话 在当今数字时代&#xff0c;网页的视觉稳定性对于提供良好的用户体验至关重要。其中一个衡量视觉稳定性的关键指标就是累积布局偏移&#xff08;Cumulative Layout Shift&#xff0c;简称 CLS&#xff09;。CLS 作为 Web Vitals 指标之一&#xff0c;它衡量的是网…

jql联表查询涉及到权限的最好用上临时表

JQL联表查询的两种方法 联表查询 为方便文档描述定义以下两个概念&#xff1a; 临时表&#xff1a;getTemp方法返回的结果&#xff0c;例&#xff1a;const article db.collection(article).getTemp()&#xff0c;此处 article 就是一个临时表虚拟联表&#xff1a;主表与副…

【MySQL数据库】 (篇一 ) 让你快速上手——新手速通版

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、如何起步&#xff1f;&#x1f3c3;‍1.创建数据库&#xff1a;2.选择数据库&#xff1a;3.删除数据库&#xff1a;4.创建表&#xff1a;5.删除表&#xff…

48.基于SpringBoot + Vue实现的前后端分离-雪具销售系统(项目 + 论文PPT)

项目介绍 本站是一个B/S模式系统&#xff0c;采用SpringBoot Vue框架&#xff0c;MYSQL数据库设计开发&#xff0c;充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得基于SpringBoot Vue技术的雪具销售系统设计与实现管理工作系统…

Linux的学习之路:12、地址空间(续)与进程的创建、终止和等待

摘要 本章将讲述上章没说的一些东西以及进程创建终止与等待 目录 摘要 一、地址空间&#xff08;续&#xff09; 二、创建 三、终止 四、等待 五、思维导图 一、地址空间&#xff08;续&#xff09; 上篇文章中介绍了地址空间&#xff0c;但是没有说为什么会有地址空间…

通过WSL在阿里云上部署Django项目MySQL

前端用Vue&#xff0c;后端用Django&#xff0c; nginx&#xff0c;Mysql 参照&#xff1a; 通过WSL在阿里云上部署Vue项目_阿里云 wsl-CSDN博客 阿里云重登录 采用Ubuntu系统&#xff0c; apt update #检查是否已经安装 mysql --version systemctl status mysql apt insta…

hook某银行加固app

分析 要在未修复dex并打包情况下对其app内在类进行hook&#xff0c;单纯的hook会由于加固的问题而导致加载不到内在想hook的类。因此需要进行加载加固的classloader。 在此之前需要先了解Context 在Android中&#xff0c;只有Application、Activity以及Service有自己的Contex…

Gradle系列(3)——Gradle extension(gradle扩展),如何自定义gradle扩展,AppPlugin,AppExtension原理

文章目录 1.什么是Extensions2.如何自定义Extension3.问题来了——如何通过自定义Extension给Plugin传递数据4.BaseAppModuleExtension和AppPlugin部分原理BuildTypes是如何创建并传递数据给AppPlugin的&#xff1f;AppPlugin是如何接收数据的&#xff1f;buildTypeContainer流…

HDLbits 刷题 -- Mux256to1

Create a 1-bit wide, 256-to-1 multiplexer. The 256 inputs are all packed into a single 256-bit input vector. sel0 should select in[0], sel1 selects bits in[1], sel2 selects bits in[2], etc. Expected solution length: Around 1 line. 译&#xff1a; 创建一个…

CESS 受邀出席香港Web3.0标准化协会第一次理事会议,共商行业未来

2024 年 4 月 5 日&#xff0c;CESS&#xff08;Cumulus Encrypted Storage System&#xff09;作为香港 Web3.0 标准化协会的副理事会成员&#xff0c;于香港出席了 2024 年度第一次理事会会议。此次会议汇聚了来自不同领域的知名企业和专家&#xff08;参会代表名单见文末&am…

Linux——守护进程

在这篇文章中我介绍了关于tcp网络套接字&#xff0c;关于网络套接字编程的问题我会再次讲述一点东西&#xff0c;然后介绍关于守护进程的知识。 1. 关于网络套接字编程的一些问题 在进行套接字编程时我们一定是得先有套接字&#xff0c;并且我们在使用socket的一些接口时&…

MyBatis 源码分析 - 映射文件解析过程

1.简介 在上一篇文章中&#xff0c;我详细分析了 MyBatis 配置文件的解析过程。由于上一篇文章的篇幅比较大&#xff0c;加之映射文件解析过程也比较复杂的原因。所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来&#xff0c;独立成文&#xff0c;于是就有了本篇文章…

新标准日本语 课后练习

自学错误可能较多&#xff0c;听力题不需要听力的就没听录音 第二十課 スミスさんはピアノを弾くことができます 練習&#xff11;&#xff0d;&#xff11; &#xff11;張さんは日本の歌を歌うことができます 张先生会唱日本歌 &#xff12;小野さんは自転車に乗ることがで…

设计模式代码实战-模版方法模式

1、问题描述 小明喜欢品尝不同类型的咖啡&#xff0c;她发现每种咖啡的制作过程有一些相同的步骤&#xff0c;他决定设计一个简单的咖啡制作系统&#xff0c;使用模板方法模式定义咖啡的制作过程。系统支持两种咖啡类型&#xff1a;美式咖啡&#xff08;American Coffee&#…

RAID 5实训

Raid 5 配置实训 实验结构&#xff1a; 实验步骤 环境准备&#xff0c;Linux操作虚拟机下添加3个及以上的磁盘用于raid 10阵列构建所用&#xff08;本次实验4个&#xff0c;一个用于备用&#xff09;创建raid 5 磁盘阵列格式化并挂载磁盘阵列存储速度检查是否提升安全性能检查…

DevExpress WinForms中文教程 - 如何通过UI测试自动化增强应用可靠性?(二)

DevExpress WinForm拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜任…

C++进阶——继承

前言&#xff1a;从这篇文章开始&#xff0c;我们进入C进阶知识的分享&#xff0c;在此之前&#xff0c;我们需要先来回顾一个知识&#xff1a; C语言有三大特性&#xff0c;分别是封装、继承和多态&#xff0c;而我们前边所分享的各种容器类&#xff0c;迭代器等&#xff0c;…

数据结构----链表算法题目

1.移除链表的元素 这个题目我们有多种解决方案 &#xff08;1&#xff09;思路A&#xff1a;遍历整串数据&#xff0c;如果是我们想要删除的数据&#xff0c;就让这个数字后面的数字全部向前移动直到整传数字全部遍历完成&#xff1b;这个方法的时间复杂度是N的平方&#xff…