[HN Gopher] 2 Years at Twitter ___________________________________________________________________ 2 Years at Twitter Author : stanislavb Score : 43 points Date : 2022-11-23 20:48 UTC (2 hours ago) (HTM) web link (eed3si9n.com) (TXT) w3m dump (eed3si9n.com) | black_13 wrote: | softwaredoug wrote: | > Looking back, I feel like this has been among the most | productive 2 years of my career. This was facilitated precisely | because of the work/life balance afforded by the "peak-Kumbaya" | Twitter culture, and the psychological safety | | I feel like the most productive I've been is | | 1. Psychological safety and trust in engineering to lead | | 2. Coworkers that intrinsically care about their work | | 3. Coworkers that are fantastic people | | 4. Meaningful work | | The top down, hard ass culture of Elon etc, basically flips the | work to being extrinsically motivated based on fear. If the goal | is engineering excellence, it just doesn't work. A lot of people | shut down and won't take any risks or innovate in that situation. | Or they leave. | | There may be other goals of course, but there's a valuable reason | tech companies have been selective in hiring and generous in | trust. | that_guy_iain wrote: | For me, the interesting part was that there were 10+ people the | build team and it seems like there are still people left since he | didn't say all the people left. How large was the team? I | personally find teams reaching 6+ members too large. | | and | | > For example, I think it was Adam who pointed out that the Mac | laptops were unable to fully utilize the remote cache because | action cache was platform specific. This remains to be an open | challenge of Bazel to date. | | It's always macs that are suffering from problems in my | experience. | ladberg wrote: | The article says about 12 people plus a few extras and that 10+ | left, so definitely a huge chunk of the team. | | Reading that line it's evident that the issue isn't Mac- | specific, just that you can't reuse build artifacts across | different platforms (which is expected for pretty much any | build system). | PeterStuer wrote: | 2000 people on a build team. ... | brian-armstrong wrote: | I think that comment is saying there were 2000 ICs merging code | at Twitter, at least according to publicly released figures | ralph84 wrote: | Another company that copied the engineering practices of Google | without the profitability to support a huge internal tools team. | rnk wrote: | Google had great engineering practices and infrastructure, the | best of my career across several FAANGS. If only they didn't | make launching products (and killing the old one) the way for | advancement. | gravypod wrote: | There are many people who are commenting that this is so much | work for 20m lines of code, they're reinventing the wheel, they | should have just bought something off the shelf, etc. | | Two things to consider: | | 1. It is sometimes hard to buy things that works well: | https://danluu.com/nothing-works/ | | 2. The productivity gains of something like Bazel and Pants are | pretty amazing if you are working within a monorepo. | | It is very difficult to understand how big these two things play | into these decisions. Having ~20 people manage build tooling, | build caching, source control, CI (build+test), and building | release artifacts (which it sounds like Pants did) is not a bad | deal. | | Consider: | | 1. GitLab will charge you $20/month/user. 2. If you have 2000 | SWEs you'll pay 40k/month just to have access to the website. 3. | You'll still need to hire a person or two to negotiate the | purchasing of the GitLab. | | Now remember that GitLab might not be prefect for your use case. | GitLab doesn't increase the performance of builds on your laptop | by sharing a cache with all engineers. There's also a limit to | the mount of data you can store for source + build artifacts | (50GB). The CI runners they host for you are very expensive for | how slow the machines are ($10/1000 minutes). | | Sure, you can do things like run your own GitLab runners but now | you're back to running your own infrastructure which is an | engineer's job. Sure, you could save money by using Gitea or | something that if free but again hosting your own infra. As soon | as you have someone managing that infrastructure they're bound to | say "how else can I save time and money" and at a certain scale | these things become reasonable or even required. | [deleted] | metadat wrote: | An unfortunate title, completely devoid of any hint about the | Very Interesting content in this post: | | This is an insider story chronicling the evolution of Twitter | 1.0's approach to build infrastructure and developer efficiency | strategies at scale on teams of hundreds to thousands of SWEs. | msoad wrote: | 20m lines of code is not large enough to have 6 people in build | tooling. A lot of companies at Twitter size end up over | engineering and resisting buying vs. building in house big shot | projects that often times can't compete with some 3rd party | solution they could just buy. | | For example my company is reinventing Next.js in house because | the politics in the company won't allow us ditch this half-baked | Next.js clone and just use the real thing. Our deployment | pipeline will be much simpler if we simply bought Vercel. I'm | sure we can negotiate prices with them that is better than hiring | 12 engineers | skilled wrote: | Sooo.... Your company can afford to buy Vercel? | woodruffw wrote: | I think the more relevant number is the number of ICs (around | 2000, according to TFA). 12 build engineers (I don't know where | you got 6 from) for 2000 ICs doesn't seem large at all to me; | it's actually less than I would have expected. | marcinzm wrote: | Yeah, as long as the team makes the rest of the engineers 1% | more efficient it's a win in terms of investment. | atsjie wrote: | They were not building/re-inventing Bazel (its Open Source from | Google); they were just adopting it and ensuring the migration | for the rest of the company (which is no small feat, since it | affects all other developers in the company). | stefan_ wrote: | The weirdest part here is that the author worked on a migration | from their NIH build tool to Bazel for 2 years and never once | mentions why all of that was even happening, and by the end of | his employment, it was still not done. | | He links the pants-devel announcement and here is what it says: | | > Twitter has made the decision to migrate from Pants to Bazel | as our primary build tool, as we believe that we have unique | needs that Bazel can better address | | Pants was your own fucking build tool that you invented, | controlled and maintained! How on earth can it not meet _your | unique needs_. | bogota wrote: | I think you greatly underestimate how hard it is to find a | good build engineer. Two of the smartest and hard working | engineers did a bazel migration at one of my old companies | and had to contribute heavily upstream to support all of out | use cases. | | It's much cheaper in the long run to migrate to a well | supported tool that you can extend | thorncorona wrote: | I believed he mentioned early on that it was due to the perf | gains Bazel provided. ___________________________________________________________________ (page generated 2022-11-23 23:00 UTC)