面试时与人事交谈时间

by Greg Sabo

由格雷格·萨博(Greg Sabo)

如何与您的技术负责人交谈并解决通讯故障 (How to talk to your tech lead and fix your communication glitches)

Here’s where you messed up.

这是你搞砸的地方。

Your tech lead told you to build out a new API endpoint for an upcoming feature. It was supposed to be simple: just return a list of the current user’s email addresses.

您的技术负责人告诉您为即将推出的功能构建新的API端点。 它本来很简单:只需返回当前用户的电子邮件地址列表即可。

You start with the usual boilerplate. You register the new endpoint. You associate it with a controller. You add an explanatory comment.

您从通常的样板开始。 您注册新的端点。 您将其与控制器关联。 您添加一个解释性注释。

Then you discover that the query is impossible. The user’s email addresses all live on different database shards.

然后您发现查询是不可能的。 用户的电子邮件地址全部驻留在不同的数据库分片上。

The footlights flip on. The curtain rises. This is your time to be a software superstar! You’ll use your hard work and creativity to find a solution to this unique problem.

脚灯打开。 帷幕升起。 这是您成为软件巨星的时间! 您将用自己的辛勤工作和创造力找到解决这一独特问题的方法。

You begin building a denormalized table to keep the data local to the user’s shard, as well as a wrapping layer to keep the copies in sync. Your solution is scalable and performant. Look at you go!

您将开始构建一个非规范化表,以使数据保持在用户分片本地,并创建一个包装层,以使副本保持同步。 您的解决方案具有可扩展性和高性能。 看你走!

Here’s the problem. You didn’t talk to your tech lead. From their perspective, they gave you a simple thing to work on, and it’s taking you three times longer than expected. It doesn’t matter if you’re creating the perfect architecture. You’ve eroded trust in your relationship with your team lead.

这是问题所在。 您没有与技术负责人交谈。 从他们的角度来看,他们给您提供了一件简单的工作,而且比您预期的要花三倍的时间。 是否创建完美的体系结构都没关系。 您与团队领导之间的关系已经失去了信任。

The best engineers can create elegant systems, but they also talk to their tech leads the right way. Here’s what I recommend.

最好的工程师可以创建优雅的系统,但是他们也以正确的方式与他们的技术负责人交谈。 这是我的建议。

1.在会议期间,集中精力解决问题 (1. During meetings, focus on how you’re tackling what’s going wrong)

It’s time for the standup. What are you going to say to your team and your teach lead?

是时候站起来了。 您要对您的团队和您的老师说什么?

“I’ve made some progress on this thing yesterday. I ran into some test failures, and I’m fixing them now. I hope to ship this today.”

“昨天我在这件事上取得了一些进展。 我遇到了一些测试失败,现在正在修复它们。 我希望今天发货。”

That was a status update. And it was pointless.

那是状态更新。 这毫无意义。

Status updates are communications that have no response other than “OK, sounds good.” Why spend the time giving these in-person updates then?

状态更新是除了“好,听起来不错”以外没有其他响应的通信。 那为什么要花时间给这些亲人更新呢?

The whole point of holding standups is to encourage team members to unblock one another. The traditional three questions are:

保持站立状态的全部目的是鼓励团队成员彼此解除障碍。 传统的三个问题是:

1. What did you finish yesterday?2. What will you finish today?3. What's blocking you?

People often focus on the first two and omit the final thing entirely. But it’s the most important!

人们通常只关注前两个,而完全忽略最后一个。 但这是最重要的!

People often interpret “What’s blocking you” as “What’s completely stopping you from working?” That’s why I prefer the question “What’s your red flag?” instead.

人们通常将“什么阻止了您”解释为“什么完全阻止了您的工作?” 因此,我更喜欢“您的危险信号是什么?”这个问题。 代替。

A red flag is anything that’s going to slow you down. Here are some examples of red flags:

危险信号是任何会使您减速的事情。 以下是一些危险信号示例:

  • “I’m not sure how to get started on the test for this.”“我不确定该如何开始测试。”
  • “I need to figure out what the mobile team needs me to do here.”“我需要弄清楚移动团队需要我在这里做什么。”
  • “I need to refactor this component to get this to work.”“我需要重构此组件才能使其正常工作。”

None of these are things that are completely stopping you from working. But they are going to take up a considerable portion of your time.

这些都不是完全阻止您工作的东西。 但是它们将占用您相当多的时间。

This is what your tech lead wants to hear. It’s their best opportunity to do their job, to help speed you up and come up with solutions to your trickiest problems.

