面试时与人事交谈时间_如何与您的技术负责人交谈并解决通讯故障
面试时与人事交谈时间
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/
面试时与人事交谈时间
相关文章:

inotify简介
一、inotify简介 inotify是Linux内核2.6.13 (June 18, 2005)版本新增的一个子系统(API),它提供了一种监控文件系统(基于inode的)事件的机制,可以监控文件系统的变化如文件修改、新增、删除等,并…

链路层寻址与 ARP
一、 MAC 地址 不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址。因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址。 然而,链路层交换机并不具有与它们接口相关联的…

React 开始制作 6
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 从模拟开始 第1步:将UI分解为组件层次结构 不同的颜色为不同的组件, 第2步:在React中构建静态版本 第3步:确定UI状态的最小(但完整ÿ…

php 空间类元素引入_引入单元素模式
php 空间类元素引入by Diego Haz迭戈哈兹(Diego Haz) 引入单元素模式 (Introducing the Single Element Pattern) 使用React和其他基于组件的库创建可靠的构建基块的规则和最佳实践。 (Rules and best practices for creating reliable building blocks with React and other …
Tcl学习之--列表|字典
【列表|字典】Tcl使用列表来处理各种集合,比方一个目录中的全部文件,以及一个组件的全部选项。最简单的列表就是包括由随意个空格、制表符、换行符、分隔的随意多个元素的字符串。比方: JerryAlice Mandy David l lindex命令: --> 获取元素 至少须要…

JAVA代码实现下载单个文件,和下载打包文件
//下载单个文件调用方法 /** * response * imgPath 下载图片地址 * fileName 保存下载文件名称 * date 2015年4月14日 下午5:53:24 */ public static void download(HttpServletResponse response,String imgPath,String fileName){ OutputStrea…

php读取本地xlsx格式文件的数据并按json格式返回
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 目的:php读取并操作本地xlsx格式的文件; 完整示例代码: 代码讲解:前端发起post网络请求,php接收一个name(姓名)的参数…

面向对象编程概念_如何向6岁的孩子解释面向对象的编程概念
面向对象编程概念by Alexander Petkov通过亚历山大佩特科夫(Alexander Petkov) Have you noticed how the same cliche questions always get asked at job interviews — over and over again?您是否注意到在求职面试中总是一遍又一遍地问同样的陈词滥调问题? I…

jQuery 属性
jQuery 属性 方法描述context在版本 1.10 中被废弃。包含被传递到 jQuery 的原始上下文jquery包含 jQuery 的版本号jQuery.fx.interval改变以毫秒计的动画运行速率jQuery.fx.off对所有动画进行全局禁用或启用jQuery.support包含表示不同浏览器特性或漏洞的属性集(主…

mongodb的几种启动方法
1 mongodb的几种启动方法 启动Mongodb服务有两种方式,前台启动或者Daemon方式启动,前者启动会需要保持当前Session不能被关闭,后者可以作为系统的fork进程执行,下文中的path是mongodb部署的实际地址。1. 最简单的启动方式…

php 修改数据库表的字段的值
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 php 前端传递参数,遍历数据库表的字段后根据条件进行修改。 <?phpheader("Content-Type:text/html;charsetutf8"); header("Access-Control-Allow-Origin: *"); //解…

如何开始使用PostgreSQL
by Akul Tomar通过Akul Tomar 如何开始使用PostgreSQL (How to get started with PostgreSQL) PostgreSQL is an open source Relational Database Management System (RDBMS). In this article, I’ll provide an introduction to getting started with PostgreSQL. Here is …

Java中数组常见的几种排序方法!
数组的定义: int[] arr new int[5];int[] arr1 {1,2,3,4,5};long[] arr2 new long[6];String[] strs new String[5];Person[] ps new Person[5]; 数组的操作: int[] arr {45, 34, 53, 43};Arrays.sort(arr);System.out.println(Arrays.toString(ar…

oracle 如何预估将要创建的索引的大小
一.1 oracle 如何预估将要创建的索引的大小 oracle 提供了2种可以预估将要创建的索引大小的办法: ① 利用包 Dbms_space.create_index_cost 直接得到 ② 利用11g新特性 Note raised when explain plan for create index 下边分别举例说明。 一.2 环境说明 [ora…

删除对象的某个属性
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 实现代码: var data {a:1,b:2,c:3}for(var item in data){if (item b) {delete data[item];} }console.log(data:, data) 打印结果: data: {a: 1, c: 3}

java 学到什么实习_我如何获得外展实习机会以及到目前为止所学到的知识
java 学到什么实习by Nguedia Adele由Nguedia Adele 我如何获得外展实习机会以及到目前为止所学到的知识 (How I got my Outreachy internship and what I’ve learned so far) I recently got accepted for an Outreachy internship, working with LibreHealth.我最近接受了与…

STM32F103C8开发板原理图和管脚图
转载于:https://www.cnblogs.com/libra13179/p/6894335.html

js实用数组方法
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 判断是否为数组 1. Array.isArray([]) 2. var arr[1,2] arr instanceof Array -->true arr instanceof String -->false map ---- 返回数组得出的结果 const filtered [1, 2,…

BasicModal - 简单易用的现代 Web App 弹窗
BasicModal 是为现代 Web 应用程序打造的弹窗系统。它包括所有你需要显示的信息,问题或接收用户的输入。这里的弹窗还可以链接起来,所以你可以很容易地建立一个预定义顺序的安装帮助或显示对话框。无效输入可以使用包含突出显示和处理功能。 在线演示 …

javascript选择器_如何通过选择正确JavaScript选择器来避免沮丧
javascript选择器选择器如何影响代码的快速指南 (A quick guide on how selectors affect your code) While working on a project, I ran into an issue in my code. I was attempting to define multiple HTML elements into a collection and then change those elements ba…

Asp.net中GridView使用详解(引)【转】
Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView…

《任正非:我若贪生怕死,何来让你们英勇奋斗》
非常高兴尼泊尔代表处的进步,你们的一个历史项目概算亏损,从大前年亏损2.7亿美金,到前年亏损3000万美金,到去年盈利2140万美金。在喜马拉雅南麓一路爬坡,辛苦了。听说去年你们都涨了工资,我十分高兴。巴西代…

个人使用微信支付
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 首先在PAYJS申请到商户号和密钥, 然后实现源码如下: <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><title>…

构建node.js基础镜像_我如何使用Node.js构建工作抓取网络应用
构建node.js基础镜像by Oyetoke Tobi Emmanuel由Oyetoke Tobi Emmanuel 我如何使用Node.js构建工作抓取网络应用 (How I built a job scraping web app using Node.js) Scraping jobs from the web has now become easier thanks to Indreed.现在,借助Indreed&…

Robotium测试报告的生成方法(上)
7.1 使用junit-report生成报告 这个是参考网上的:http://www.xuebuyuan.com/2148574.html,经我个人验证是可行的方法,网上写的挺详细的,不过有些不太清楚明白的地方,鉴于网上说的有点迷茫,所以下面我再细化…

Python之向日志输出中添加上下文信息
除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息。比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名。…

小程序点击图片自动播放视频,停止上一个视频播放
微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 通过列表的点击事件自动播放列表对应的视频,同时停止上一个视频的播放 源码: <view><view classvv wx:for{{vedio_data}} wx:key><view classblock stylemargin…

hitchhiker部署_Hitchhiker的React Router v4指南:无限远的递归路径!
hitchhiker部署Welcome to the third part of the Hitchhiker’s Guide to React Router v4. In this article we’re going to focus on recursive paths. If you’ve missed the first two parts, you can find part 1 here and part 2 here.欢迎阅读《 Hitchhiker React Rou…

smbpasswd 和 pdbedit 的区别
smbpasswd 和 pdbedit 的区别 以前我们在windows上共享文件的话,只需右击要共享的文件夹然后选择共享相关的选项设置即可。然而如何实现windows和linux的文件共享呢?这就涉及到了samba服务了,这个软件配置起来也不难,使用也非常简…

DB天气app冲刺二阶段第十一天(完结)
今天最后一天冲刺了,明天就不再冲刺了。。已经把所有的技术的问题还有设计的问题都弄好了吧应该说 至少目前来说是的。因为有的实现不了的或者需要耗费时间的已经果断舍弃了,然后需要完善的也都基本完善了。 现在还需要做的就是素材的收集整理。需要抽半…