Hacker News new | ask | show | jobs
by busterarm 1960 days ago
You left out the entire generation of developers who are totally disconnected from how systems work and think that "it runs on my machine" should be good enough.

Brew has lowered the bar enough that lots of folks simply don't have a clue how to deploy anything and worse, don't have a clue how to troubleshoot when something goes wrong in production.

Obviously it's a double-edged sword. It's good to not waste time configuring your workstation, but ultimately I'd argue in brew's case too good to be true.

4 comments

This makes no sense. First, nobody deploys anything to macos in production. Second, dragging an icon the applications folder (pre-brew method) does not "connect you to how the system works".
I don't understand this critique. Is this a complaint about package managers in general, or is `brew install git` lowering the bar from `apt install git`?
It's about a trend of developers who don't know how to interact with their system beyond `brew X Y` and the disconnect between the software on their Mac and the software on a production system.

There's a huge disconnect between A & B so much so that it's created an entire role for people like me that otherwise shouldn't exist.

I've been in the industry long enough to see a decline in ability for lots of developers beyond kicking deployment over the wall for someone else to figure out (not that this didn't exist before).

Notice how many companies have dedicated DevOps roles in their ranks whereas everyone and their mother who is a practitioner has been saying since the very beginning that that's now how it should be.

Your complaints seem to boil down to "get off my lawn" and it's rather tedious. what do you get out of it other than a feeling of superiority?
It's not at all. It's a reaction to the learned helplessness from colleagues I've had to work with. It's exhausting to be relied upon for everything, especially when the compensation isn't matched appropriately (although most management I've encountered have appropriately engineers who do disproportionate heavy lifting). Our industry needs to do better.
I don't buy the premise that package managers are the reason why companies need DevOps.

Software deployment has gotten complicated for a variety of reasons (containerization, micro-services, continuous integration, cargo-culting FAANG practices, etc). When I first started my career, I FTP'd my code changes into the single production server that ran both Apache and MySQL. Homebrew is not the reason I don't do that anymore.

That's not really the argument that I'm making.

I am a deployment engineer.

Deployment is actually really easy.

I'd argue that it's not far off from FTPing your code changes over in terms of difficulty.

No, my argument is that more engineers today do not know how computers work. I'd even argue that many engineers would find FTPing over code changes to be too difficult (or they'd screw it up). My argument is that homebrew makes some amount of contribution (not 100% the reason for) engineers remaining ignorant about computers.

Homebrew was the first package manager where I actually looked under the covers because everything was pretty easy to follow. I regularly use 'brew edit <formula>' just to see how something is built. I don't see how brew obscures the internals of my computer at all.
While I sympathize, I think that train left long time ago.

I had that aha moment, when during early 2000s I found myself explaining to C++ developer what linker is and what exactly it does. Until then, it was just the thing that VC++ did as the last step after clicking the Build menu item.

It certainly didn't improve since then.

Do you know how to directly 'talk' to the CPU or GPU? Do you build everything from source? Are you comfortable writing assembly? Have you recently soldered shit or built a PC from scratch?
Yes, when it makes sense to, yes and yes.

I'd be happy to work with people who know system calls & exit codes though. And basic network protocols. And how to read an RFC.

> Notice how many companies have dedicated DevOps roles in their ranks whereas everyone and their mother who is a practitioner has been saying since the very beginning that that's now how it should be.

I dunno who says that but they're dead wrong. I'm working as a dev somewhere with a dedicated DevOps finally after years of being dev + ops (+dba +sysadmim +qa) and I can't tell you how much of a relief it is to have other people shoulder that stuff so I don't have to think about it.

I understand your point that devs who have a higher level understanding of systems and deploy pipelines and such are probably able to write good systems themselves, but when it comes to the humans doing the work? I absolutely love having it separated.

It feels nice but organizations with cross-functional teams are outmaneuvering yours and probably by at least 3x.

I'd rather work harder at a business that succeeds and has equity that's worth a damn.

That's fine, I'd rather work on stuff I enjoy and have a life outside of work.
Well, to be clear, developers who say "it runs on my machine" aren't a "new generation of developers" so much as "bad software developers".

There's no world where that excuse is okay. It's also not all that related to Homebrew, though...

Not everyone wants to troubleshoot things in production. In fact I’d argue most people dont want to do that.

I’d certainly prefer to stay away from that type of hassle when I’m just trying to install a random package.

Nobody's saying you should want to.

This is a conversation about ability level.