Hacker News new | ask | show | jobs
by baq 661 days ago
Yes, I wasn't specific enough: it comes from developers. I can see how frontend devs don't want to 'learn Linux' but not wanting to learn how to configure an HTTP server because 'this is Linux' is at the very least poor taste.

Now, talking about people who actually deploy code to backends... these are the folks I had in mind. I imagine most of them don't deploy to Windows Server and they sure aren't deploying to any macos backends.

1 comments

I think you’re arguing backwards from the assumption that people aren’t learning those skills because it’s Linux versus the actual learning of the skill itself.

Why would a frontend dev need to know how to configure a http server beyond what node or wamp/lamp gives them?

The number of full stack people is very low compared to dedicated backend and frontend folks. People focus on the needs of their job, and if their job doesn’t require wearing both hats they usually don’t go out of their way to do it.

Even at many companies that deploy things to the cloud, they’ll have dedicated folks for that because the people writing the code to run are busy writing the code.

That it eventually runs on Linux is not very meaningful to most devs unless their app needs special compiling configurations or libraries.

Re frontend devs not knowing how to configure an HTTP server: it's literally the front end. Caching, cors, cookies, maximum request sizes, these are all things frontend devs should know to work effectively as a team with the backend folks, but the backend folks gladly help out, usually. I'm not even saying they should know basics of DNS even if I think they should if they want their work load into their customer's browsers quickly. I can accept the browser is the OS and whatever happens outside of it is dark magic, like I said it is just poor taste.

> Even at many companies that deploy things to the cloud, they’ll have dedicated folks for that because the people writing the code to run are busy writing the code.

And this is the root of the problem. A week's worth of coding sure saves them a day of configuring their host systems, not to mention optimizing their cloud spend up. The folks who actually know how the system works and how to diagnose when it doesn't are in short supply and are also effin busy.

> That it eventually runs on Linux is not very meaningful to most devs unless their app needs special compiling configurations or libraries.

This is true only until it isn't. There can be times of coasting and then the dreaded base image version bump comes and 90% of the organization has no clue if they're impacted or how to check if they are.

But most frontend devs don’t need to do any of the things you’ve mentioned. By your own comment, they have a backend team who handle it and they work in concert. Would it be nice if they could understand each other better? Sure but most backend folks aren’t picking up JavaScript and UI frameworks either , or learning about browser tech.

And all the stuff you mentioned can be done by learning those skills on windows or Mac. Linux doesn’t really need to factor in, and now you’re saying to learn an entirely new operating system in addition to a new skillset.

You’re trying to say they should be more than what they are, but for a scenario they can’t predict coming up? In which case any number of other things might happen too, and there is likely already a team of people better suited to handle those issues. What would the sales pitch be to have someone learn it?

I think there’s an impedance mismatch between what you expect to provide value to someone as a hypothetical future goal and what they actually need to achieve their objectives.

The sales pitch is the difference between being a programmer and an engineer: one writes code, the other solves business problems. The value delivered by good engineering may be less than a lucky coder who doesn't have time to learn the tools of the trade, but this is expected: engineering is making sure luck doesn't matter for the business, within the operational envelope and in the assigned budget.

Linux is important if that's what the backend deploys to. If it is, it's a part of the operational envelope - I am saying engineers should have familiarity with what production is running on. I don't particularly care where those skills are being picked up as long as you know that on the production box there's strace instead of dtruss and you know how to check what the D state process is waiting for or whatever interesting issue arises which only happens under load, with networked storage and with at least a couple dozen cpus. (This is also why I don't care for frontend devs to 'know Linux', but having some knowledge about HTTP and their production HTTP servers would be beneficial, as would be knowing that networks aren't magic...)