Live data from Hacker News

Tools you’d miss if you left a company

rachelbythebay.com

71–80 of 112 posts

Re: Tools you’d miss if you left a company

#72
post #53

Doesn't it take months to train new developers in these mystical internal tools? I remember hearing specifically that Google expects 5+ months of training until a developer is productive. How many companies can afford to spend ~50k+/hire on on-boarding ((100k/yr * 5 months) + benefits)? What is the opportunity cost of holding so many people in training mode for this time period? Different companies have different pro…

Big companies need big expensive tools to help with their problems.

Isn't the point that they often don't need those tools? I've lost track of the number of "I replaced Hadoop with Excel!" blog posts I've read.

Re: Tools you’d miss if you left a company

#73
post #51

Not everyone finds BigCorp problems to be the interesting problems. Not everyone wants to live in the Bay Area. There's a lot of jobs in the world that aren't at FAANG, and it's okay if the right job for someone is at a place whose entire dev shop is smaller than the team at Google that maintains Blaze. If you find yourself in a job like that, it is absolutely the right call to invest in the best commodity tools you…

There seems to be an elitism when it comes to working for faang. there are a ton of people that have zero interest in building advertising engines or living in the Bay area. Quite frankly my min salary for having to live there sacrifice working on something interesting with be mid to high 6 figures so I could save and move the hell away after a few years. I'd consider it a life sacrifice to endure the bay area and culture.

Re: Tools you’d miss if you left a company

#74

This article is dangerous in romanticizing the “not invented here” culture at many big tech companies and seems rooted more in the 90s than present day. The world of open source tooling and easily re-usable SAAS offerings means everyone has access to the best tools, whether you’re a small startup or a big company. Anyone who longs for internal, corporate tooling baffles me when they can use things that actually have…

Anyone who longs for internal, corporate tooling baffles me

A previous employer had an all-proprietary stack: language, IDE, version control, deployment system, database, job scheduler. It was, frankly, amazing. The most productive environment I’ve ever worked in. Time-to-market was this company’s competitive advantage and this stack let them leave their competitors in the dust, scrabbling for a distant second place.

everyone has access to the best tools,

It’s 5 years since I left there and the FOSS tooling we use at my present company doesn’t come close, and it never will, because choices are driven from the basic assumption that FOSS is always best, and it just isn’t true. We are at least 5 years behind where the previous company was when I left it and they won’t have stood still in that time.

Re: Tools you’d miss if you left a company

#75
post #53

Doesn't it take months to train new developers in these mystical internal tools? I remember hearing specifically that Google expects 5+ months of training until a developer is productive. How many companies can afford to spend ~50k+/hire on on-boarding ((100k/yr * 5 months) + benefits)? What is the opportunity cost of holding so many people in training mode for this time period? Different companies have different pro…

I just changed jobs and I wasn’t expected to be especially useful until about 3 months down the line. There’s always lead time at new companies, why does this upset you?

Re: Tools you’d miss if you left a company

#76
post #51

Not everyone finds BigCorp problems to be the interesting problems. Not everyone wants to live in the Bay Area. There's a lot of jobs in the world that aren't at FAANG, and it's okay if the right job for someone is at a place whose entire dev shop is smaller than the team at Google that maintains Blaze. If you find yourself in a job like that, it is absolutely the right call to invest in the best commodity tools you…

There seems to be an elitism when it comes to working for faang. there are a ton of people that have zero interest in building advertising engines or living in the Bay area. Quite frankly my min salary for having to live there sacrifice working on something interesting with be mid to high 6 figures so I could save and move the hell away after a few years. I'd consider it a life sacrifice to endure the bay area and cu…

I agree with your points but just want to add my anecdotal experience here from India that not all companies with great internal tooling are unicorns. They generally tend to be the slow but steadily moving companies who take their time and think about sustainability rather than 10x growth.

Re: Tools you’d miss if you left a company

#77

This topic is one of the primary reasons I enjoy working at MS these days. The tech stack is full of OSS or industry standard tools, not a bunch of internal NIH things. My current stack is: React, Node, Kubernetes, Linux (for dev and deploy), Git for sc, GitHub, vs code. I can’t even think of some internal tool that I depend on at the moment.

That depends entirely on what part of MS you are in right? There is cosmos (internal, not exactly the same as external cosmos), autopilot for infra, mdm for metrics, mds for logs, icm for alerts, etc.

Re: Tools you’d miss if you left a company

#78

Earlier quoted context omitted.

