欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

程序员文章站 2023-11-29 10:52:46
互联网史上最全技术岗位详解,包括:前端研发、后端研发、移动端研发、大数据、项目管理、测试、运维、技术管理等。...
互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

架构师

每个产品线都有架构师,在技术平台部门也需要技术平台的架构师。

架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。

  1. 架构分析:从功能性的需求中识别出需要增加的非功能性需求,好满足性能、可扩展、集成、安全、可运维、高可用、易部署、易更新。并且识别非功能型需求后,还要做技术选型、技术架构风险识别、技术实现工作量评估。
  2. 架构设计与实现:完成非功能性模块的架构设计、接口设计、代码实现,所以,需要的是有代码实现能力还要有架构思维的工程师,而不是画ppt的工程师。
  3. 业务架构设计与实现:需要对跨系统的接口进行识别、实现、维护,需要对能写成公共代码类库的进行分析、识别、接口设计、实现、变更维护。
  4. 重构:架构师需要经常做bug分析、非模板性和公共类库代码检查,以发现代码腐烂程度,以发现还有哪些代码没有做出很好的架构与精心的代码设计。所以,重构是经常性维护发生的,不是攒到某一刻动大手术,甚至推翻重做,那就不叫重构了。

前端开发工程师

互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

前端工程师

  1. 使用div+css并结合javascript负责产品的前端开发和页面制作;
  2. 熟悉w3c标准和各主流浏览器在前端开发中的差异,能熟练运用div+css,提供针对不同浏览器的前端页面解决方案;
  3. 负责相关产品的需求以及前端程序的实现,提供合理的前端架构;
  4. 与产品、后台开发人员保持良好沟通,能快速理解、消化各方需求,并落实为具体的开发工作;
  5. 了解服务器端的相关工作,在交互体验、产品设计等方面有自己的见解。

后端开发工程师

互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

让系统功能可用、易用、安全,支撑网站稳定运行,解决数据存储及调用问题等等,这些都涉及后端工作内容。网站后端包括服务器、应用、数据库等,后端开发者构建并维护这些组件,为网站提供多方面支持。

为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有如下技能:

  1. 用于应用构建的服务器端语言: php, ruby, python, java, .net 等;
  2. 数据相关工具: mysql, oracle, sql serve;
  3. php框架: zend, symfony, cakephp;
  4. java框架:ssh、ssm;
  5. 版本控制工具:svn, cvs , git 等;
  6. 还要熟练使用 linux 作为开发和部署环境。

移动开发工程师

互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

ios开发、android开发

移动客户端的开发类型主要是三种:

native app(原生app)

也就是完全使用移动设备系统语言写的客户端,iphone ipad就是纯object-c,安卓就是纯java, 就是用户看到的界面啦体验到的交互啦都是原生的。这是性能最棒的开发方式,但灵活性就没下面的好。

web app,

这个就是在移动浏览器里打开的,纯html+css+js,说白了就是个网页,只不过非常的富应用,比如手机浏览器访问的gmail啥啥的。但说白了就是在浏览器里打开的页面。

hybrid app.[html5 in mobile devices]

实际上是使用原生写了一个容器,然后使用html+css+js来实现用户界面和交互。

大数据岗位

互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

大数据主要有以下职位:

1.数据分析师data analyst

指熟悉相关业务,熟练搭建数据分析框架,掌握和使用相关的分析常用工具和基本的分析方法,进行数据搜集、整理、分析,针对数据分析结论给管理销售运营提供指导意义的分析意见。

2.数据架构师data architect

对hadoop解决方案的整个生命周期进行引导,包括需求分析,平台选择,技术架构设计,应用设计和开发,测试和部署。深入掌握如何编写mapreduce的作业及作业流的管理完成对数据的计算,并能够使用hadoop提供的通用算法, 熟练掌握hadoop整个生态系统的组件如: yarn,hbase、hive、pig等重要组件,能够实现对平台监控、辅助运维系统的开发。

3.大数据工程师big dataengineer

收集和处理大规模的原始数据(包括脚本编写,网页获取,调用apis,编写sql查询等);将非结构化数据处理成适合分析的一种形式,然后进行分析;根据所需要的和专案分析商业决策。

4.数据仓库管理员data warehousemanager:指定并实施信息管理策略;协调和管理的信息管理解决方案;多个项目的范围,计划和优先顺序安排;管理仓库的各个方面,比如数据外包,移动,质量,设计和实施。

5.数据库管理员database manager

提高数据库工具和服务的有效性;确保所有的数据符合法律规定;确保信息得到保护和备份;做定期报告;监控数据库性能;改善使用的技术;建立新的数据库;检测数据录入程序;故障排除。

6.商业智能分析员businessintelligence analyst

就工具,报告或者元数据增强来进行传播信息;进行或协调测试,以确保情报的定义与需求相一致;使用商业智能工具来识别或监测现有和潜在的客户;综合目前的商业只能和趋势数据,来支持采取行动的建议;维护或更新的商业智能工具,数据库,仪表板,系统或方法;及时的管理用户流量的商业情报。

7.数据库开发员databasedeveloper

