Live data from Hacker News

Speak English to me: The secret world of programmers

github.com

41–50 of 334 posts

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

#41
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…

The interesting part to me is, these "non-technical" coworkers aren't proposing simpler solutions. When reading "Why couldn't you just do this in something simple like Word?", Word isn't what I'd call a simple program from any angle. It's not preinstalled on most computers and costs money, it won't run everywhere (running Word on a school provided Chromebook is a world of fun), for decades it had version compatibilit…

> "It's not preinstalled on most computers and costs money, it won't run everywhere"

It runs in a web browser and doesn't cost money

https://www.microsoft.com/en-gb/microsoft-365/free-office-on...

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

#42
post #2

Something I have noticed across the technical/non-technical divide is that the concepts of simplicity and difficulty are easily conflated. Often non-technical folk are only interested in "easy" solutions. Technical folks are more inclined to pick simple solutions. The perception of simple being hard mostly comes from simple often eliding things like a GUI which is inherently complex and overkill for a good number of…

I guess it depends on your ideas of simple vs. easy. I find a GUI simple because I can explore it to see the options if I’m a little lost. The Unix command line is exceedingly difficult to get useful information out of if you don’t already know how it works. Need help? Don’t type “help” because it will just stare back at you blankly. The commands themselves are not easy. Each one takes flags, mostly a single letter, and the same flags have different meanings in different commands. Cmd-P is print in every goddamned GUI app I’ve ever used. Cmd-Q is quit. Cmd-C is copy. That’s simple to me. Having to memorize a bunch of flags with conflicting meanings or key commands to change modes in an app is not simple to me.

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

#43

For normal people (non-programmers) computers are pretty terrible. I'm kind of curious what happens when everyone gets a Jarvis-like assistant that can do the scary stuff (open a terminal, type some commands, or possibly code up a nice UI in seconds) based on natural language requests.

> For normal people (non-programmers) computers are pretty terrible.

I don’t know — they pull a supercomputer out of their pocket and use it dozens of times a day.

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

#44

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.

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

#45
post #40
post #33

Earlier quoted context omitted.

Learning some jargon and specialized skills most people don’t need or care about doesn’t make a person smarter or better, nor does it mean everyone else is ignorant or too dumb. Showing off and complaining about the dumb masses is vanity, not professionalism.

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?

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

#46

Earlier quoted context omitted.

What kind of college grads don't know how to operate in a linux dev environment? That'd be an immediate no-hire from me.

Most lol. You only hiring MIT and Stanford grads?

On my first day at a frankly pretty shit Australian university, we had mandatory Linux and Solaris training. I managed to skip it because the IT guy turned his screen to me and said "What's this?" and I replied "Dunno, looks like Fedora Core", but anyone who couldn't do that sat through several hours of training on SSHing into things and using bash, after which they were expected to turn in assignments that would compile in a remote Solaris environment.

This story doesn't have any real point, except maybe to say that knowing your way around a shell is up to the arbitrary whims of your university's administration and lecturers.

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

#47

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 find a version of this even with fresh out of college programmers.

I've noticed something with boot camp programmers too.

Something that may have changed is that newer graduates may have studied programming because "it pays well", and not because they were computer hobbyists before deciding what to study.

I've been on meetings with some programmers that didn't know how to use a gui ftp client or how to manually upload a file to a server. Because most of that stuff is abstracted now.

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

#48

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…

> And they also are reluctant to learn

There may be some of this, but I think there is also the part where it can be really hard to learn.

Typescript is my preferred language these days. Not for technical reasons, but because it lets small teams share language across the entire stack. At least in my area where React is basically "front-end" and it's tiny rivals are also Typescripted.

But a lot of the eco-system is admittedly sort of silly. Say you want to use environment variables. A lot of people will use dotenv, we do too, but you can use it in many different ways. You can require(), you can import, and then you can use process.env.VARIABLE in your code. Which is fine, but really, what we consider the best practice way of doing it, is something a kin to having a config.ts file, which exports all the configuration as javascript objects. This way, you can use dotenv like this:

node -r dotenv/config dist/app.js

Nobody is going to tell you how to set these things up however. Well that's not exactly true, because EVERYONE is going to tell you how to do it, and in this myriad of options you're most likely going to end up with something that isn't great. React and other major frameworks with build tool will be opinionated and do it for you. React does it similar to how we do it, likely because having all your process.env.VARIABLEs exported as const means they are typed which makes it easier to debug. This doesn't mean developers necessarily pick up on it though. I've seen many React developers who don't use dotenv the way React does it, despite them having been exposed to the benefits of the react philosophy.

So I think it's more than just reluctance. It's simply hard, and the internet or the community sort of makes it harder. Because you and I both know exactly why these React devs used it differently, they did it because the first 2000 100 word blog articles that you get when you google "how to dotenv" tells you how to do it "wrong".

Then once these young developers venture out of their comfort zone, their impostor syndrome gets additional power when they do it "wrong" and someone calls them out on it in a less than friendly way.

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

#49
post #46

Earlier quoted context omitted.

Most lol. You only hiring MIT and Stanford grads?

On my first day at a frankly pretty shit Australian university, we had mandatory Linux and Solaris training. I managed to skip it because the IT guy turned his screen to me and said "What's this?" and I replied "Dunno, looks like Fedora Core", but anyone who couldn't do that sat through several hours of training on SSHing into things and using bash, after which they were expected to turn in assignments that would com…

And maybe it awakens them to the fact that there is more out there than the abstract "what i run at home" environments available.

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

#50

Earlier quoted context omitted.

Umm, most professional programmers probably don't know how to operate in a linux dev environment bro... That is also an extremely stupid requirement. You can be a good programmer (Especially as a junior) without knowing all the linux command line tools.

this is the most common. id say most people i’ve worked with start caring to learn the shell and dig into the os more around year 8 of their career

> id say most people i’ve worked with start caring to learn the shell and dig into the os more around year 8 of their career

That sounds tragically late to me. It represents a serious failure on the part of those who know and love the command line to make it accessible to newcomers, imo.

Post reply on HN