Live data from Hacker News

Speak English to me: The secret world of programmers

github.com

51–60 of 334 posts

Re: Speak English to me: The secret world of programmers

#51
post #3

> "Why does it have to be so complicated? I just want to install a program" > "Why would you do that in the command line? It's way easier using $Program" A concerning observation that’s slowly dawning on me is that more and more programmers don’t know how computers work. They can write code, build software, and do lots of useful things. But they have no idea how computers work. They’re more akin to lusers as we used…

I wanted to add that I wish a formal requirement for CS students would be to install linux from scratch.

This would help them understand how OSes work under the hood, from squashfs and bootloader right up to a graphical GNOME install.

You don't have to do it all the time. Just once, to understand what you are using all the time.

I think that a huge difference between generations is also the appreciation of "how easy" things got to be, because tooling has come so far.

I mean, look how easy golangs cross compilation pipeline got...and compare that to 90s C development where you had to recompile libraries on your target machine all the time because linkers were glitchy and uncompatible, and header-only files weren't a thing yet.

Re: Speak English to me: The secret world of programmers

#52
post #45
post #40

Earlier quoted context omitted.

I was just using your examples to comment on the common programmer practice of needlessly shortening words and names of things or, even worse, intentionally quirkily naming something to make a specialized word or domain even more specialized. It's a practice that I do not like, as it arbitrarily creates an additional layer of obfuscation.

At one time memory constraints made the short names necessary. Not a technical issue anymore. Now we have autocomplete in the shell. But what do you expect from a professional caste who debate endlessly about efficiency and “productivity” supposedly improved a fraction by a keyboard or typeface or color scheme?

Let me post another article about how I can save 10 seconds by using Emacs for my toaster!

Re: Speak English to me: The secret world of programmers

#53

I find a version of this even with fresh out of college programmers. They just know how to type Java on an IDE, maybe some SQL (using some graphical front end), some HTML/CSS. They can't operate in a Linux dev environment at all, can't use the command line or exit vi or perform any kind of simple shell based automation or use git without a plugin for their IDE. And they also are reluctant to learn because they are se…

Depends on the country and uni. Here in CZ, best CS uni in country, first class is UNIX shell.

Re: Speak English to me: The secret world of programmers

#54

I want to point out two additional observations. 1. There are a decent amount of software engineers or programmers whom literally aged at the perfect time to organically learn these tools that later became fundamental. If you even touched a computer from the 60s to the late nineties in a engineering aspect at all, you were bound to have worked in a terminal, worked on computers with a single core, worked on computers…

Literally no part of that post was condescending, it was an observation about how wildly different those with a certain level computer knowledge use computers from the general pubic. Which is interesting since so much of the world runs on computers. Sure your points are accurate, but, so what?

> Literally no part of that post was condescending

Sorry, did you read the same text?

>> I try and try to explain that this arcane system of monochrome text and rendering steps is ACTUALLY easier than editing in Microsoft Word, but my pleas fall on deaf ears.

This reminded me what my mother never grasped how exactly programming VCR works and often asked me to help with it, yet she did installed a bunch of apps she was interested on her smartphone (like social media, Pinterest and other BS) just fine and all by herself.

Re: Speak English to me: The secret world of programmers

#55
post #6
post #3

> "Why does it have to be so complicated? I just want to install a program" > "Why would you do that in the command line? It's way easier using $Program" A concerning observation that’s slowly dawning on me is that more and more programmers don’t know how computers work. They can write code, build software, and do lots of useful things. But they have no idea how computers work. They’re more akin to lusers as we used…

This is a sentiment that is repeated with every new generation of programmers. I heard it when I joined the industry. I’m sure many before and after me did as well. Hard to say if it’s any truer now than it is today, but the kind of work we do and tools we use have certainly changed over time.

Complaining about kids these days is a rite of passage for all people over the hill, going back to the dawn of recorded history.

Except back then it was elders complaining about these newfangled books or scrolls letting the youths be lazy and not memorizing like they should.

Re: Speak English to me: The secret world of programmers

#56
post #27

Not really a novel observation, nor surprising. The secret world of auto mechanics: “Just change the air filter.” The secret world of electricians: “Turn the circuit breaker off and back on.” The secret worlds of chefs, carpenters, doctors, lawyers, … I could go on and on. Why would programmers expect people not invested in programming to know this stuff, or care? I only care about ignorance of jargon and specific sk…

I think the interesting bit isn't the jargon, it's the parallel but separate paths of computer use.

Changing an car's air filter is obviously different from driving. Flipping a circuit breaker is like flipping a switch, just for the whole house, and also it happens automatically if you anger the switch by plugging too much stuff in or dropping the toaster in the sink. Both of them make sense intuitively.

