普通视图

发现新文章,点击刷新页面。
昨天以前首页

站点可靠性工程师(SRE) vs 软件开发工程师(SE/SDE)


许多大公司都有站点可靠性工程师(SRE = Site Reliability Engineer)的职位空缺。例如,谷歌、Facebook/Meta 或字节跳动的抖音。软件工程师(Software Engineer)与亚马逊/Amazon所称的软件开发工程师相同(Software Development Engineer)。

站点可靠性工程师(SRE)是一个专注于确保生产环境中软件系统的可靠性、可扩展性和性能的角色。SRE 负责服务的健康状况和正常运行时间,平衡软件开发与运维任务。软件工程师(SE)主要专注于编写和维护代码以创建软件产品,而 SRE 则融合了开发技能、系统管理、故障排除和事件管理,以确保这些产品在实际环境中顺利运行。

以下是两者之间关键区别的比较:

站点可靠性工程师 (SRE)

专注于可靠性与运维:

  • 确保系统高度可用、可扩展且具有弹性。
  • 监控系统健康状况,管理事件并处理故障。

运维自动化:

  • 使用代码自动化手动任务(例如基础设施部署、监控和补救措施)。
  • 通过创建自动恢复或仅需最少人工干预的系统来减少重复性工作。

随叫随到的职责/也就是On-call:我在亚马逊AWS云On Call的体验

  • 通常参与随叫随到的轮值,处理操作问题和紧急情况。

性能和容量规划:

  • 分析系统性能,确保系统能够应对增长和流量高峰。

SLA、SLO 和 SLI:

  • 定义和管理服务级别协议(SLA)、目标(SLO)和指标(SLI),以测量并确保正常运行时间和性能指标。

事件管理:

  • 调查事件,领导事后分析,并实施修复措施以防止未来发生类似问题。

软件工程师 (SE)

专注于开发:

  • 主要参与设计、开发和维护软件应用程序或服务。
  • 通常致力于构建新功能或改进现有软件。

产品开发:

  • 在开发阶段关注软件的功能性、可扩展性和可维护性。

与其他团队合作:

  • 与产品经理、设计师和其他工程师合作,定义功能并实现软件解决方案。

代码质量和测试:

  • 编写测试代码,并通过代码审查、单元测试和自动化测试等实践确保代码质量。

较少参与生产操作:

  • 通常不负责系统正常运行时间或紧急响应(除非在专注于 DevOps 的团队中工作)。

重叠点:

  • 编码技能:SRE 和 SE 都编写代码,但 SRE 可能更侧重于自动化和支持生产系统的工具。
  • DevOps 实践:两种角色可能都遵循 DevOps 原则,以确保持续集成和部署,SRE 强调可靠性,而 SE 则注重开发速度和功能交付。

总而言之,SRE 是一个强调确保生产系统可靠性和运维效率的专门角色,而软件工程师则更多地专注于构建和增强软件。

SE 和 SRE 入职门槛要求的比较

关键区别:SRE 角色通常需要更深的系统操作和基础设施管理知识,而 SE 角色则更强调软件开发和计算机科学理论。

站点可靠性工程师 (SRE)

教育/背景:

  • 通常需要计算机科学、系统工程或相关领域的背景,类似于软件工程
  • SRE 往往具备软件开发和系统管理(Linux、网络等)技能的组合。
  • 通常需要 DevOps 工具、云基础设施(AWS、GCP、Azure)和自动化工具(如 Ansible、Terraform 或 Kubernetes)的经验。

运维经验:

  • SRE 需要管理生产环境、理解 SLA、监控和事件管理的实际经验。

所需技能:

  • 系统工程(Linux、网络等)方面的强大知识。
  • 熟练掌握脚本编写/编程(Python、Go、Ruby 等),用于自动化任务。
  • 具备监控工具(如 Prometheus、Grafana)、CI/CD 管道和基础设施自动化的经验。

软件工程师 (SE)

教育/背景:

  • 通常需要计算机科学或相关领域的学位,尽管有些人通过编程训练营或自学进入该领域。
  • 专注于数据结构、算法和构建软件解决方案。
  • 为应届毕业生或那些具有较少专业经验的人(实习、项目)提供入门级职位。

所需技能:

  • 熟练掌握一种或多种编程语言(Java、Python、C++ 等)。
  • 对计算机科学基础(算法、数据结构、面向对象设计)有深入了解。
  • 具备编写干净、可维护、可扩展代码的能力。

