做一个网站需要多少个技术人员?

news2025/1/15 23:27:53

作为互联网从业者,这么多年来经常会碰到一个灵魂拷问,那就是“为什么一个网站需要那么多技术人员?”,尤其是提问者如果再追问一下“听说几个相关专业的学生一个课程的作业就是开发一个网站或者app,那为什么现在主流的网站或者app背后的公司,动辄就有上万人的技术团队?”。

本文以研发网站为例,同样也适用于研发app。另外,本文更多解释为什么需要那么多技术人员,而不是为什么需要那么多人

让我们一起来看一看典型互联网公司的成长之路。

初始阶段

在这里插入图片描述
这个阶段往往是一个idea刚刚落地,也许只有一两个功能,还没有任何用户。这个时候的网站设计非常简单,一共就三个组成部分,网页,后端服务,数据库

网页就是你看到的东西,后端服务就是处理你在网页上的各种操作,数据库顾名思义就是存数据的。

比如你在网页上更新电话号码,后端服务检验你的电话号码是不是11个数字并且告诉数据库保存下来,然后数据库就记录下来了。

这样的三块内容,一个网页工程师,一个后端工程师就可以搞定了,也就是一个作业的难度。这样的设计也就能够应对网站初期非常简单的功能,这才刚刚开始

增长阶段

在这里插入图片描述
这个阶段往往是上一个阶段上线后获得了一些用户的肯定,得到了一些用户增长,无论是从用户的反馈也好还是创始人的判断也好,网站需要开发一些新的功能了。

这个时候就需要更多的前端和后端研发工程师加入了(网页工程师称为前端工程师)。

此外由于功能变多以及变得复杂,需要招募一些专职测试的同学,他们对于网站功能是否满足预期有更专业的判断能力,所以这个时候研发的过程也会加上测试的环节,测试通过才能上线。

再来由于功能变多,需要越来越多的服务器,那么需要招募专门管理服务器的运维同学,他们对判断机器性能,提高机器稳定性有更专业的能力。

发展阶段

在这里插入图片描述
这个阶段往往是得到了一定的市场肯定,有了一批忠实的用户,现实表明有继续发展的潜力。

这个时候在网站能力上,还是像上一阶段一样持续发展,但是速度会变得更快,在持续招募前后端研发工程师外,测试和机器运维已经无法人肉支撑,这个时候公司会开始使用,加工一些现成的测试和运维工具,或者甚至自己开始做一套。这就引入了测试工具研发工程师和系统运维研发工程师

这个时候的一个里程碑现象就是会慢慢往自动化方向去探索,毕竟持续招人的成本和低效的人肉操作是不可持续的。

此外,数据库的性能往往是整个设计里最短的那块板,在数据量和访问量与日俱增的情况下,需要引入专门的数据库工程师来保障数据库的性能能够持续跟上业务的发展。

爆发阶段在这里插入图片描述

这个阶段往往是形成了一定的市场品牌,用户量开始激增。大部分的公司都很难撑到这个阶段,需要实力和机遇并存。

随着用户量的激增,不怀好意的用户也开始悄然靠近。

对黑客来说,他的核心目标无非两点,要不就是直接通过漏洞获取网站的机密信息,要不就是攻击你的网站让你垮掉以此来勒索你。

这个时候网站就需要招募专业的安全工程师来对抗他们,他们需要熟知攻击的手段,梳理网站可能存在的安全隐患,或使用或自研防护的工具。他们需要了解从硬件到软件,从操作系统到应用系统的各种细节,是技术功底非常扎实的一群人。

数智阶段

在这里插入图片描述
数智阶段指的是开始分析用户在平台上留下的大量数据,从而提供个性化的服务。

你喜欢运动给你推各种运动的文章或者健身产品,你刚生完孩子就给你推各种育儿文章及母婴用品。年龄x地域x性别x爱好x性格x背景,这一系列的维度就能深刻刻画出一个具体的人。

此外还需要产出各种维度的报表供高管决策,供财务分析,供市场研究等等。

