web开发中团队合作
Developers gravitate towards what they know and like, what’s comfortable and feels good. This can be problematic in a team environment. Looking back at my career, I’ve made more than a few mistakes in this regard.
开发人员倾向于他们所知道和喜欢的东西,舒适和感觉良好的东西。 在团队环境中,这可能会出现问题。 回顾我的职业生涯,我在这方面犯了很多错误。
Consider that framework you enjoy now: is adding that extra dependency enabling anybody?
考虑一下您现在喜欢的框架:是否添加了额外的依赖关系,从而使任何人都能使用?
That design pattern you like: does it help to pile that on top of legacy code?
您喜欢的设计模式:将其堆积在遗留代码之上是否有帮助?
How about that wretched component you can’t bear to read: does it help to avoid it and cake hacks on top?
那您不愿阅读的可悲的组件又如何呢?它有助于避免这种情况,并在顶层产生蛋糕漏洞吗?
With questions like this in mind, I’d like to suggest three ways to be more effective in a team. This is for web developers working in a team. I’ll draw from past experience and lessons learned along the way.
考虑到这样的问题,我想提出三种提高团队效率的方法。 这是供团队中的Web开发人员使用的。 我将从过去的经验教训中吸取教训。
Your disposition towards certain tools says how you value the team’s work. This manifests itself in the way you approach code problems.
您对某些工具的态度表明了您如何评价团队的工作。 这以您处理代码问题的方式体现出来。
In previous roles, I’ve caught myself doing lone coding while undermining another’s work. It’s this kind of attitude that wrecks your success within a team.
在以前的角色中,我发现自己做的是孤独的编码,同时破坏了他人的工作。 这种态度会破坏您在团队中的成功。
To begin this article, I’ll explore one of my favorite characters from the Star Wars universe — as I believe he has tidbits of wisdom to offer in this regard.
在开始本文之前,我将探讨《星球大战》中我最喜欢的角色之一,因为我相信他在这方面可以提供一些智慧。
Obi-Wan is my favorite character in the Star Wars universe. As a general during the Clone Wars, he’s a member of the Jedi Council and a threat to the Sith. Obi-Wan is a paragon of the light for several reasons:
欧比旺(Obi-Wan)是我在《星球大战》(Star Wars)宇宙中最喜欢的角色。 作为克隆人战争期间的将军,他是绝地议会的成员,对西斯构成威胁。 欧比旺是光的典范,有以下几个原因:
I feel this hate vs mastery relationship is telling in our careers as web engineers. Teamwork is seldom found in what you think you are good at and feel good about. Stepping outside your comfort zone is the attitude that will challenge you and enable you to grow.
我觉得这种仇恨与精通的关系正在说明我们作为Web工程师的职业。 在你认为自己擅长和擅长的事物中很少有团队精神 。 踏出您的舒适区的态度将挑战您并使您成长。
So, the first point I’d like to make starts with a question: Have you ever experienced a visceral reaction to a code solution? That pit in the stomach that says it sucks, but you don’t know why? The kind that says something is wrong with this, but you can’t quite put a finger on it?
因此,我想提出的第一点是提出一个问题: 您是否曾经对代码解决方案产生过深刻的React? 肚子上的那个坑说它很烂,但是你不知道为什么吗? 这种说法有点不对劲,但是您还不能完全理解吗?
In a team environment, you don’t always have the best idea. It’s important to discern whether i’s your brain talking or your ego.
在团队环境中,您并非总是有最好的主意。 辨别我是在说你的大脑还是在你的自我很重要。
Just because it wasn’t your idea, it doesn’t mean it’s inferior. One suggestion is to run a quick examination and figure out where that gut reaction comes from. It may lead to opening up new ways of solving a problem. By being open and asking the right questions, you may yet learn something new. It’s a real privilege to stand on the shoulders of giants and take solutions even further.
仅仅因为这不是您的主意,并不意味着它是劣等的。 一个建议是进行快速检查,找出肠道React来自何处。 这可能导致开辟解决问题的新方法。 通过开放并提出正确的问题,您可能仍会学到新的知识。 站在巨人的肩膀上并进一步寻求解决方案是我的真正荣幸。
Granted, it may still be the case that there’s a better way. You could be dealing with someone that doesn’t have the time or doesn’t care. If that’s the case, it might be a good time to look for another team — especially if that someone is influential within the organization, such as a lead or manager. These organizations attract the wrong crowd anyway, and have issues growing and retaining talent. As this industry matures, I find that these cases are few and far between.
当然,可能还有更好的方法。 您可能正在与没有时间或不在乎的人打交道。 如果是这样的话,这可能是寻找另一个团队的好时机-尤其是如果某个人在组织中具有影响力,例如主管或经理。 这些组织无论如何都吸引了错误的人群,并且在增长和保留人才方面存在问题。 随着这个行业的成熟,我发现这些情况已经很少了。
In an empty canvas, there are infinite ways to solve a problem. The beauty of building web solutions is that you get a real shot at this. The open web is a platform where any kind of radical idea can live — as long as you’re sending standard hypertext messages from a server. So it’s fitting to approach this within a team setting.
在一块空的画布上,有无数种方法可以解决问题。 构建Web解决方案的美妙之处在于您可以真正地掌握这一点。 只要您从服务器发送标准的超文本消息,开放的Web平台就可以存在任何激进的想法。 因此,在团队环境中解决此问题是合适的。
The tooling and decisions the team makes often add value to the team. The key is to embrace those ideas and contribute by taking them to the next level.
团队做出的工具和决策通常会为团队增加价值。 关键是要接受这些想法,并通过将其带入新的水平来做出贡献。
When I first began my career in building for the web, I hardly knew what CSS was. As a result, my fist job interview as a web developer was a total failure. Looking into CSS, I hated the plucky styling rules. Up to this point, I had come from a strong programming background, so I had this bias. It seemed foreign to have global rules, no variables, and no encapsulation.
当我刚开始从事网络建设的职业时,我几乎不知道CSS是什么。 结果,作为一个Web开发人员,我的第一份工作面试完全失败了。 在研究CSS时,我讨厌笨拙的样式规则。 到目前为止,我来自强大的编程背景,因此有这种偏见。 具有全局规则,没有变量和没有封装似乎很陌生。
But then, at some point, I decided to take CSS seriously. It wasn’t until then that a path towards mastering CSS began. Craftsmanship begins by taking the time to study with patience and perseverance. It’s the path towards taking your skills to the next level.
但是后来,我决定认真考虑CSS。 直到那时,才开始掌握CSS。 技巧始于花时间耐心和毅力地学习。 这是将您的技能提升到更高水平的途径。
In a team setting, there’s a need to step outside your comfort zone. For example, is the data layer broken? Gasp! It may be time to roll up your sleeves and figure this out. A busted database can wreak havoc on the team. If you’re comfortable with the front end, it will be a good opportunity to pick up the back end.
在团队环境中,需要走出舒适区。 例如,数据层是否损坏? 喘气! 也许是时候卷起袖子弄清楚了。 数据库崩溃可能会对团队造成严重破坏。 如果您对前端感到满意,那么这将是一个拾起后端的好机会。
Or are there merge issues with the release branch? That’s right — it might be time to brush up on those source control skills and get your hands dirty. If the team doesn’t ship working software then clients will not get a bill. It may not be the most warm and cozy type of work, but it’s what the team needs.
还是发布分支存在合并问题? 没错-现在可能是时候掌握这些源代码控制技能并弄脏您的手了。 如果团队未交付有效的软件,则客户将不会收到账单。 它可能不是最热情,最舒适的工作,但这是团队所需要的。
Or how about making code reviews your top priority? Reviewing and providing feedback on code solutions is grueling. But it’s super rewarding to know how fellow engineers approach problems. Often, the job everyone hates is what adds the most value.
或者如何使代码审查成为您的头等大事? 审查并提供有关代码解决方案的反馈非常麻烦。 但是,了解其他工程师如何解决问题是一件非常有意义的事情。 通常,每个人都讨厌的工作是最大的价值所在。
Can you think of a tool or skill you both hate but yet have mastered? This is the kind of hate vs mastery relationship illustrated in the Star Wars analogy. After all, Obi-Wan kills General Grievous in a single blaster shot. Then follows up with a few more right on target just to finish the job.
您能想到自己都讨厌但已经掌握的工具或技能吗? 这就是《星际大战》类比中说明的仇恨与精通关系。 毕竟,奥比旺(Obi-Wan)一次爆炸就杀死了格里沃斯将军(General Grievous)。 然后跟进一些目标,以完成工作。
On to my final point. Ever wondered who are some of the best team mates you’ve ever worked with? Was it because of what they did for themselves, or what they did for you? Say there’s this wretched stored procedure everyone hates, and this person takes the time to move it out of the database and add proper unit tests. In spite of working with nasty code, they go above and beyond the call of duty by leaving it better than they found it. With this attitude, you can find little opportunities to grow and add value. It takes skill to produce working software, but a craftsman does what’s best for the team.
到我的最后一点。 有没有想过与您合作过的最好的队友是谁? 是因为他们为自己做了什么,还是他们为您做了什么? 假设每个人都讨厌这个令人沮丧的存储过程,这个人花时间将其移出数据库并添加适当的单元测试。 尽管使用了令人讨厌的代码,但它们仍然超出职责范围,其工作方式要比发现的要好。 以这种态度,您几乎找不到增长和增加价值的机会。 制作工作软件需要技巧,但工匠会为团队做最好的事情。
I once saw a team that struggled to work well together. It was a place where egos ran high, and the only expectation was to do the job with few questions. Each person had a certain silo. The one who mastered their comfort zone became a lead of sorts. To the team, you were just a utility with a narrow skill. Looking back, I struggled to find any footing, because I focused on what I thought I was good at and felt good about. The team fizzled because the company set unrealistic expectations and budgets got cut. It convinced me that this type of environment is detrimental for your career. In the end, everyone loses.
我曾经看到一个团队努力地工作得很好。 这是一个自我崇高的地方,唯一的期望就是在完成这项工作时很少提出疑问。 每个人都有一个筒仓。 掌握了自己的舒适区的人成为了领导。 对于团队而言,您只是技能有限的公用事业。 回顾过去,我很难找到任何立足点,因为我专注于自己认为自己擅长并擅长的事情。 团队之所以失败,是因为该公司设定了不切实际的期望,并且预算被削减了。 它使我确信,这种环境对您的职业有害。 最后,所有人都输了。
I’ve found that the best teams are the kinds of places where people care about each other. Each individual gets a voice and gets treated as an equal. When one person disagrees, there’s an attempt to reconcile and find common ground. In this team environment, there’s an opportunity to grow. What’s so radical is that everyone gets to be a leader. In short, a leader is someone who does something hard, in order to help others. You don’t need a fancy hat or a title to be one.
我发现,最好的团队是人们互相关心的地方。 每个人都有自己的声音,被平等对待。 当一个人不同意时,就会尝试和解并找到共同点。 在这种团队环境中,有成长的机会。 如此激进是每个人都必须成为领导者。 简而言之,领导者是为了帮助他人而努力工作的人。 您并不需要花哨的帽子或头衔。
Leadership begins by doing the kind of job everyone hates and mastering it.
领导力开始于做每个人都讨厌并完成的工作。
Leadership is when someone comes up and says “Glad you did that. I couldn’t find it in myself to do this.”
领导力是指有人上前说:“很高兴您做到了。 我自己找不到做到这一点。”
It’s embracing the ideas and decisions the team makes and pushing them further.
它包含团队制定的想法和决定,并进一步推动它们。
It’s having a real concern for others. Passionate leaders effect change to perfect their teams.
它真正引起了别人的关注。 充满激情的领导者会做出改变,以完善自己的团队。
When I think of the selfless programmer, I really think of a leader. The one who puts their comfort zone second.
当我想到无私的程序员时,我真的想到了一个领导者。 将舒适区放在第二位的人。
So there you have it — three simple ways be more effective in a web team, given the opportunity to grow within the team.
这样就可以了–有了在团队中成长的机会,三种简单的方法可以使Web团队更有效。
Of course, an open mind is necessary for anyone to grow — at times, finding yourself doing something you’ve never done before. Just as when I first began learning CSS, you may end up enjoying that thing you hate for now.
当然,一个开放的思维对于任何人的成长都是必要的-有时,发现自己做着从未做过的事情。 就像我刚开始学习CSS一样,您可能最终会喜欢上您现在讨厌的东西。
The best attitude says, “Boy, I have no idea how to do this thing everyone hates, but let me figure it out.” This is a perfect example of leadership — stepping up to a challenge when no one on a team knows how to achieve the goal.
最好的态度是:“男孩,我不知道该如何做每个人都讨厌的事情,但让我自己弄清楚。” 这是领导力的完美典范-当团队中没人知道如何实现目标时,加紧挑战。
What about you? Have you had similar experiences on a team? Do you have any insights to add? Have you ever stepped outside your comfort zone within a team to tackle something new?
你呢? 您在团队中有类似的经历吗? 您有什么见解可以补充吗? 您是否曾经跨过团队的舒适区来应对新事物?
翻译自: https://www.sitepoint.com/work-effectively-in-a-web-development-team/
web开发中团队合作