如何在twitter上看片_我在Twitter上一年学到的东西

2023-05-16

如何在twitter上看片

A year ago, I joined Twitter as a software engineer in the Ads Measurement team after interviewing with many top tech companies in the Seattle region. You can read more about my story here.

一年前,在采访了西雅图地区的许多顶级高科技公司之后,我加入了Twitter,担任Ads Measurement团队的软件工程师。 您可以在此处阅读有关我的故事的更多信息。

In my mind, I had a checklist of what I was looking for. It was organized in descending priority:

在我的脑海中,我有一份我要寻找的清单。 它按降序排列:

  • A supportive team that works as a unit

    一支团结协作的团队
  • Work-life balance

    工作与生活的平衡
  • Financial compensation at market value

    按市场价值的经济补偿
  • The company supports and provides ample opportunities for employees to learn and grow

    公司为员工提供学习和成长的支持并为其提供充足的机会
  • The company is accelerating in growth

    公司正在加速增长

I had the privilege of choosing from many top-tier tech companies at the time. After evaluating all options and discussing with my friends and family, I decided to join Twitter.

当时我有幸从许多顶级科技公司中进行选择。 在评估所有选项并与我的朋友和家人讨论之后,我决定加入Twitter。

This article is a condensation of my thoughts after a year at Twitter, what I learned as a software engineer, how I spent my time, and much more. More than anything, this is a self-reflection to keep myself accountable for my own career and decisions.

这篇文章总结了我在Twitter呆了一年后的思想,作为软件工程师所学的知识,如何度过的时间等等。 最重要的是,这是一种自我反射,使自己对自己的职业和决策负责。

过去一年我学到的 (What I’ve learned in the past year)

强大的工程文化确保卓越 (Strong engineering culture ensures excellence)

As an engineer, I’ve witnessed first-hand that Twitter has a strong engineering culture that pushes engineers to settle for nothing less than excellence. Twitter is intensely focused on promoting a growth mindset — so much so that they send over a book called Mindset on a new hire’s first day of work. And since we’re a Scala-heavy team, there’s also a copy of Scala for the Impatient :)

作为一名工程师,我亲眼目睹了Twitter具有强大的工程文化,促使工程师为追求卓越而努力。 Twitter非常关注促进增长的心态-如此之多,以至于他们在新员工上班的第一天就寄出了一本名为Mindset的书。 而且由于我们是一个Scala繁重的团队,因此还有一份Scala可供不耐烦的人使用 :)

Other than that, I’ve also observed some key areas where Twitter places emphasis on excellent engineering culture.

除此之外,我还观察到了Twitter强调优秀工程文化的一些关键领域。

Move fast, break things.

快速行动,打破事物。

There’s a caveat with the motto, however — who will fix the broken things? During my time at Twitter, I’ve learned that the culture of moving fast needs to be accompanied with appropriate metrics and alerting to help you monitor progress.

然而,座右铭是一个警告-谁来修复损坏的东西? 在Twitter期间,我了解到快速行动的文化需要伴随适当的指标和警报,以帮助您监控进度。

Coming from a startup background, the top priority was to ship things. Features make money, code quality doesn’t. Yet many software engineers will tell you that the majority of the cost in software development comes from the long-term maintenance of the software. The trade-off between shipping fast and shipping with quality is often a topic of debate.

来自创业背景,当务之急是运送东西。 功能赚钱,代码质量不赚钱。 但是,许多软件工程师会告诉您,软件开发的大部分成本来自软件的长期维护。 快速运输和高质量运输之间的权衡通常是争论的话题。

What I’ve learned is that shipping with high velocity is fine as long as there are proper metrics and strategies to limit blast radius.

我知道, 只要有适当的度量和策略来限制爆炸半径 ,高速运输就可以了

Proper alerts and metrics in-place can help you monitor the health of your feature, and inform the decision of “should I keep or kill this feature?” Being able to limit blast radius means you can experiment freely with new features while being able to isolate the scope of impact. Both together will truly allow you to “move fast and break things”.

适当的警报和就地度量标准可以帮助您监视功能的运行状况 ,并告知“我应该保留还是取消该功能?”的决定。 能够限制爆炸半径意味着您可以自由尝试新功能,同时可以隔离影响范围 。 两者共同将使您真正“快速行动并打破事物”。