SE 和 SRE 面试难度的比较

关键区别:SE 面试更侧重于算法,而 SRE 面试更多关注系统、操作和可靠性工程,编码要求较低但仍然重要。

站点可靠性工程师 (SRE)

难度:中等到高

  • SRE 面试通常涵盖广泛的主题,包括系统设计、故障排除、生产级故障和监控。
  • 面临与系统可靠性、基础设施扩展和事件响应相关的解决问题的挑战。
  • 面试通常测试您的网络、Linux 基础、云架构和基础设施自动化知识。
  • 部分面试可能会专注于编码,但复杂性因公司而异(通常为中等难度,以脚本为主的任务)。

涉及主题:

  • 系统设计(重点是可靠性、弹性)。
  • 与自动化相关的编程/编码挑战。
  • 故障排除和事件处理。
  • 监控和性能优化。
  • 网络基础和基于 Linux 的系统知识。

软件工程师 (SE)

难度:高

  • SE 面试通常更多关注算法、数据结构和编码挑战。
  • 高级职位的系统设计面试可能会非常复杂,涉及可扩展架构、分布式系统和性能优化。
  • SE 面试往往更注重算法密集度,测试您在时间限制下解决问题的能力。

涉及主题:

  • 数据结构和算法(例如排序、图遍历、动态规划)。
  • 系统设计(针对高级角色)。
  • 以编码风格、团队合作和问题解决为重点的行为面试。
  • 在 LeetCode、HackerRank 或公司自定义平台上的编码练习。

SE 和 SRE 薪酬待遇的比较

关键区别:两种角色的总薪酬非常相似,尤其是在顶级科技公司中的高级职位。然而,在某些技术性极高的职位上(例如高级工程师/首席工程师),SE 可能会因为更大的股票和奖金包裹而超越 SRE。

站点可靠性工程师 (SRE)

基础薪资/Base:

  • 在顶级科技公司(如谷歌、Meta、亚马逊),SRE 的基础薪资通常较高,类似于软件工程师。
  • 在美国,入门级 SRE 的年薪约为 12 万 – 16 万美元。
  • 高级 SRE 的年薪可能在 18 万 – 22 万美元或更高,具体取决于公司和地点(特别是在硅谷等科技中心)。

总薪酬/Total Package:

  • 包括奖金、股票期权和其他福利后,顶级科技公司中的 SRE 的总薪酬可能达到 20 万-35 万美元或更高,特别是高级职位。
  • SRE 经常获得与系统正常运行时间、可用性或事件管理相关的丰厚奖金。

软件工程师 (SE)

基础薪资/Base:

  • SE 的基础薪资通常与 SRE 类似,尤其是在大型科技公司中。
  • 入门级软件工程师的起薪通常在 11 万 – 15 万美元之间。
  • 高级软件工程师的年薪可能在 18 万 – 25 万美元或更高,具体取决于经验、地点和公司。

总薪酬/Total Package:

  • 包括股票期权、奖金和绩效奖励后,SE 在大型科技公司中的总薪酬可能达到 20 万 – 35 万美元或更高,尤其是在股票重的薪酬结构(例如谷歌、Meta、亚马逊)中。
  • 在某些公司,软件工程师的薪酬可能会因为更大的股票包裹而偏高,特别是在较高级别上。

SRE 和 SE 的总结

方面 站点可靠性工程师 (SRE) 软件工程师 (SE)
入职要求 系统/运维经验,基础设施,自动化知识 强大的编码技能,计算机科学基础,专注于开发
面试 系统设计,运维,自动化,事件管理 算法密集,数据结构,编码和系统设计
薪酬 与 SE 相似,基础薪资 $120K–$220K;顶级科技公司总薪酬 $200K+ 与 SRE 相似,但在高级职位上 SE 可能比 SRE 赚得更多

两种工作都非常有价值,尽管 SRE 职位需要更多的系统和运维专业知识,而 SE 职位则更强调开发和算法问题解决。

英文:Site Reliability Engineer (SRE) vs Software Engineer

软件工程师

本文一共 2207 个汉字, 你数一下对不对.
站点可靠性工程师(SRE) vs 软件开发工程师(SE/SDE). (AMP 移动加速版本)