这就是您的技术主管想要听到的。 这是他们工作的最佳机会,可以帮助您加快速度并提出最棘手的问题的解决方案。

An important note about red flags: you should always maintain clear responsibility for your project as you state your red flag. You shouldn’t be in the habit of using red flags as an excuse for not getting your work done.

关于危险标志的重要说明:在声明危险标志时,您应始终对项目负有明确的责任 。 您不应该习惯于使用红旗作为未完成工作的借口。

Most people want to sound impressive during their standup. They want to say, “Look at all this stuff I got done yesterday! Look at how awesome I am.” Resist that temptation, and instead focus on how you can accelerate the work ahead.

大多数人想在站立时听起来令人印象深刻。 他们想说:“看看我昨天做的所有事情! 看看我有多棒。” 抵制这种诱惑,而专注于如何加快前进的步伐。

2.会议之间,积极沟通 (2. Between meetings, communicate proactively)

When you’re working as a team lead or tech lead, you have this constant paranoia that your team is completely stuck and you don’t know it.

当您以团队负责人或技术负责人的身份工作时,就会产生这种持续的偏执狂,以至于您的团队完全陷入僵局而又不知道。

You come into your team’s work pod, and everyone’s at their desk. But what are they doing? Are they making good progress? Are they spending their time implementing something the completely wrong way? It’s hard to tell.

您进入团队的工作区,每个人都在他们的办公桌前。 但是他们在做什么? 他们进展良好吗? 他们是否在花费时间实施完全错误的方法? 很难说。

And of course, the tech lead absolutely must have a trusting relationship with their team. They can’t let this paranoia control their behavior at all times. So they end up not asking.

当然,技术负责人绝对必须与其团队建立信任关系。 他们不能让这种妄想症始终控制着他们的行为。 因此,他们最终没有提出要求。

This is your opportunity to meet one of your tech lead’s needs. You should proactively communicate about what you’re doing at least twice per day.

这是您满足技术领导者需求之一的机会。 您应该每天至少两次主动地传达自己在做什么。

What do I mean by proactive communication? I mean any conversation that’s initiated by you. Check-ins started by your tech lead and scheduled meetings don’t count as proactive.

主动沟通是什么意思? 我的意思是您发起的任何对话。 由技术负责人启动的签入和计划的会议不算是主动的。

Examples of ways to kick of proactive communication:

主动沟通方法示例:

  • Sending a Slack message发送松弛消息
  • Commenting on an Asana task that they’re following评论他们正在关注的Asana任务
  • Catching them as they come back to their desk当他们回到办公桌时抓住他们

Proactive communication sometimes takes the form of asking for help. “I can’t get this module to import and I don’t know what’s wrong. Can you help?” These are opportunities for the tech lead to do their job, and if you’re truly blocked then it’s time well spent.

主动沟通有时会寻求帮助 。 “我无法导入此模块,也不知道出了什么问题。 你能帮我吗?” 这些都是技术领先者完成工作的机会,如果您确实受到限制,那么这是值得花费的时间。

The other form proactive communication can take is a checkpoint. Something like, “I’m working on this feature, and I’m finding that I’ll need to hoist this state up all the way to the root component for it to work. Let me know if you want to discuss this.” This is a great way to surface potential architectural disagreements. Stop waiting for code review before talking about this stuff, seriously.

主动通信可以采取的另一种形式是检查点。 诸如“我正在研究此功能,发现需要将这种状态一直提升到根组件才能使其正常工作。 如果您想讨论这个问题,请告诉我。” 这是解决潜在的架构分歧的好方法。 认真地谈论这些东西之前,请不要等待代码审查。

Proactive communication seems easy. In practice everyone hesitates before “bothering” someone else with this kind of communication. Try adding a daily task to your to-do list to proactively communicate, and you’ll see what I mean.

主动沟通似乎很容易。 实际上,每个人都会犹豫,然后再通过这种交流“拥抱”他人。 尝试将日常任务添加到待办事项列表中以进行主动沟通,您将明白我的意思。

Like all communication patterns, it’s worth your time to have an open discussion with your tech lead on their preferences. Do they hate Slack? How many status updates per day is too many? Did your communication over the past week benefit the team or not?

像所有沟通方式一样,值得您与技术负责人就他们的偏好进行公开讨论。 他们讨厌松弛吗? 每天有多少状态更新太多? 您过去一周的交流对团队有没有好处?

3.在技术讨论期间,重复和总结 (3. During technical discussions, repeat and summarize)

It’s important that you and your tech lead have at least some alignment around the technical decisions you’re making. Your opportunity for making this alignment happen is technical conversations.