这个时候公司就要招募非常多的“数据研发工程师”和“算法工程师”,前者更注重数据的提取及整理,后者更注重挖掘数据背后不易被看到的因果关系。

其实公司开始走向数智化后,远远不只是招这两个角色的同学就够了,还要建设一系列技术能力。数据的建模及分析更是一门大学问。一个公司的数据团队往往就是一个一级部门。甚至有些行业的公司,数据部门占比超过50%。

这么一来你就明白为什么你会听到那么多关于数据的社会话题,比如“大数据时代”,“数据的隐私”等等。

数据的分析好多年前还只是辅助性的功能,现在已经成为企业前行的眼睛,所以需要很多人很多资源的投入。

自研阶段

在这里插入图片描述
自研阶段是指公司开始要自己研发各种基础的系统。

你可能会疑惑,上面讲的各种功能的建设难道都不是指自己研发的?这就要展开再讲一下一个公司发展过程中“用”和“造”的关系。

在公司的初期,为了验证方向本身是否有足够的价值,除了后端服务及网页以外,基本上使用的都是当时现成的技术和工具。

这是因为时间就是一切,快速抓住市场机会,然后展开影响力站稳脚跟是关键。此外也没有过多的资金去深入技术细节搞研发,能够提供的薪资水平和公司的影响力也无法吸引非常资深的技术人加入。

但是随着公司逐渐成长,很多这些取之即用的产品不再适合,非常重要的几个原因包括:

  • 安全:公共的技术或工具能被所有人研究,既能一起研究发展壮大,也能一起研究其中的漏洞。
  • 特性:公司也许有自己的特点,公共的技术或工具无法满足,比如公司的特点是数据量非常大,或者性能要求非常苛刻。
  • 成本:公共的技术和工具也分为免费的和收费的,收费的东西当然好用,但是当使用的规模扩大,成本也是陡增。这里就想提一句各种互联网视频公司,包括不限于优酷,爱奇艺,腾讯视频等等。这些公司之所以看似无情的收取各种会员手续费,然而背后是存储及传输这些内容高昂的成本。即使很多的服务和设施(从软件到硬件)已经自研,但是成本依然高的可怕。再加上现在的影片数量越来越多,分辨率越来越高,成本更是成倍增长。

所有此时,公司就要招募大量的,面向不同自研产品的技术人员。不要小看这部分成员的规模,市面上每个公共产品其实都足以支撑起一家公司,如果要自研多个公共产品,就需要招募非常多的技术人员。

科研阶段

在这里插入图片描述
科研时代指的是公司开始投入资源去做科学研究方面的工作。这些内容可能是当下热点的技术话题及研究领域,也有可能是计算机领域亘古不变的一些主题。

例如当今的热点话题可能包括人工智能,虚拟现实,无人驾驶技术等。亘古不变的主题包括持续的性能提升,高性价比的存储方案,安全攻防等。

公司走进了科研阶段,是一个里程碑。这意味着公司需要带领这个行业往前走,它是整个登山队伍里最前面的那个人。公司开辟了一块土壤给有理想,有技术信仰的科研人员乃至科学家,让他们试错,精进,开花,结果。

阶段总结

这基本上就是一个互联网公司技术发展的路径。

主线可以简单的概括为:由规模导致问题,由问题驱动进步。所以我们也常说,规模决定生产力。一个网站在服务一两个用户的时候,确实一到两个技术同学就够了,但是公司要服务上亿人并且希望持续存活下去,那就需要足够的人和足够的资源来支撑了。

如果将公司发展带来的技术团队规模变大称之为纵向发展,那什么是横向上的扩展?

横向管理

在这里插入图片描述
在纵向发展上有上述提到的各个阶段,不同阶段需要引入不同的角色解决碰到的问题,在介绍这些角色时,都是使用“工程师”的职称去描述,更多想表达的是需要招募解决当时当下问题的落地者。

但是在整个网站设计到一定复杂度的时候,只有落地者是不够的,这时候就需要有一类人,这类人在一线奋战过,能够看到当下存在的一些普遍问题和矛盾,可以分析原因制定策略和计划,并且推动落地。这类人其实就是我们常提到的“架构师”,也是普遍意义上的技术管理者