设计,开发和实施基于客户需求的数据库系统;优化数据库系统的性能效率;准备设计规范和功能单证的分配数据库的项目;对数据库系统进行空间管理和容量规划;建立数据库表和字典;参与数据库设计和架构,以支持应用程序开发项目;执行数据备份和档案上定期;测试数据库,并进行错误修正;及时解决数据库相关的问题;制定安全程序,以保护数据库免受未经授权的使用;评估现有的数据库,并提出改进建议的执行效率;开发用于数据库设计和开发活动的最佳实践。

项目管理

互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

协调技术、产品、运营等部门把产品更好的实现,大部分公司叫项目经理,一般属于技术部门。由于现在的互联网发展太快,还衍生出了敏捷教练这个岗位,帮助技术、产品、运营部门更好的协作,通过引入敏捷开发的方式优化产品研发流程,以及解决部门之间的协调问题等。

软件项目经理

  1. 基本职责就是确保项目目标的实现,领导项目团队准时、优质地完成全部工作。
  2. 与客户沟通,了解项目的整体需求。并与客户保持一定的联系,即时反馈阶段性的成果,和即时更改客户提出的合理需求。
  3. 制定项目开发计划文档,量化任务,并合理分配给相应的人员。
  4. 跟踪项目的进度,协调项目组成员之间的合作。
  5. 监督产生项目进展各阶段的文档,并与qa即时沟通,保证文档的完整和规范。
  6. 开发过程中的需求变更,项目经理需要跟客户了解需求,在无法判断新的需求对项目的整理影响程度的情况下,需同项目组成员商量,最后决定是否接收客户的需求,然后再跟客户协商。确定要变更需求的情况下,需产生需求变更文档,更改开发计划,通知qa。
  7. 项目提交测试后,项目经理需了解测试结果,根据测试的bug的严重程度来重新更改开发计划。
  8. 向上级汇报项目的进展情况,需求变更等所有项目信息。
  9. 项目完成的时候需要项目总结,产生项目总结文档。

敏捷教练

  1. 参与公司产品工程与项目管理体系的建立和完善;
  2. 在项目开发过程中,能够提供必要的培训,例如精益创业,用户研究,产品规划,面向对象设计、持续集成、需求拆分等;
  3. 对产品团队进行日常操作辅导,帮助产品经理识别问题和风险,在软件交付和质量保证方面,进行持续改进;
  4. 进入团队进行产品管理相关的度量,定期完成分析报告,向上级领导汇报,支持事业部和公司的管理与决策;
  5. 协调各部门之间的工作,负责项目资源的协调和有效使用,以达到项目进度目标;
  6. 作为内部咨询师进入产品团队,引入敏捷开发实践或产品工程实践,结合产品与团队特点,制定有针对性的效率提升方案;
  7. 对产品经理和团队进行培训,提高其能力和技巧。

运维工程师

互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

确保后台不出问题,确保服务器、网络出现了问题能够及时的修复,等等。服务器、带宽够不够,一个大活动需要备机,都要找他们。

  1. 参与设计、审核、优化公司it系统,以及各应用系统的体系架构;
  2. 公司运维项目的系统升级、扩容需求与资源落实;
  3. it运维相关流程的规划、设计、推行、实施和持续改进;
  4. 网络以及服务器的网络设置、安全、管理、维护和优化;
  5. 设计并部署相关应用平台,并提出平台的实施、运行报告。
  6. 相关故障、疑难问题排查处理。
  7. 网络监控和应急反应,以确保网络系统有7*24小时的持续稳定的运作能力。

测试工程师

其实测试严格来说也分,功能测试、性能压力测试、接口测试岗位。

  1. 参与各类软件产品的需求评审工作;
  2. 编写稳定可靠的测试方案、测试用例,以及测试软件;
  3. 执行测试用例,并记录测试问题,提交测试报告;
  4. 回归验证研发团队修复的问题;
  5. 从用户体验的角度,提出软件产品的改善意见;
  6. 负责项目相关测试文档的撰写和测试报告的整理汇总,并推动问题解决。

技术管理岗位

涉及到的岗位有技术经理、技术总监、cto,岗位要求大致如下(只是粗略整理,依据公司规模、岗位诉求可能略有差异):

  1. 制定公司技术战略、技术发展路线规划;
  2. 制定技术规范、完善开发流程、技术文档管理等;
  3. 负责系统架构设计、技术选型,兼顾性价比以及业务特性,制定高可用性的实施方案;
  4. 关键技术攻关、核心代码编写,以及解决各类疑难杂症问题;
  5. 负责研发团队的日常工作开展,包括工作规划、人员管理、项目管理等;
  6. 主导策划研发团队的技术培训活动。

技术管理岗位,大多都是从基层做起,都是点滴积累成就的。

技术管理岗位除了要具备扎实的技术基础,丰富的项目经验,能够快速解决问题,对软实力也有一定的要求,譬如横向、纵向沟通能力,解决团队协作以及资源匹配的能力等。

以上,依据各互联网公司的规模、组织结构、业务模式、岗位诉求等,可能略有差异,供大家参考,欢迎留言进行补充。