互联网企业职位解析

215 阅读5分钟

banner

引言

如今的互联网行业已经沉淀出一套稳定的组织架构开发流程,开发一款软件产品就如同生产车间的流水线一样程序化了,这也就是软件工程的含义。

那么一个互联网公司中都有哪些岗位呢,它们各自的职责又是什么?

岗位介绍

产品经理(PM)

开发任何一款产品的目的都是为了满足用户的需求,作为一名产品经理,首先具备需求分析的能力,才能对产品最终效果开发进度进行整体把控。

对于商业化产品,往往还需要考虑商业模式竞品调研等方面。

产品经理需要将需求整理成PRD (产品需求文档),常用的工具为XMindAxureWiki。之后根据梳理出的产品需求,还进一步制定产品的功能,这时通常以思维导图原型图UML图等形式呈现。

原型图是对产品界面以及交互的粗设计,常用的原型图设计工具有:AxureSketch墨刀等。此外,OmniGraffleVisio可用于制作如UML图、流程图等各种图示图表。

UI / UE 设计

UI (User Interface) 设计负责在原型图的基础上,进行更精细化的界面设计,如色彩、图标、页面控件等。

UE (User Experience) 设计负责产品的交互设计,重点研究在交互方面如何增强用户的使用体验。

常用工具:Axure、Sketch、墨刀、Principle、Adobe XD

研发工程师

当产品的功能敲定后,就该进入编码实现的阶段啦。

不过在开发人员编码之前,一般会由开发组Leader进行顶层设计,如确定技术选型、划分模块、设计接口、搭建项目框架等。

一个互联网产品的软件架构可大致划分为:客户端 + 服务端

客户端是指在用户终端设备上运行的软件,如浏览器中的网页、手机App、PC端应用等。

服务端(后端)是指运行在服务器上的软件程序,负责存储数据、承担主要业务逻辑、提供查询接口等。

客户端程序与服务端程序通过网络交换数据,从而实现完整的软件功能。

前端开发工程师

如上所述,客户端开发又可细分为 Web 开发Android 开发iOS 开发以及 PC 桌面端开发,但这些工程师使用的技术工具却不尽相同。

Web 开发常用技术栈有:HTMLCSSJavaScriptReactVueAngular等;

Android 开发常用技术栈:JavaKotlin

iOS 开发常用:Objective-CSwift

PC 端主要使用 C++

随着技术的发展,以及产品的快速迭代,一些跨平台开发技术如 FlutterReact NativeWeexElectron等越来越受企业的欢迎。

服务端开发工程师

在服务端,由于不同的业务有不同的需求,各种语言和技术可谓是百家争鸣。

Java依靠完整的面向对象支持、健壮的语法、丰富的生态(如SpringApacheQuarkus等)独占鳌头。

Python也因为其简洁的语法和快速开发的特性,占得一席之地。

Node.js独特的线程模型,也给予了它出色的并发能力。

在云原生的今天,Go语言同样依靠原生 Goroutine 简洁、强大的并发支持以及编译特性,在基础设施开发与Serverless 应用中越来越受欢迎。

算法工程师

算法工程师着力于利用已有或自研算法,结合实际业务场景实现特定功能。

推荐算法计算机视觉自然语言处理决策算法调度算法等业务方向;

经典机器学习深度学习强化学习知识推理等技术方向。

常用语言为:PythonJavaScriptMATLAB

常用框架有:TensorFlowKerasPytorch 等。

测试工程师

没有密不透风的墙,也没有 Bug Free 的代码

当开发人员写好代码后,为了验证功能性需求是否被正确地实现,非功能性需求是否被满足,就需要测试工程师的出场!

他们需要掌握的语言和工具有:JavaPythonShellPostman

随着 DevOps 的发展,自动化测试逐渐成为主流,常用工具有:seleniumappiumHttpRunnerJMeter等。

运维工程师

当代码通过测试后,需要部署到线上的服务器,这时候就需要运维工程师来操作啦!

运维工程师需要熟练掌握 Linux以及TomcatApacheNginx等HTTP 服务器的相关知识。

当机器达到一定数量的时候,手动FTP部署已不现实。需要借助Docker等容器平台,将应用以镜像的方式传输、以容器的方式运行。这样的好处是极大的简化了部署流程,缩短了部署时间。

然而这么多容器,手动管理也不大现实,如何进行统一管理呢?

Kubernetes (k8s) 来了!它能够根据声明式配置文件,自动管理集群内的容器的生命周期。例如,假设一台机器上的容器挂了,k8s 会自动在集群内其他可用节点上重启一个相同的容器。

运营

“酒香不怕巷子深恐”在如今的快消时代怕是行不通咯,往往需要尽最大可能吸引用户留存用户

通常可根据职责分为:内容运营活动运营媒体运营数据运营等,分别负责平台内容管理、活动策划、产品宣传、数据分析等。

由于运营的具体职责与企业经营模式和领域紧密关联,所以职责也是多种多样。可谓是一千个公司里面,有一千种运营

通常需要掌握的工具有:WordExcelPhotoshop 等;

数据运营需掌握:PythonExcelSQLTableau 等数据处理及可视化工具。

其他

与传统企业相同的一些岗位如人力资源管理(HR)、财务、市场销售等就不再赘述,作者也认知有限。


感谢您阅读本文,您的关注与点赞是对我最大的支持!关注我的公众号 “语冰Yubing” 可接收最新推送。

wechat_card