在一个大团队中,流程至关重要 (Process is crucial in a big team)

Process helps build consistency, and enables new engineers to onboard quickly. In a small startup of 50–100 people, it can be easy to mentor and onboard a new hire. However, once a company size hits a certain threshold, it becomes hard to keep track of things without standard procedure. Furthermore, the difficult to share knowledge grows exponentially with large groups of people.

流程有助于建立一致性,并使新工程师能够快速上岗。 在只有50至100人的小型初创企业中,可以很容易地指导和聘用新员工。 但是,一旦公司规模达到某个阈值,就很难在没有标准程序的情况下跟踪情况。 此外,与大批人共享知识的难度呈指数增长。

There’s a lot of talk about process as “bureaucracy”, “low productivity”, “necessary evil” and so forth. In some ways, that is true. On the flip side, I’ve seen first-hand how processes build consistency, reduce complexity, and increase productivity. Processes are guidelines — not rules — and can be updated as the team/company grows.

关于“官僚主义”,“生产力低下”,“必要的邪恶”等过程的讨论很多。 在某些方面,这是正确的。 另一方面,我亲眼看到了流程如何建立一致性,降低复杂性并提高生产率。 流程是准则,而不是规则 ,可以随着团队/公司的成长而更新。

For example, every new project is accompanied by a technical design document that outlines the goal(s), non-goal(s), possible solutions, success criteria, and potential risk factors.

例如,每个新项目都会随附一份技术设计文档,其中概述了目标,非目标,可能的解决方案,成功标准和潜在风险因素。

Internally, we wrote a template for our technical design doc to standardize the design process. The template itself forces the lead engineer to think about entire end-to-end scenarios, from deriving requirements, considering pros and cons of various alternatives, picking a solution, and then tying back the solution into success criteria.

在内部,我们为技术设计文档编写了一个模板,以标准化设计过程。 模板本身迫使首席工程师考虑整个端到端方案,从得出需求,考虑各种替代方案的利弊,选择解决方案,然后将解决方案重新绑定成成功标准。

Using data as a success metric allows us to move fast and/or pivot in case things don’t work out.

将数据用作成功指标,可以使我们快速行动和/或调整以防万一。

In addition, we have our work planned out in 2-week sprints, and we have a retrospective at the end of every sprint. Each sprint begins with a list of tasks that are prioritized according to resource availability and urgency. We then put these tasks into a Google spreadsheet, which is then populated like a calendar. I think it works amazingly well for keeping track of tasks, identifying bottlenecks, and most importantly, figuring out if we can deliver all tasks on time.

另外,我们将工作计划在2周的 sprint中进行,并且在每个sprint的结尾都有一个回顾 。 每个冲刺均以根据资源可用性和紧急程度确定优先级的任务列表开始。 然后,我们将这些任务放入Google电子表格中,然后将其填充为日历。 我认为它可以很好地跟踪任务,确定瓶颈,最重要的是弄清楚我们是否可以按时完成所有任务。

At the end of every sprint, we have a retrospective that discusses what went well and what could be improved. The retrospective celebrates wins and highlights failures so that we can learn from them to avoid making the same mistakes in the future.

在每次冲刺结束时,我们都会进行回顾,讨论哪些方面进展顺利,哪些方面可以改进。 回顾会庆祝胜利并强调失败,以便我们可以向他们学习,以避免将来犯同样的错误。

It’s important to celebrate wins, such as shipping a new product and reducing tech debt, because everyone worked really hard to achieve these. Morale is critical to keeping momentum high in the team. On the other hand, it’s also equally useful to scrutinize mess-ups so that we can identify what went wrong. There’s a right and wrong way of scrutinizing mistakes, which brings me to my next observation.

庆祝胜利很重要,例如交付新产品和减少技术债务,因为每个人都为实现这些目标而付出了巨大的努力。 士气对于保持团队的高动力至关重要。 另一方面,仔细检查混乱也同样有用,这样我们就可以识别出问题所在。 检查错误的对与错方法有很多,这使我进入了下一个观察。