我们常听到的一句话说:“不要只顾埋头赶路,还要抬头看路”。架构师就是看路的那群人。他们持续考量问题的严重程度,持续挖掘核心矛盾,未雨绸缪。其实这些同学一直存在于组织中,随着公司技术的复杂化,变得越来越多。

其他管理

一个网站或者说一个互联网公司背后的技术团队为何会持续扩张,相信通过上面的介绍你已经可以了解一些了。

再延展一下这个话题,对于一个互联网公司来说,技术团队其实只是其中的一部分,当然,是很大的一部分,但是整个公司能够持续的发展向前走,还有非常多重要的角色。

缺少了他们公司依然玩不转。他们也是隐藏在你们可以看到的每个网页,每个app功能背后不可或缺的成员。在这里插入图片描述

结尾

一个公司的发展,其实是一个行业发展的缩影。去看一个公司碰到的林林总总的发展问题,你就会感慨到行业前行和突破的不易。我们在互联网上享受到的各种便捷和新鲜玩意儿,不是圣诞老人的礼物,是很多工程师们的心血结晶。一个公司的发展和一个行业的发展都需要天时地利人和。成功学无法帮助我们成功,但是懂得敬畏和感恩,我们每一步都能走的无怨无悔。

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

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

相关文章

C++ | 认识标准库string和vector

本文概要 本篇文章主要介绍C的标准库类型string和vector,文中描述和代码示例很详细,看完即可掌握,感兴趣的小伙伴快来一起学习吧。 🌟🌟🌟个人简介 🌟🌟🌟 ☀️大家好&a…

stable diffusion安装从0到1总结:包括遇到的坑和步骤

注:最低电脑配置:8G Vram16G RAM30G磁盘空间以上,20系列显卡及以上,windows>linux>macos。 文件可以不放在系统盘。举个例子:安装在D盘,在D盘创建一个StableDiffusion文件夹。下载下面文件: 1.下载…

为什么实现 API 最佳实践需要重新考虑安全性

随着应用程序编程接口 (API) 的使用与日俱增,实现和维护有效安全性的挑战从未像现在这样大。 由于缺乏管理 API 的单一标准,这意味着团队不能仅依靠工具来解决安全问题,因此这一挑战变得更加严峻。没有任何一种产品可以解决 API 环境的每种…

pg编码相关问题梳理

Lightdb/PG 编码相关问题梳理 之前在通过SQL文件导入数据时,报:ERROR: invalid byte sequence for encoding "EUC_CN"错误。然后就梳理了一下编码相关问题,这边记录一下。涉及到如下两种类型的报错: ERROR: invalid b…

电脑如何还原系统?这样做可以快速解决!

案例:我的电脑系统出问题了,怎么还原? 【我的电脑用了好几年了,最近它的系统出现了一些问题,我想还原电脑系统。有没有知道电脑系统如何还原?蹲一个简单的解决方法!】 随着电脑使用时间的增加…

面试华为,花了2个月才上岸,真的难呀····

花2个月时间面试一家公司,你们觉得值吗? 背景介绍 美本计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比…

Linux中的git命令行

Linux中的git命令行 目录 Linux中的git命令行引入1、Linux下的git工具起源2、gitee的使用.gitignore.git 3、git三板斧3.1 git add3.2 git commit3.3 git push 4、git操作4.1 查看提交日志4.2 查看状态4.3 远端同步4.4 删除文件4.5 修改文件名 引入 当多个开发者同时参与同一个…

(一)Jhipster的基本介绍及入门安装

目录 1、为什么要使用 Jhipster ? 2、安装配置 3、安装Jhipster 4、基本使用 5、介绍一下JDL Studio 6、启动 Jhipster 搭建项目 1、为什么要使用 Jhipster ? JHipster是一个开发平台,可以快速生成、开发和部署现代Web应用程序和微服务…

分享几个自动化测试的练手项目

