“互联网技术岗位详解涉及前端开发、后端开发、移动开发、大数据、项目管理、测试、运维、技术管理等八个领域。
建筑师

每个产品线都有架构师,技术平台部门也需要技术平台架构师。
架构师负责设计系统的整体架构,兼顾从需求到设计的每一个细节,把握整个项目,让设计出来的项目尽可能高效、易于开发、维护方便、升级简单。
1.架构分析:从功能需求中识别出需要添加的非功能需求,从而满足性能、可扩展性、集成性、安全性、运维性、高可用性、易部署、易更新的需求。在确定非功能性需求后,我们还需要进行技术选择、技术架构风险识别和技术实施工作量评估。
2.架构设计与实现:完成非功能模块的架构设计、接口设计和代码实现。所以需要有代码实现能力和架构思维的工程师,而不是画PPT的工程师。
3.业务架构的设计和实现:需要识别、实现和维护跨系统的接口,分析、识别、设计、实现、更改和维护可以写入公共代码类库的接口。
4.重构:架构师需要经常做Bug分析、非模板化和常用类库代码检查,找出代码衰变的程度,找出哪些代码没有做好架构和仔细的代码设计。所以重构是通过定期维护发生的,而不是为了大手术攒到某个时刻,甚至是推倒重来,所以不叫重构。
前端开发工程师
1.使用Div+css和Javascript负责产品的前端开发和页面制作;
2.熟悉W3C标准和主流浏览器在前端开发上的差异,能够熟练使用DIV+CSS为不同浏览器提供前端页面解决方案;
3.负责相关产品的需求和前端程序的实现,提供合理的前端架构;
4.与产品和后台开发人员保持良好的沟通,能够快速了解和消化各方需求,并落实到具体的开发工作中;
5.了解服务器端的相关工作,对交互体验、产品设计等有自己的见解。
后端开发工程师
实现功能开发,让功能可用好用,“成”是最直接的描述,是伟大的人,还是写代码的普通人。
网站前端是靠什么支撑的?数据存储在哪里?这涉及到后端内容。后端网站包括服务器、应用程序和数据库。后端开发人员构建和维护这些组件,为网站提供各种支持。
为了使服务器、应用程序和数据库能够相互交互,后端工程师需要具备以下技能:
用于构建应用程序的服务器端语言:PHP、Ruby、Python、Java。网等。数据工具:MySQL、Oracle、SQL ServePHP框架:Zend、Symfony、CakePHPJava spring mvc: SSH、SSM版本控制工具:SVN、CVS、Git等。您还应该熟练使用Linux作为开发和部署环境。
移动工程师
移动客户端开发有三种主要类型:
原生应用
也就是完全用移动设备系统的语言编写的客户端,iPhone iPad是纯Object-C,Android是纯JAVA,用户看到的界面和体验到的交互都是原生的。这是最好的开发方式,但是灵活性不如下面的。
Web应用程序,
这个是在手机浏览器打开的,纯HTML+CSS+JS。说白了就是网页,但是应用非常丰富,比如手机浏览器访问的GMAIL。但说白了就是浏览器里打开的页面。
混合应用。[移动设备中的HTML5
其实就是原生写一个容器,然后用HTML+CSS+JS实现用户界面和交互。
大数据帖子
大数据主要有以下几个位置
1.数据分析师
是指熟悉相关业务,熟练构建数据分析框架,掌握和使用相关常用分析工具和基本分析方法,收集、整理和分析数据,并根据数据分析结论为管理和销售运营提供指导意义的分析意见。
2.数据架构师
指导Hadoop解决方案的全生命周期,包括需求分析、平台选择、技术架构设计、应用设计开发、测试部署。深入了解如何编写MapReduce的作业以及作业流的管理,完成数据的计算,并能够使用Hadoop提供的通用算法,掌握Hadoop整个生态系统的重要组件,如Yarn、Hbase、Hive、Pig等。,从而实现平台监控和辅助运维系统的开发。
3.大数据工程师大数据工程师
收集和处理大规模原始数据;将非结构化数据处理成适合分析的形式,然后进行分析;根据需求和项目分析商业决策。

4.数据仓库管理员:指定并实施信息管理策略;协调和管理的信息管理解决方案;多个项目的范围、计划和优先安排;仓库管理的所有方面,如数据外包、移动、质量、设计和实施。
5.数据库经理、数据库管理员
提高数据库工具和服务的有效性;确保所有数据符合法律要求;确保信息得到保护和备份;定期做报告;监控数据库性能;使用改进的技术;建立新的数据库;测试数据输入程序;故障排除。
6.商业智能分析师
传播关于工具、报告或元数据增强的信息;或者协调测试以确保信息的定义与需求一致;使用商业智能工具识别或监控现有和潜在客户;全面的当前业务信息和趋势数据,以支持行动建议;或者维护更新的商业智能工具、数据库、仪表板、系统或方法;及时管理用户流量的业务信息。
7.数据库开发人员
根据客户需求设计、开发和实施数据库系统;优化数据库系统的性能效率;准备设计规范和功能文件分发数据库的项目;管理数据库系统空并规划其容量;建立数据库表和字典;参与数据库设计和架构以支持应用程序开发项目;定期进行数据备份和归档;测试数据库并纠正错误;及时解决数据库相关问题;制定安全程序,防止数据库被非法使用;评估现有数据库,并提出改进建议的实施效率;开发数据库设计和开发活动的最佳实践。
项目管理
与技术、产品、运营等部门协调,更好地实现产品。大部分公司都叫项目经理,一般属于技术部门。因为互联网的快速发展,诞生了scrum master这个岗位,帮助技术、产品、运营部门更好的合作,通过引入敏捷开发优化产品开发流程,解决部门间的协调问题。
软件项目经理
1.基本职责是保证项目目标的实现,带领项目组按时、高质量地完成各项工作。
2.与客户沟通,了解项目的整体需求。并与客户保持联系,即时反馈阶段性结果,即时更改客户提出的合理诉求。
3.制定项目开发计划文件,量化任务,合理分配到相应人员。
4.跟踪项目进展,协调项目团队成员之间的合作。
5.监督项目进展各阶段文件的制作,并及时与QA沟通,确保文件的完整性和规范性。
6.当开发过程中需求发生变化时,项目经理需要和客户一起了解需求。如果无法判断新需求对项目安排的影响,他需要与项目团队成员进行讨论,最终决定是否接受客户的需求,然后与客户进行协商。当确定需求需要变更时,需要生成需求变更文档,变更开发计划,通知QA。
7.项目提交测试后,项目经理需要了解测试结果,并根据测试bug的严重程度再次更改开发计划。
8.向上级汇报。向上级汇报所有项目信息,如项目进展和需求变化。
9.项目完成后,需要项目总结来生成项目总结文档。
敏捷教练
1.参与公司产品工程和项目管理体系的建立和完善;
2.在项目开发过程中,能够提供必要的培训,如精益创业、用户研究、产品规划、面向对象设计、持续集成、需求拆分等。;
3.为产品团队提供日常运营指导,帮助产品经理识别问题和风险,在软件交付和质量保证方面进行持续改进;
4.进入团队进行与产品管理相关的测量,定期完成分析报告,向上级领导汇报,支持事业部和公司的管理和决策;
5.协调各部门之间的工作,负责项目资源的协调和有效利用,以实现项目进度;
6.以内部顾问的身份进入产品团队,引入敏捷开发实践或产品工程实践,结合产品和团队特点制定有针对性的效率提升方案;
7.培训产品经理和团队,提高他们的能力和技能。
操作和维护工程师
确保后台没有问题,服务器和网络能及时修复等等。服务器和带宽够不够,大型活动需要找。
测试岗位
实际上,测试严格分为功能测试、性能压力测试和接口测试岗位。
技术岗位

一般来说,最好是从基层做起,最后通过高级一步步走到管理岗位。这样的人最适合做管理。
涉及的岗位有技术经理、技术总监、CTO。
如果经理不懂技术,这个玩笑就大了。如果你是一个技术总监,但是你仍然不了解技术架构和项目管理,同样的道理。CTO大家都知道。事实上,这个职位需要很多人,无论是广度还是深度。你需要了解具体的技术架构,项目管理,稍微大一点的团队,互联网安全和性能,把握产品方向,深入了解行业,当然还需要了解人性。
关于CTO的核心职责,可以参考优智学院的另一篇文章:我眼中最好的CTO是什么样的?
优智学院IT人升职加薪进阶站,提供系统的互联网产品技术入门指导和进阶干货。