无耻的文化 (Blameless culture)

Twitter encourages a blame-less environment, which further promotes learning from mistakes rather than finding fault. Mistakes happen to the best of us, and it’s important to have a healthy culture around failures.

Twitter提倡一种无责的环境,这种环境进一步促进了从错误中学习,而不是发现错误 。 错误是我们最大的错误,对于失败要有健康的文化很重要。

I’m not saying that we should just forgive and forget. Rather, we should vigorously search for the root cause, so that we can fix it at the core and prevent shooting ourselves in the foot in the future.

我并不是说我们应该原谅和忘记。 相反,我们应该大力寻找根本原因,以便我们可以将其固定在核心位置,并防止日后在脚上开枪。

Will Smith famously said in this interview:

威尔·史密斯(Will Smith)在这次采访中著名地说道:

“The best things in life are on the other side of fear.”

“生活最好的事情在恐惧的另一面 。”

I believe that making mistakes and taking risks are critical to building a resilient, fast-moving company. Thus, it’s very important to me as an engineer that the company I’m working for allows me to do just that. And Twitter has done exactly that — supported me by giving me the opportunity to take risks, make mistakes, and learn from them.

我相信犯错和冒险对于建立一个有韧性,快速发展的公司至关重要。 因此,作为一名工程师,对我来说非常重要的是,我所工作的公司允许我做到这一点。 Twitter确实做到了这一点–通过给我机会冒险,犯错误并向他们学习来支持我。

I’ve had my own share of failures in the past year. I dealt with them by coming up with a post-mortem analyzing what went wrong, why it happened, how it happened, and what could be done better next time around. The focus here is to pick apart what caused the issue and what barriers we can put in place to prevent similar blunders moving forward.

在过去的一年中,我有自己的失败经历。 我通过进行事后分析来解决这些问题,分析出了什么问题,发生原因,发生方式以及下次可以做的更好的事情。 这里的重点是找出造成问题的原因以及我们可以设置哪些障碍来防止类似的错误继续发展。

注重质量付出了利息 (Focusing on quality pays interest)

Like any other tech company, Twitter has tech debt that lurks around the corner just waiting to pounce. It’s like the elephant in the room — people notice it, yet they choose to ignore it. That is, until the elephant rears its massive, powerful trunk and crashes the party.

像其他任何一家科技公司一样,Twitter的技术债务潜伏在角落,等待突袭。 就像房间里的大象一样-人们注意到了它,但他们选择忽略它。 就是说,直到大象举起其庞大而有力的树干并使派对崩溃为止。

We recently started this hashtag, #CoreQuality, (we have a culture of making hashtags for everything) to reinforce internally what we are focusing on for the quarter. That’s right — we spent a quarter working on cleaning up code (a.k.a code refactoring), paying off tech debt, writing documentation, and investing in long-term stability.

我们最近开始使用#CoreQuality这个标签,(我们一直在为所有内容制作标签),以在内部加强我们本季度的重点。 没错-我们花了四分之一的时间来清理代码(又称代码重构 ),偿还技术债务,编写文档以及投资长期稳定性。

Along with #CoreQuality, we identified that spreading knowledge around the team is a critical step towards long-term stability. The way we thought about it was building up a T-shaped knowledge graph:

与#CoreQuality一起,我们发现在团队中传播知识是实现长期稳定性的关键一步。 我们的想法是建立一个T形知识图:

A T-shaped knowledge has 2 components:

T形知识包含两个组成部分:

  • Breadth, or “what do you know?”

    广度,或“您知道什么?”
  • Depth, or “how well do you know it?”

    深度,或“您对它的了解程度如何?”

We had realized at some point that some team members had deep expertise in a specific service while having basically zero knowledge of anything outside.

我们意识到,在某些时候,一些团队成员在特定服务方面拥有深厚的专业知识,而对外界的任何知识基本上为零。

This is so common that there’s a term for it — bus factor. It’s the risk factor of the number of team members that need to disappear before the project halts due to lack of expertise. A bus factor of 1 can also be loosely understood as a single point of failure, meaning that if this one key expert disappears, then the project will fail.