Kubernetes has a lot going for it, but it isn't (yet) anywhere close to Borg in terms of scalability. 5000 maximum hosts in a cluster is a drop in the bucket for a Borg cluster. Google was publicly talking about 10,000 machines as the median size almost 5 years ago. As for Prometheus, I like the rules engine VERY much (unsurprising, since they basically reimplemented borgmon, there). I'd take Viceroy any day over Gra…

I have deep experience with operating Kubernetes and no experience with Google's Borg but I imagine Borg is significantly more challenging to operate? Kubernetes is designed to be a workload scheduler that a three or four person team can operate.

I imagine if you're Borg SRE, you'd say "yes, it's significantly more challenging to operate", but for the tens of thousands of other engineers? Not really, although there was a LOT of copypasta in terms of building new configs for services.

Re: Tools you’d miss if you left a company

#79
I have to strongly disagree. When doing business you are solving a business problems. Facebook, Google, Microsoft as business has grown so much they have problems of scale no open tools are able to handle. On the other hand, any kind of smaller company doesn't have those business problems, but a cost of having and maintaining in-house solutions of that scale will just effectively topple and sink them.

This is why I'm always frowning during job interviews with engineers telling stories about they migrations from monolith to microservices and putting it all into k8s, while their headcount in the firs tens and their DAU in about 10000 users.

Disclaimer: I worked in Yandex, virtually Russian Google. Loads and operations scale there are comparable with second rank international tech giants. Yandex has and have lots of internal tools to handle that load and scale, but I've almost never really needed them in smaller companies. Maybe "nice to have" couple of times.

Re: Tools you’d miss if you left a company

#80
post #51

Not everyone finds BigCorp problems to be the interesting problems. Not everyone wants to live in the Bay Area. There's a lot of jobs in the world that aren't at FAANG, and it's okay if the right job for someone is at a place whose entire dev shop is smaller than the team at Google that maintains Blaze. If you find yourself in a job like that, it is absolutely the right call to invest in the best commodity tools you…

I get the argument, but one of the reasons Google has a bigger-than-a-whole-startup team to maintain Blaze is their build tool needs to do a whole bunch of things. At a startup, your build tool just needs to build your product, not a thousand different products in fifty different tech stacks that all use them slightly differently. Sometimes, your product will look close enough to an existing internal Google product that you should just use Bazel and call it done. Sometimes it won't, and maybe it makes sense more to write some really good build tooling than to coerce your product into being shaped like someone else's so you can feasibly write glue code.

At the 50-person company I worked at 6-8 years ago, my team's product was custom Ubuntu-based OS images that booted appliance-style on customer hardware and ran our product full-screen. We had some very nice tooling based on the live CD creation stuff that would a) build our cross-platform code into Debian packages b) patch and rebuild a couple of Ubuntu packages, or fail the build c) generate a nice OSS compliance bundle and d) output a .iso as well as a directory of .debs for internal interactive testing (so you could upgrade a machine you'd already installed without reinstalling it). We wrote some small custom tooling to snapshot the Ubuntu repo metadata periodically (https://github.com/mokafive/apt-mirror) and build using the snapshot as of the time the SVN branch was created. Keeping this system running, once it was built, took very little time - that project was briefly down to one engineer and I could keep writing code and trust the build system to work fine. If I needed to implement that today using the best commodity tools I could, I'd probably be in some sort of Dockerfile hell, and in fact I'd probably be strongly inclined to design the customer system on top of Docker somehow, even though it would be absolutely the wrong fit, simply because that's what everyone else's OS-image-building problems look like these days.

I guess the flip side is that there are probably few startups building products like that, and many more startups where you're building a CRUD app in Rails^WNode.js and your value to the customer is that you're just doing a really good job of writing a CRUD app. That's fine and valuable, and there's an interpretation where it's my personal failing that I'm not really excited by that, even if it's delivering business value / helping the world / etc.. But it is how I feel (and my guess is the author feels the same way), and I once did leave a company because I felt, for lack of a better term, bored - I was having to invent my own opportunities to grow as an engineer, and it was made clear to me that I would get better performance reviews if I worked on less ambitious projects. And when I've been interviewing people at my current place, I've heard enough stories of people being equally bored at their current jobs at large companies.

So - this isn't a BigCorp vs. startup argument, I think. It's an argument that different companies have different levels of appetite for build-and-encourage-internal-tooling vs. buy-and-conform-to-the-outside-world in their culture, and if you're an engineer who's going to be frustrated by the latter, look for a company (of any size) that believes in the former.

Post reply on HN