重要的是,您和您的技术主管必须至少与您所制定的技术决策保持一致。 您进行这种调整的机会是技术交流。

Technical conversations might look like your tech lead sitting down with you to kick off a new project. Your tech lead has some initial thoughts on how it could be implemented, and they’re sharing them with you.

技术对话可能看起来像您的技术负责人与您坐下来展开一个新项目。 您的技术负责人对如何实现它有一些初步的想法,并且正在与您分享。

Often, your tech lead might have more historical context than you on the system that’s changing. So they’ll probably say at least one thing that makes you go “huh?”

通常,与正在更改的系统相比,您的技术主管可能拥有比您更多的历史背景。 因此,他们可能会说至少一件事会让您“走下去?”

Your tech lead knows this. But they don’t know which things they’re saying are going to make you go “huh?” unless you actually say “huh?”

您的技术主管知道这一点。 但是他们不知道他们在说什么会使你走““?” 除非你真的说“嗯?”

Always clarify both what you do and don’t find confusing. Rather than saying “I’m lost,” clarify “I understand X, but I don’t understand Y.”

始终澄清您所做的事情不要感到困惑。 与其说“我迷路了”,不如说“我理解X,但我不理解Y。”

Ultimately, you want your tech lead to walk away from the conversation with a lot of confidence that you heard and understood what they had to say. A lot of people try to achieve this by smiling and nodding. That has the opposite effect.

最终,您希望您的技术负责人对您听到并理解他们所说的话充满信心,摆脱对话。 很多人试图通过微笑和点头来实现这一目标。 产生相反的效果。

Instead of smiling and nodding when you understand, repeat and summarize what you heard.

当您理解时,不要微笑和点头,而是要重复并总结所听到的内容。

For example:

例如:

“Got it. What I’m hearing is, I should calculate this value on the server to reduce roundtrips, and send it down to the client during page load.”

“得到它了。 我听到的是,我应该在服务器上计算该值以减少往返次数,并在页面加载期间将其发送给客户端。”

This pretty much proves to your tech lead that you were listening to them. And it actually forces you to listen better.

这几乎向您的技术主管证明了您正在听他们的话。 它实际上迫使您更好地聆听。

When trying this out, you’re going to resist at first. It kind of feels like you’re being bossy and interruptive. It also kind of feels like you’re just patronizingly copying what they say.

尝试此操作时,首先要抵抗。 感觉就像是您在专横而专横。 感觉就像您只是在光顾他们所说的那样。

Don’t let that stop you. Think about how the tech lead will feel. I can tell you that it’s a real relief to see the other person take the initiative to repeat and summarize.

不要让那阻止你。 考虑一下技术领先者的感受。 我可以告诉你,看到另一个人主动重复和总结是一件真正的安慰。

These summaries are usually action items. Your next step should be to write them down somewhere. Put them somewhere that your tech lead can see them and provide corrections if you’re wrong.

这些摘要通常是操作项。 下一步应该是将它们写下来。 将其放置在技术主管可以看到它们的位置,如果您输入错了,可以提供纠正。

成为超级合作者 (Be a super collaborator)

Tech leads want to work with engineers who take responsibility. This can be hard to do on a technical level if you’re not familiar with the systems that you’re working with.

技术负责人希望与负责的工程师合作。 如果您不熟悉所使用的系统,那么在技术层面上很难做到这一点。

But what you can take responsibility for is how you communicate about your work. Think about how you can shift your communication patterns with your tech lead, and you’ll easily discover powerful new habits to build.

但你可以采取的就是你对你的工作如何沟通的责任。 考虑一下如何与技术负责人改变沟通方式,您会轻松发现强大的新习惯来养成。

如果您热衷于帮助团队进行有效的协作,则应该在Asana与我合作。 (If you’re passionate about helping teams collaborate effectively, you should work with me at Asana.)

翻译自: https://www.freecodecamp.org/news/the-best-way-to-talk-to-your-tech-lead-fc6e7adb1e55/

面试时与人事交谈时间

