聚光灯
站点可靠性工程师(SRE)、发布工程师、自动化工程师、持续集成/持续交付(CI/CD)工程师、基础设施工程师、构建与发布工程师、系统工程师(DevOps)、平台工程师、云工程师(DevOps)、部署工程师
Testhouse将DevOps概括为"人员、流程与产品"之间的关系。某种程度上,开发运维工程师这一职位的诞生源于对过往失误的反思。 过去软件由开发团队单独开发,再由另一团队修改,由此产生冲突与混乱。随后敏捷开发理念应运而生,为团队提供了更协作的变更方式。DevOps为相关开发与运维方提供了更高效的进化协作机制,从而实现更高标准化、更强可控性、更佳可预测性...并减少破坏性的内耗。
DevOps工程师如同调解者。他们在流程中介入,确保各方聚焦目标,在更新过程中明确并达成既定目标。他们既要保持对整体项目的全局视野,又能聚焦细节功能,洞察其对整体的影响。当评估变更并提出提升效率与效能的建议时,团队高度依赖他们的判断力。该岗位的其他称谓还包括开发运维经理、集成专家、发布经理或自动化工程师。
- 以宏观视角统筹项目全局
- 在团队之间充当中介
- 以平稳、高效且有效的方式管理变革
- 践行良好的领导力和管理能力
工作日程
- DevOps工程师位列Glassdoor《2020年美国最佳职业榜单》第五名。该岗位需求旺盛,至少可确保全职工作机会。目前该领域高素质工程师的供给仍无法满足需求。在转型时期,企业高度依赖这些从业者带来的独特技能组合。当项目进度滞后或突发问题出现时,可能需要加班加点完成工作。
典型职责
- DevOps工程师确保用户获得组织期望提供的服务,即使平台正在变更,也能保证服务不中断且质量不受影响。
- 基础设施管理是一项关键职责,包括应用程序的开发与部署。
- 应用敏捷方法论的原则
- 构建持续集成与交付管道
- 将技术目标与业务需求相衔接
- 与不同团队进行联络
- 管理有效安全并追踪漏洞
- 使用自动化工具将代码部署到不同环境
- 规划申请与基础设施;测试与开发
- 理解IT运维与系统管理职能;制定集成与部署策略
- 使用开源工具和可扩展数据库
- 额外职责
- “待命”事件响应与管理
- 确保遵守组织规程
- 优化流程、人员和工具
软技能
- 促进协作的能力
- 变更管理技能
- 灵活性
- 注重细节
- 客户服务
- 果断性
- 高度有条理;时间管理能力强
- 强烈的安全意识
- 领导力和管理能力
- 耐心与分析性问题解决能力
- 出色的沟通能力
- 团队导向,目标导向
技术技能
- 持续集成
- 熟悉基础设施自动化
- 掌握编程语言知识,例如Python、JavaScript、Ruby、Perl、C/C++、Go和Java。
- 理解容器(标准化软件单元)
- 计算机系统设计机构
- 公司/企业
- 政府/军事机构
- 医疗保健
- 高等教育机构
- 媒体与娱乐
- 自雇人士
企业对资深DevOps专家的软技能依赖程度,几乎与技术能力同等重要。开发运维工程师被寄予厚望,需成为推动无缝变更的卓越协调者。他们肩负重大责任,确保团队能够凝聚力量实现看似不尽相同的共同目标。
当变更需要快速落地时,时间就是生命。但在编写软件时,仓促行事会导致无法承受的错误。这正是DevOps工程师沉着冷静的分析能力大显身手之处。他们常身处进退两难的境地,必须设法克服所有障碍、调解问题,确保首次就做到万无一失。
自动化至上。自动化运用得越成功,人为失误的可能性就越低。DevOps工程师需要具备分析组织实践的能力,找出可自动化领域或现有自动化可改进之处。另一趋势是从单体架构转向小型可扩展微服务,后者管理复杂度更低。谷歌广受欢迎的Kubernetes容器管理工具正助力众多DevOps团队,未来数年将继续发挥作用。
与IT领域其他岗位相同,人工智能/机器学习的持续渗透将不断影响DevOps实践,并带来海量数据处理的挑战。合理运用AI技术可有效减轻负担并消除瓶颈。当前DevOps领域的其他发展方向还包括向无服务器架构迁移,以及日益增强的安全关注度。
DevOps工程师与其他IT从业者一样,日常工作多在室内进行,伏案工作并盯着屏幕。他们大多是成长过程中狂热的技术爱好者,乐于在键盘前消磨时光,探索软件和编程语言的奥秘。然而,开发运维工作需要强烈的社交能力,这表明从业者并非整天独自闭门工作。
恰恰相反,他们更可能通过线下或线上方式与同行协作。这个职业领域所需的技能不仅要求客观思维,更需要强大的社交能力。对DevOps产生兴趣的从业者,很可能在年少时就因公正、理性、善于调解纠纷并促成共识的特质而备受尊重。他们可能擅长辩论,同时精通英语、营销和艺术。
- DevOps工程师通常需要拥有学士学位,计算机科学或相关专业更为理想。有时专业认证和丰富的工作经验也足以胜任,但若想具备竞争力,学位始终是加分项。
- 建议完成数据中心迁移课程作业
- 有大量课程和认证可供选择,助您在就业市场中实现专业化或提升竞争力。可选方案包括:
- DevOps敏捷技能协会(DASA)提供三级认证:
- 领导力 - DASA DevOps 产品负责人、领导者或教练
- 专业级 - DASA DevOps 实现与扩展、定义与验证,或创建与交付
- 基础级 - DASA DevOps 基础认证
- 亚马逊网络服务(AWS)产品(注意:请留意工作经验要求):
- AWS认证云从业者
- AWS认证系统运维管理员 – 助理级
- AWS DevOps工程师 – 专业级
- 认证Jenkins工程师
- 思科开发者网络
- 微软认证:Azure 助理管理员
- Puppet认证专家
- 红帽认证Ansible自动化专家
- 其他所需经验可包括:Java、Python和Groovy;Microsoft Server、Linux、Apache、Bash;IP网络技术。
- 通过以下内容自主学习:
- CompTIA Linux+
- Coursera DevOps 课程
- edX DevOps 课程
- 领英学习的DevOps课程体系
- Pluralsight 的 DevOps:全局视角
- Udacity的DevOps入门及其他课程
- Udemy DevOps 课程
- 别忘了选修培养英语软技能的课程,包括写作、口语、团队合作和领导力!
- 要掌握DevOps,需要学习许多工具和技能。并非所有培训项目都涵盖全部内容,但应选择提供尽可能多实用课程的项目。
- 是否有知名教授?该项目的设施如何?他们的研究领域是什么?资金来源是什么?优秀的项目都会说明这些情况!
- 查阅该项目的毕业就业率(如有公布)。通常学校若有值得炫耀的成绩,都会公布相关数据。
- 他们提供哪些免费的职业服务或其他求职帮助?
- 确保该机构获得完全认证
- 在线课程既有优势(如便捷性),也有不足(缺乏面对面的同伴互动),但你获得的价值取决于你付出的努力!
《美国新闻与世界报道》2020年最佳计算机科学项目榜单是一个不错的起点。请注意,该榜单每年更新。了解其评估方法很重要,因为其排名标准可能与你的需求不尽相同。
请记住,虽然学位对DevOps职业发展很重要,但雇主更看重的是特定知识、技能和经验。 切勿以为毕业于知名院校就能轻松获得职位。对某些雇主而言,上述证书和培训同样重要。关键在于雇主需求,而需求随时可能变化。
DevOps工程师成功的关键在于保持灵活、紧跟时代,并根据目标雇主的具体需求调整学术方向。 主动查找目标企业中DevOps工程师的联系方式,直接询问他们的院校背景、专业方向、推荐选修课,以及额外证书和工作经验建议。你也可通过Quora等讨论区或问答平台发帖求助(但需留意回答的发布时间)。
- 在开始求职之前,先浏览职位空缺。仔细阅读你心仪公司所列职位的任职要求。
- 多加练习各种技能,越早越好!(可参考上文“教育与培训”部分,了解可利用业余时间参加的课程和认证)
- 请记住,DevOps 处于核心位置,因此要保持培训的平衡性。
- 寻找锻炼必备软技能的机会,例如在学校委员会中担任需要领导力和管理能力的职位。不要甘居次要角色。
- 当你掌握了一些可销售的技能时,不妨在Upwork等自由职业平台上实践这些技能,以此积累有偿的实战经验。
- 在招聘网站上寻找DevOps实习机会,或向你的大学项目寻求帮助。
- 加入社团吧!报名参加IT相关社团,拓展人脉,结识志同道合的朋友。
- 寻找一位资深的DevOps高手,愿意收你为徒并指导你
- 成为沟通与调解的高手
- 阅读文章并参与Quora、Reddit、Dev.to等平台的讨论
- 参加TripleByte的DevOps筛选测试。若通过测试,您将获得与该平台雇主网络中企业进行面试的机会。
- 在Indeed、Monster、USAJobs、ZipRecruiter、LinkedIn、Velvet Jobs和Glassdoor等求职网站上搜索职位
- 像招聘官那样思考!阅读ZDNet的《招聘DevOps工程师的八项最佳实践》
- 告知你的社交圈你正在求职。请他们若有任何优质的职位线索,务必与你联系。
- 向学校的院系或职业发展中心咨询有关招聘会、招聘活动、实习机会以及其他支持服务的信息,例如简历撰写和面试练习。
- 请密切关注职位发布中列出的所需经验和技能。
- 竞争异常激烈,因此请将精力集中在您高度胜任的职位上,并针对每份申请的具体职位量身定制简历。
- 查看Indeed的DevOps简历范例
- 面试时切勿抱有“临场发挥”的心态。请阅读Simplilearn的《DevOps面试必备86问答集锦》,做好充分准备,留下深刻印象!
- 有趣的是,该领域从业者否认"DevOps工程师"是真实职位名称的情况并不少见。因此,在这样的环境中摸索职业晋升之路实属不易。
- DevOps之后的职业发展路径包括担任技术主管、架构师或首席工程师。发展空间广阔,很大程度上取决于你所在组织的规模(以及你是否愿意跳槽到其他公司工作)。
- 在时机成熟时,坦诚地与主管和管理层沟通你晋升的意愿。更妙的是,主动询问如何才能让"时机成熟"来得更早!
- 不要操之过急,也不要给人留下你只在乎更优待遇的印象。展现忠诚度,并通过努力工作证明自己值得晋升。
- 攻读硕士学位或许是明智之举,但需注意某些企业会将其证书课程冠以"硕士证书"或"硕士课程"之名。
- 紧跟变化与趋势势在必行。与时俱进,否则就会被时代抛在后面!
- 将你所学传授给他人。这可以通过面对面教学、在线指导、撰写文章、参与讨论、分享视频等方式实现......
- 如果你对社交营销真正感兴趣,那就打造个人品牌,通过内容浏览量、联盟营销博客、谷歌广告或销售自有课程来创造收益。
DevOps是软件开发领域中充满活力的核心环节。然而,部分从业者更倾向于专注于开发或运维任一侧,另一些人则希望在软件之外的领域深耕。
值得考虑的替代职业方向包括:
- 前端开发工程师
- 后端开发工程师
- 全栈开发工程师
- 计算机与信息系统经理
- 计算机程序员
- 计算机支持专家
- 计算机系统分析师
- 数据库管理员
- 信息安全分析师
新闻源
精选职位
在线课程与工具
年薪预期
新员工起薪约为8万美元。年薪中位数为10.1万美元。经验丰富的员工年薪可达13.2万美元左右。
年薪预期
新员工起薪约为10.8万美元。年薪中位数为16.4万美元。经验丰富的员工年薪可达21.1万美元左右。
年薪预期
新员工起薪约为8.5万美元。中位数薪资为每年11.1万美元。经验丰富的员工年薪可达14.6万美元左右。
年薪预期
新员工起薪约为8.2万美元。年薪中位数为11.1万美元。经验丰富的员工年薪可达14.3万美元左右。
年薪预期
新员工起薪约为7.5万美元。年薪中位数为9.8万美元。经验丰富的员工年薪可达13.3万美元左右。