【.com快译】程序开发也是有文化的。团队的所有成员都需要朝着共同的目标努力,就像乐队在音乐会上所做的那样。当然,程序开发还是不同于一般的文艺工作者。作为一个开发团队,每个团队成员都必须具有一些共同的特点和才能。否则,即使你是世界上最好的软件工程师或系统管理员,如果你没有“开发特性”,你很快就会发现自己与团队格格不入,最终会被团队踢出局. 一个高效的开发团队,会激发每一位团队成员的活力,朝着共同的目标前进。如果团队成员没有完全投入,他们很快就会感到格格不入,并发现自己是项目成功的瓶颈。 下面列出了当今任何想从事DevOps工作的人都需要具备的9种品质。其中一些可能不是自然而然的,但通过实践和努力,所有这些都可以成为后天获得的特质,帮助DevOps作为高效开发团队的一部分建立成功的职业生涯。 1。你喜欢偷懒 这种品质听起来太违反直觉,但它确实存在。当然,懒惰本身绝对不是办公室里受欢迎的品质,但你为懒惰所做的事情却很有价值。程序开发的一个核心原则是自动化,这将使开发团队能够交付可靠、兼容和前瞻性的代码。因为只要是手动部署代码,总会出现这样那样的错误。 如果你是个懒惰的人,那么你一定会讨厌做重复性的工作。这是非常低效的,完全是浪费时间。如果你真的这么认为,那么恭喜你获得了第一个伟大的品质。比如你花了一个小时写了一段很重要的代码,却忘了提交代码到资源池,你的开发工具突然当机了。这真是令人失望。没有人愿意将相同的代码写两次。这是我的看法,虽然看起来有点偏激,但为什么要一遍又一遍做同样的事情呢? 真正“懒惰”的技术人员绝对会讨厌做同样的事情两次,而这种工作态度自然会导致自动化。为什么像婴儿一样打扰您的服务器?在每台服务器上单独安装相同的软件,然后为它们提供完全相同的配置对我来说是一种折磨。将这些安装和配置管理任务写成脚本,让它们自动化,这样你就不用再操心了。 2。你愿意改变 人总是天生就过着静止的生活。我们早上起床,白天工作,晚上睡觉。这就是我们的生物钟告诉我们要做的。我们大多数人都喜欢生活中的秩序,这是本能。然而,在日常生活中,思考变得困难和费力,因为我们将思考归于潜意识,并认为我们的日常行为是自然的。这是可以理解的,但要成为一名开发大师,就必须抛开这些本能并与它们作对。 这个世界上唯一不变的就是变化本身,这是开发环境中牢不可破的真理。在开发过程中,我们发现问题,解决问题,给自动化测试打补丁,然后迭代等等。然而,要成为一名成功的DevOps大师,您需要完全抛开这套常规思维。请始终意识到,开发工作是一个流动的工作环境,变化无时无刻不在发生。我们不可能一年做一次计划,只能小步向前,不断得到反馈,然后尽快迭代。没有一天是例行公事、重复和可预测的——这就是DevOps大师的生活。 3。喜欢与人交往 在这个时代,作为DevOps,不能再把午饭打包进办公室,关上门,出去走走散散心。你必须享受与人会面和与团队其他成员一起工作的乐趣。你必须将发展视为一项团队运动,而不是像高尔夫这样的个人运动,而是像篮球或足球这样的团队运动。团队中的每个人都必须努力争取胜利,而队友则必须齐心协力。 很久很久以前,IT工作被认为是业务支持部门。IT部门往往安排在地下室,工作内容只是保证公司的电脑能够正常运行。所以,当时业界选择了那个时代的人,那些喜欢埋头在黑暗环境中敲代码或者管理系统的“怪人”。他们很少和别人说话,生怕自己的思想被别人迷惑。但是今天不一样了,如果你还习惯于在这种完全安静的环境中,那么你是无法在今天的开发环境中生存的。 没有人会强迫你去喜欢别人,但我们要有取悦别人、与人交流的能力。如果你不这样做,很快你就会像行尸走肉一样。换句话说,如果您不为解决方案做出贡献,那么您就是在给解决方案带来麻烦。 4。为了大场景 如果你在程序开发上没有足够的先见之明,那么技术上积累的烦恼很快就会找上门来。“我们稍后会解决这个问题”、“这个版本不会再出问题”和“我会为你解决”将成为常见的短语。如果你无法预见你的程序在你敲代码或做系统配置时每秒接受数千个请求时会发生什么,那么在今天的DevOps世界里,这就是你的弱点。 DevOps高手可以提前预见和规划解决方案。他们所做的永远不会只是为了当前的用户数据。一个真正的DevOps高手在规划一个产品的时候就已经想到了。它为未来新用户的涌入提供了解决方案。 5.喜欢分享??你喜欢帮助别人吗?就个人而言,如果有人找到我并帮助他们,那么我真的很喜欢这种感觉。因为我知道其他人分享我的经历,这让我很开心。想要成为DevOps高手,也要有这种分享的心态。没有人会抢走你的工作,也没有人会特意“窃取”你的想法或你的劳动成果。当你真正为团队工作和思考时,你就会把个人问题放在一边。 一个好的DevOps团队鼓励分享成功和失败,这有助于其他人从他们身上学到很多东西。成功的团队中没有傲慢的人。每一次失败都会被视为一次学习的机会,每一次成功都会被他人称赞。 你要放开你的心,每天分享给你的团队成员。这样你就会发现所开发程序的哪些部分是有用的,哪些是不必要的。 6。能够“放手” DevOps团队的基础是相互信任。团队中的任何成员都必须能够信任其他人,并相信他们可以做得和你一样好,甚至比你做得更好。 你可能经常遇到这样的情况,挑战你对队友的信任程度。也就是当你完成了一个特定的功能,而这个功能从一开始的构思、规划、编写、部署都是你一个人完成的。而当你必须从事另一个项目时,你需要将你的宝贝孩子交给另一个开发人员。那是你需要能够完全放手的时候。您必须相信您的继任者不会乱用您的代码,或者让它以与您预想完全不同的方式发展。即使出现这样的情况,你也需要理解,因为他这样做是用户的需求,也是商家的需求。 你必须能够依靠你的团队成员。如果您认为自己做不到,那么您将找到他们并进行尴尬的谈话。当然,如果他们具备第三条所说的与人交流的素质,那么这个就很简单了。 7。你的字典里没有“这不是我的工作”这样的字眼完全抹掉了。当然,这并不意味着您必须为每个人完成每项工作。相反,它意味着你应该能够适度地帮助别人,或者告诉他们向谁求助? 这个技能是关于重新定义“工作”这个词。我们每个人都有自己的专长,但真正的DevOps高手是多才多艺的。程序员不仅要对自己的代码负责,还要在服务器资源需求突然飙升时协助系统管理员。另一方面,系统管理员也应该能够大致看懂程序员写的代码,以便在服务器出现问题时能够快速找到相应的程序员帮忙。 这意味着你要重新认识到你不是一匹戴着眼罩走在街上的马,你不仅仅需要知道你面前的路。当今时代要求您摘下眼罩,不仅要专注于自己的前进方向,还要非常清楚团队中其他人的位置。 8.使用配置管理工具 无论DevOps工作变化多快,部署始终是最终目标。它还意味着一件事,那就是速度。如果没有合适的工具,您将永远无法跟上开发迭代的步伐。这和我们说的第六条是密切相关的。没有放手能力的软件开发人员通常倾向于完美主义者,有些甚至到了讨厌自动化的地步。他们不信任工具,但他们一遍又一遍地重新发明轮子,做他们认为对的事情。 但是,要成为真正的DevOps高手,您必须意识到工具对于您的成功至关重要。当然,很多强大的开发团队都构建了自己的工具,他们有非常充分的理由。但是,我强烈建议使用配置管理工具。开发团队没有理由不选择使用配置管理工具作为配置管理需求。 配置管理工具自动执行许多任务,让您专注于真正重要的事情:编写代码并将其部署给用户。 9.代码层面的思考 这个技能比较适合系统管理员。软件工程师写代码做产品,然后将这些产品打包放在底层架构中,为用户提供服务。如果开发人员需要对产品进行更改,他们不再需要亲自走到数据中心并在服务器上进行更改。一切都可以远程完成,只需在桌面上轻敲几下代码。 作为运维管理专家,一定看到“底层架构即代码”新范式的好处。虽然这对大多数系统管理员来说还是一个新概念,但你必须能够意识到将底层基础设施作为代码来管理确实比物理设备更有益,你必须理解“一次性服务器”的概念。 你必须明白,服务器本身只是宿主,能够快速让用户从服务宕机中恢复的是代码本身。打个比方,如果你的房子倒塌了,要重建,但原来的图纸丢失了,那你得从头开始盖房子。 永远不要隐藏自己的才能 老实说,对于DevOps大师来说,没有所谓的“隐藏”才能。如果你不展现你的才华,没有人会认为你是大师。我这里提到的9个人才,都是一个成功的DevOps团队都会具备的,并且会在日常的开发工作中得到充分的展现。如果你有这些隐藏的才能,就展现出来吧!您的企业或团队会注意到并欣赏它们。如果你故意隐藏自己的才能,以便留在一家不欣赏这些技能的公司,那么我只能说,你缺少的是进入一家能给你更高薪水的公司的机会。 原标题:devops忍者的9个隐藏天赋,作者:AdamBertram