这是如此普遍,以至于有一个术语- 总线系数 。 这是由于缺乏专业知识而在项目停止之前需要消失的团队成员数量的风险因素。 总线系数1也可以大致理解为单点故障 ,这意味着,如果这个关键专家消失了,那么该项目将失败。

Our goal is to eliminate a bus factor of 1 across the team. To that end, we had started multiple initiatives:

我们的目标是消除整个团队的总线系数1。 为此,我们开始了多项举措:

  1. Invest 30 minutes every day on documentation (thanks to Open source portfolio). Our teammate, Lenny, suggested that we build up a habit of writing things we learn throughout the day, 30 minutes at a time.

    每天在文档上投资30分钟 (这要归功于开源产品组合 )。 我们的队友兰尼(Lenny)建议我们养成一种习惯,每天写一次30分钟的书来学习。

  2. Encourage tech brown bags. A brown bag is essentially a lunch presentation where a team member shares their expertise with the rest of the team. We have had talks on Scalding, Summingbird, and Hadoop Map-Reduce during lunch from our local experts. It’s also a great opportunity to learn tech stacks that you might not have known otherwise.

    鼓励高科技的棕色袋子 。 一个棕色的袋子实际上是午餐的演示,团队成员与团队的其他成员分享他们的专业知识。 我们都对谈判烫 , Summingbird ,并从我们当地的专家在午餐时的Hadoop的map-reduce。 这也是学习您可能不了解的技术堆栈的绝佳机会。

  3. Assign tasks outside of domain of expertise every sprint. Everyone is assigned a different task each sprint, giving the opportunity to learn a different tech stack or code base. I personally find this to be a very effective way of spreading knowledge, because I wouldn’t be able to dive into another code base otherwise.

    每次冲刺都在专业领域之外分配任务 。 每个sprint都会为每个人分配不同的任务,从而有机会学习不同的技术堆栈或代码库。 我个人认为这是传播知识的非常有效的方法,因为否则我将无法深入到另一个代码库中。

团队比项目重要 (Team is much more important than project)

The people you work with on a day-to-day basis make a much bigger impact on your career than a project or company.

与您一起工作的人比项目或公司对您的职业影响更大。

A great team makes down times bearable, and up times exhilarating.

一个优秀的团队可以使停工期令人愉悦,而使工作时间令人振奋。

Projects come and go, but teams stay together even after a project is dissolved or shipped. If you’re spending eight hours a day together, wouldn’t you much prefer to work with people you like?

项目来去去去,但是即使在项目被解散或交付后,团队仍会团结在一起。 如果您每天在一起花费八个小时,您是否不愿意与自己喜欢的人一起工作?

In my past year, being able to work together with a team of rockstars has been fun, challenging, exciting, and refreshing all at the same time. When everyone in your team is a rockstar, they motivate you to succeed just as much as you motivate them. We push and hold each other to a high bar. We work hard, and we play just as hard.

在过去的一年中,能够与一群摇滚明星一起工作很有趣,充满挑战,令人兴奋并且令人耳目一新。 当团队中的每个人都是摇滚明星时,他们会激励您成功,就像您激励他们一样。 我们互相推动并保持一致。 我们努力工作,并且发挥同样的作用。

最好的人会遇到问题 (The best people own problems)

Opportunities arise in dangerous situations, and that’s when you see the best people step up to the moment and seize it. Being at Twitter in the midst of the the turnaround has given me a rare opportunity to take a glimpse at some of the many problems within the organization.

机会在危险的情况下出现,那就是当您看到最优秀的人才站起来并抓住时机。 在这种转变过程中出现在Twitter上给了我一个难得的机会,可以一窥组织内部的许多问题。

“The Chinese use two brush strokes to write the word ‘crisis.’ One brush stroke stands for danger; the other for opportunity.” — J.F. Kennedy
“中国人用两个笔触来写'危机'一词。 一根刷子代表危险。 另一个是机会。” —肯尼迪(JF Kennedy)

The best people tend to own, rather than point out, problems. They’re quick to sniff out issues before everyone else does, and they’re always one of the first to volunteer to fix them.

最好的人倾向于拥有而不是指出问题。 他们很快就发现了所有其他问题之前的问题,而且它们始终是最早主动解决这些问题的人之一。