扫描二维码,分享本文到微信朋友圈
75a5a60b9cac61e5c8c71a96e17f2d9c 站点可靠性工程师(SRE) vs 软件开发工程师(SE/SDE) 工作 程序员 资讯 软件工程
The post 站点可靠性工程师(SRE) vs 软件开发工程师(SE/SDE) first appeared on 小赖子的英国生活和资讯.

相关文章:

  1. 避免选择低质量没保障的 VPS 公司 现在程序员基本都会有VPS服务器, 价钱也不贵, 一个月几美元, 随随便便就能申请个玩. 我自己这几年也玩了不少VPS, 现在手上大概有10台VPS, 用于不同的服务: 博客, 区块链, API等用途. 上两周, 其中一台服务器商 supremevps 突然发邮件 给两天时间,...
  2. 按揭贷款(房贷,车贷) 每月还贷计算器 去年给银行借了17万英镑 买了20万7500英镑的房子, 25年还清. 前2年是定率 Fix Rate 的合同 (年利率2.49%). 每个月大概是还 700多英镑. 有很多种还贷的计算方式, 定率/每月固定 是比较常用的. 简单来说就是 每个月交的钱是...
  3. C/C++ 中的内存管理器(堆与栈) 最近面试的时候遇到这个问题。这个问题考你计算机的基本功。 在 C/C++ 中,内存管理是控制程序如何分配和管理其资源的关键方面。C/C++ 程序中的内存通常分为不同的区域:堆栈和堆是最主要的动态和自动内存分配区域。 ACM题解系列之 – 最小堆栈 (Min Stack) 堆栈内存 定义:堆栈内存用于静态(自动)内存分配。它是存储函数参数、本地变量和返回地址的地方。当调用一个函数时,一个新的内存块(称为堆栈帧)会被添加到堆栈的顶部。当函数返回时,该内存会被自动释放。 分配:内存由系统自动管理——在变量超出作用域时自动分配和释放。无需人工干预。 生命周期:受限于函数或代码块的作用域。一旦函数退出,内存将被释放。 大小限制:堆栈的大小通常较小并由系统预定义,意味着大的分配可能导致堆栈溢出。...
  4. 智能手机 HTC One M9 使用测评 虽然我对手机要求不高, 远远没有像追求VPS服务器一样, 但是怎么算来两年内换了四个手机, 先是三星 S4 用了一年多, 然后 Nokia Lumia 635 Windows Phone, 后来又是 BLU, 半年多前换了...
  5. 测测你的幸运 – Linux Fortune-Teller LINUX 下有很好很好玩的命令,之前已经介绍过: figlet, rig, curl. 现在推荐另一个 命令 fortune 是用来随机显示一段(句)话的.fortune 在英文里就是幸运的意思. 这个命令可以不需要 参数 如果没有 可以通过 apt-get...
  6. 虚拟货币USDT兑换法币英镑的汇率比较: Crypto.com, Ledger硬件钱包卡 和 WirexApps USDT虚拟货币 – 也被常称为U或者泰达币. USDT(Tether)是一种与美元挂钩的稳定币. 它旨在与美元保持 1:1 比价, 这意味着 1 USDT 始终等于 1 美元. 它主要用作不同数字资产交易所之间转移价值的手段, 允许交易者和投资者轻松地在平台之间转移资金,...
  7. 2019剑桥龙舟节: 很荣幸代表福建船队参赛 时间: 2019年6月2日星期日 前不久, 剑桥每年一度的龙舟节在剑桥Jesus Green大草地还有边上的剑河举行了. 每次都是星期天, 所以基本上附近的华人都来了, 很热闹. 旁边的剑河里有条不紊的两两进行着淘汰对抗赛, 草地上大人小孩子席地而坐, 野餐, 聊天. 孩子们有蹦蹦床玩, 有美食(摊位)广场, 天空做美,...
  8. Telegram机器人能通过AI算法进行视频和图片换脸 2023年开始AI火起来了, 各种AIGC算法, 生成美女图, 生成视频, 生成文章, 生成音乐等等. 今天发现一个Telegram机器人号称可以把图片和视频给换脸, 只有一次免费使用的机会, 要继续使用就得充值. 支付方式可以使用波场U-USDT虚拟货币来支付买积分. 10个积分能操作一张图片换脸. 视频换脸: 30积分/10s 图片换脸: 10积分/图片...
❌
❌