面试时与人事交谈时间_如何与您的技术负责人交谈并解决通讯故障相关推荐

  1. java技术主管的岗位职责_【JAVA项目经理/技术负责人职责】2021年利必达电商JAVA项目经理/技术负责人岗位职责-看准网...

    本人机械方向大三学生,参加了17年5月底的大疆提前批校招,应聘机械工程师职位,经过了两轮简历筛选.一轮网测.一次电话初面和一次视频面试,因为自身能力不够,视频面试表现不好,应该拿不到最后的offer了 ...

  2. 通讯故障_掌握PLC必备知识,人机界面和 PLC 出现通讯故障如何分析解决

    此次主要在阐述人机界面和 PLC 通讯时的模式状态,并列举了通讯故障实例.帮助大伙加深对这俩者的了解,掌握起来也不再是难题,解决掉拦路虎. 一 台数 显 四 辊 卷 板 机PLC 控 制 系 统 核 ...

  3. 面试pythonweb开发的简历_【经验分享】对于Python各个方向的面试经验分享,非常给力!...

    之前早有前辈们说过,"裸辞一时爽,一直裸辞一直爽",这话一点不假,裸辞你要面临没有收入来源,但是每天眼睁睁看着各种花销不断支出的煎熬,我主要是觉得一边在上家公司工作一边去下家面试可 ...

  4. 面试官问面向对象特点_最好的面试官有什么共同点?

    面试官问面向对象特点 by Aline Lerner 通过艾琳·勒纳(Aline Lerner) 最好的面试官有什么共同点? 我们查看了成千上万的真实访谈以找出答案. (What do the bes ...

  5. 06-JAVA面试核心知识点整理(时间较多的同学全面复习)

    JVM (1) 基本概念: JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆 和 一个存储方法域.JVM 是运行在操作系统之上的,它与硬件没有直接的 ...

  6. 2016江苏计算机二级考试时间,2016年江苏计算机二级考试报名时间_无忧考网.pdf...

    2016 年江苏计算机二级考试报名时间 _无忧考 网 篇一:计算机二级报名 [编辑寄语]2016 年 NCRE安排两次 考试 ,考试时间分别为 3 月 26 日-29 日.9 月 17 日至 20 日 ...

  7. 极客时间_软件设计之美 笔记

    极客时间_软件设计之美 笔记 1.软件设计是什么 写代码前应该有模型设计 比如mvc结构就是一种模型 代码应该有规范, 产品内部原则 避免每个开发按自己的想法实现,有人写rest 有人写mvc 代码模 ...

  8. 电子科技大学2021计算机考研复试科目,2021西安电子科技大学考研复试时间_西安交通大学考研复试科目...

    2021考研初试已经落下帷幕,现在就是等待考研成绩及复试的环节了,大家可以预约2021考研成绩查询,一经发布立马提醒,现在同学只需要调整好状态继续前进,准备复试啦!陕西研招网跟大家分享"20 ...

  9. mysql 易语言修改时间_易语言系统日期修改方式

    在使用易语言开发软件的过程中,人们为了方便查看日期的需要,往往会在软件的界面上添加当前的系统日期.想要实现这个功能或者效果,方法有好多.调用API完全可以实现,但是,今天的易语言已经为大家封装好了命令 ...

最新文章

  1. 深度学习--TensorFlow(3)线性神经网络(线性输入非线性输入)(实现)
  2. 批量自动外呼带来的效益
  3. boost::describe模块实现连载功能的测试程序
  4. 【Blog.Core开源】网关统一集成下游服务文档
  5. 秘境探索之一个.NET 对象从内存分配到内存回收
  6. go中的读写锁RWMutex
  7. glassfish 初次使用 (介绍・目录结构・注意点・基本命令・控制台・eclipse插件安装)
  8. 每天备份数据库中的表
  9. linux内核奇遇记之md源代码解读之一
  10. 基于51单片机的热敏电阻测温设计
  11. DevExpress去除多国语言包
  12. linux清除网络记录,Linux清除用户登录记录和命令历史方法
  13. Python Turtle绘图[难度2星]:横切的橙子(配色优化——邻近色/反差色)
  14. 3:AngularJS:模糊查询过滤内容,下拉菜单排序,过滤敏感字符,验证判断后添加表格信息
  15. 软件工程 个人学习笔记(第三章)
  16. libxml2生成,解析,修改xml文件,以及使用实例
  17. 操作系统——磁盘操作
  18. 以太网(Ethernet)通信简单理解
  19. Word学习笔记-使用技巧
  20. Consul 基本概念,同类比较和内部原理

热门文章

  1. input输入框为number类型时,去掉上下小箭头
  2. java开发环境变量配置-JDK11-(win10),重启之后环境变量配置失效的解决办法
  3. v9php 碎片信息,phpcms v9碎片管理及调用技巧分享
  4. 子div超出父div_菜鸟学 react props 子到父
  5. python如何实现找图_利用OpenCV和Python实现查找图片差异
  6. 浅谈 MVP in Android
  7. SVN提交错误:working copy is not up-to-date解决方法
  8. 分布式文件系统(FastDFS)安装 配置
  9. 解决vim没有颜色的办法
  10. Linux启动流程(二)