学习自动化测试最难的是没有合适的项目练习。 测试本身既要讲究科学,又有艺术成分,单单学几个 api 的调用很难应付工作中具体的问题。 你得知道什么场景下需要添加显性等待,什么时候元素定位需要写得更加优雅,为什么需要断言这个…

CANoe使用记录(四):CANoe Graphics图形窗口

目录 1、概述 2、Graphics图形窗口 2.1、打开测量窗口(回放Log) 2.2、输出Log 2.3、添加解析DBC文件 2.4、窗口排列 2.5、添加Graphics窗口 2.6、 信号栏选择 2.7、添加信号 2.8、波形样式 2.9、单Y轴测量尺 2.10、多Y轴测量尺 2.11、数据隐…

10行Python代码,助你整理杂乱无章的文件

朋友们好,今天是周五,又到了快放假的时间,激不激动?高不高兴?但是我还是要继续分享 Python 小工具给大家,嘻嘻~~ 今天的小程序,可以一键完成文件整理,一起来看看吧! 按…

API 接口主流协议有哪些? 如何创建不同协议?

API 接口协议繁多,不同的协议有着不同的使用场景。70% 互联网应用开发者日常仅会接触到最通用的 HTTP 协议,相信大家希望了解更多其他协议的信息。我们今天会给大家介绍各种 API 接口主流协议和他们之间的关系。 1、API 接口主流协议有哪些? 接口协议分…

java环境安装 以jdk1.8 tomcat8为例

1、选择相应版本下载 官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2、下载后一直点击下一步就好了ps:路径不喜欢安装在C盘的可以选择其他盘符,但是一定要自己找的到安装路径。 3、选择路径安装jdk1.8 4、…

Java基础(十六):String的常用API

Java基础系列文章 Java基础(一):语言概述 Java基础(二):原码、反码、补码及进制之间的运算 Java基础(三):数据类型与进制 Java基础(四):逻辑运算符和位运算符 Java基础(五):流程控制语句 Java基础(六)&#xff1…

Serilog介绍

SerilogSerilogSerilog是.net 下的新兴的日志框架,本文这里简单的介绍一下它的用法。 首先安装Nuget包: Install-Package SerilogInstall-Package Serilog.Sinks.Console 其中包Serilog是Log核心库,Serilog.Sinks.Console是Log的控制台输出…

云安全问题及其解决方案

随着云计算技术的快速发展,云计算已经成为了企业和个人的首选。云计算在提高了企业的效率和降低了成本的同时,也带来了一系列的安全问题。本篇博客将深入讨论云安全问题,并提出相应的解决方案,以帮助企业和个人更好地保护自己的云…

【C++学习笔记】对象的特性

深拷贝与浅拷贝 浅拷贝:简单的赋值拷贝操作 深拷贝:在堆区重新申请空间,进行拷贝 利用编译器提供的拷贝构造函数,会做浅拷贝操作;会导致堆区的内存重复释放 ![[Pasted image 20221216213144.png]] 解决方法&#xff…

Qt/QML编程学习之心得:跨平台(一)

Qt作为Cross-platform的一种开发语言,在GUI界面设计上俘获了大批开发者。 Qt很年轻但是也不年轻,看下它创作公司的历史就知道了: › 1994: Troll Tech. First public release in 1995 › 2008: Nokia acquires Troll Tech › 2012: Digia buys Qt from Nokia › 01.05.2016:…

有反爬机制就爬不了吗?那是你还不知道反反爬,道高一尺魔高一丈啊

文章目录 一、从用户请求的Headers反爬虫二、基于用户行为反爬虫(1)方法1(2)方法2 三、动态页面的反爬虫四.总结 不知道你们在用爬虫爬数据的时候是否有发现,越来越多的网站都有自己的反爬机制,抓取数据已经…

Cloud Storage .NET Crack

Cloud Storage .NET Crack 现在包括对Microsoft SharePoint Online的支持。 用于与流行的云存储库集成的存储组件。 云存储使您可以轻松地从任何受支持的平台或开发技术集成基于云的文件存储。这些易于使用的组件可用于与流行的云存储提供商集成,如Amazon S3、Googl…