Changing a .md file seems like it should be the same thing as changing a .docx or .odt file, since they're all different kinds of formatted text, but for some reason you need an entirely different toolchain.

My resume needs to be compiled using wkhtmltopdf, pandoc, and make. It's deployed using Dokku, which wraps Docker, and the Heroku static site buildpack, which wraps nginx. It's kind of weird that a non-programmer doing the same thing would use a completely different set of DIY tools. It seems like an auto mechanic uses roughly the same set of tools as everyone else, just better versions of them and with greater skill.

Re: Speak English to me: The secret world of programmers

#57

I find a version of this even with fresh out of college programmers. They just know how to type Java on an IDE, maybe some SQL (using some graphical front end), some HTML/CSS. They can't operate in a Linux dev environment at all, can't use the command line or exit vi or perform any kind of simple shell based automation or use git without a plugin for their IDE. And they also are reluctant to learn because they are se…

I currently work with senior engs who are really more like reworked mech engs.

Who want to use old versions of eclipse, on win8, install new copies of the same for diff projects, want the new associate level engs (23yo, first job, etc) to write plugins for that old eclipse so the shipped plugins that break due to age still work. Because they dont know svn command line, or how to merge without the plugin.

Won’t migrate to git from svn - though that’s ok, we don't “need” distributed vc. They still think git history is so mutable its “spooky.” Though I’d love to make branches while working from home and not on the vpn…

In short, and it’s just one story, really: this kind of thing happens at all levels and is really a management issue, imho. They should be pushed to expand knowledge as a priority in the workweek.

Often we’re just tossed into “fix it ship it” mode and before we know it we’re 60 and cranky and yelling at clouds.

Re: Speak English to me: The secret world of programmers

#58

I find a version of this even with fresh out of college programmers. They just know how to type Java on an IDE, maybe some SQL (using some graphical front end), some HTML/CSS. They can't operate in a Linux dev environment at all, can't use the command line or exit vi or perform any kind of simple shell based automation or use git without a plugin for their IDE. And they also are reluctant to learn because they are se…

I started out as a sysadmin before moving into dev and devs will think you're some sort of wizard just for understanding how file permissions or firewalls or nginx work, it's kind of baffling.

What's funny is I know some amount of owing to me being a JOAT (jack of all trades), so when they run into some issues and I'm able to debug it they wonder why I'm a sysadmin and get paid less than they do.

Why ARE sysadmins like me paid less than developers? And I can't get hired as a dev because they see my CV and go, oh you're a sysadmin. I mean, try being a solo sysadmin of over 100+ production Linux servers with minimal downtime... you need a little bit of scripting/coding to handle all that!

Re: Speak English to me: The secret world of programmers

#59
As for markdown I showed it to my girlfriend and this is now what she uses for everything. She is a designer and loves that here she does not have to bother with design, just with markup. She hates Microsoft Word with a passion.

People who used formatting in any 2000s internet forum know in principle how to use markdown.

That aside, I see it as a problem that tech people fail to anticipate the needs of their peers. I know people like that, who dare to say: "Oh you just need to reverse proxy the port on your server" and they fail to realize the person opposite has a face that seems to be assembled purely out of questionmarks.

Explaining someone what a reverse proxy is involves explaining them:

- what a server actually is (confusingly both the machine and the software)

- how/that web clients communicate with that server (HTTP)

- that on that machine there is software running that communicates a local loopback port (127.0.0.1:7777)

- that a webserver can be configured to grab normal traffic coming to port 80 (http) and 443 (https) and forward it to that loopback port

- that this is called a reverse proxy

Most people are not idiots and will understand an explaination like this. Even if they don't they will be happy that you gave a coherent explaination.

I just tend to remember myself and how unclear everything was to me when I was a teenager. What explaination would that former me appreciate? Sometimes the most important thing to say is something extremely obvious that helps the person to conceptualize the whole thing (e.g. clients communicate with a server and a server has ports).

Re: Speak English to me: The secret world of programmers

#60
post #8

Everything in the post can by explained by "People think the familiar is easy, and the novel is hard." Judged by the standards of a programmer, yes, the suggested solutions are simpler. Judged by the non-technical coworker's standards, no, they are new and therefore scary and harder. You might say, "If they expended even 5 minutes of effort, they would not feel that way." But that's 5 minutes more than just using the…

This is the case even among highly technical and otherwise competent programmers. Junior developers especially will spend days reinventing wheels in whatever hot new language or framework when a better solution can be had in 5 minutes of reading a manpage. There seems to be nothing I can do to convince these devs of the errors of their ways.

Sounds like they are still thinking in "honor code" where not reinventing the wheel is cheating.
Post reply on HN