Twitter is a very small company relative to the scope and impact it makes in the world. The small size makes it easy for small teams to make outsized impact. It is not uncommon to see a team of 10 run an operation that is helping generate tens of millions of dollars per annum for the company.

就其在世界范围内所产生的影响而言,Twitter是一家非常小的公司。 较小的尺寸使小型团队更容易产生巨大的影响。 看到一个由10人组成的团队经营一项业务,该业务每年可为公司带来数千万美元的收入并不少见。

In a way, that’s what makes working at Twitter very special: the opportunity to own problems and fix them.

在某种程度上,这就是使在Twitter工作非常特别的原因:拥有解决问题的机会。

As I mentioned earlier, one of my criteria for picking a company is that the company needs to support and provide ample opportunities for employees to learn and grow. And I’ve found that this is truly the case for me here. Taking ownership of problems, even those that are beyond my pay-grade, allows me to challenge and stretch myself to the limits.

正如我之前提到的,选择公司的标准之一是公司需要支持并为员工提供充分的学习和成长的机会。 我发现这里确实是我的情况。 拥有问题的所有权,即使是那些超出我的薪资等级的问题,也可以让我挑战并超越自我。

加入Twitter是正确的决定吗? (Was joining Twitter the right decision?)

Ultimately, this is the question to ask after a year-long stint. In short, it’s a definite, resounding yes — I love the team I work with, the scope and impact I have, the opportunities to grow, and much, much more. Again, here is the checklist I had:

最终,这是在长达一年的工作之后要问的问题。 简而言之,这是肯定的,是肯定的-我爱与我一起工作的团队,我拥有的范围和影响,成长的机会等等。 再次,这是我的清单:

  • A supportive team that works as a unit

    一支团结协作的团队
  • Work-life balance

    工作与生活的平衡
  • Financial compensation is at market value

    财务补偿按市场价值计算
  • The company supports and provides ample opportunities for employees to learn and grow

    公司为员工提供学习和成长的支持并为其提供充足的机会
  • The company is accelerating in growth

    公司正在加速增长

The work-life balance at Twitter depends a lot on how you operate. I often work 9–5 on weekdays, and sometimes on weekends just because I want to, not because I need to. When I’m working on a feature I’m really excited about, it doesn’t feel like work anyway.

Twitter的工作与生活平衡在很大程度上取决于您的操作方式。 我通常在工作日9-5工作,有时在周末工作是因为我想要而不是因为我需要。 当我正在为自己的功能感到非常兴奋时,无论如何都感觉不像是在工作。

We have also recently started No-Meeting on Tuesdays and Thursdays across the organization, so that we’re not bounded by meetings and can focus on execution instead.

我们最近还在组织的周二和周四开始了不开会,因此我们不受会议的束缚,而可以专注于执行。

From a financial compensation point of view, Twitter tries to do right by its employees with stock refreshers, competitive salary, generous RSUs, 401K and more. It also helps inspire retention now that Twitter has almost 3x in valuation since the time I joined. My team in Seattle is still hiring!

从财务报酬的角度来看,Twitter尝试通过股票更新,具有竞争力的薪水,慷慨的RSU,401K等来使其员工做对。 自从我加入Twitter以来,Twitter的市值已接近3倍,这也有助于激发人们的保留感。 我在西雅图的团队仍在招聘 !

Zhia Chong is a software engineer at Twitter on the Ads Measurement team. All opinions are his own, and do not express opinions or views of Twitter the company.

Zhia Chong是Twitter的Ads Measurement团队的软件工程师。 所有观点均为他自己的观点,不表达对Twitter公司的观点或看法。

You can find him on LinkedIn and Twitter.

您可以在LinkedIn和Twitter上找到他。

He has a newsletter where he shares interviewing tips & tricks, industry news, and much more. Subscribe here for more article updates!

他有一本通讯,他在其中分享采访技巧和窍门,行业新闻等。 在此处订阅以获取更多文章更新!

翻译自: https://www.freecodecamp.org/news/what-ive-learned-in-1-year-at-twitter-65150f5d4af2/

如何在twitter上看片

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在twitter上看片_我在Twitter上一年学到的东西 的相关文章

随机推荐