News for hackers. Stuff that matters.
Re:Speak English to me, The secret World of Programmers by fcatalan on Friday March 17, 2023 @01:08AM (#35193372)
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 self defined into some narrow field that doesn't include all this ops trickery in our workflow that they don't consider real programming.

Re:Speak English to me, The secret World of Programmers by nicolas_t on Friday March 17, 2023 @01:24AM (#35193473)
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.
Re:Speak English to me, The secret World of Programmers by pxc on Friday March 17, 2023 @01:37AM (#35193563)
* * *
Re:Speak English to me, The secret World of Programmers by smarmgoblin on Friday March 17, 2023 @01:38AM (#35193569)
It’s more common than you think. I graduated in 2013 and can tell you there were minimal opportunities to learn how to operate a Linux command line (if you didn’t already want to). Most jobs will set you up with some IDE with the codebase preloaded and a big green compile button, it’s just easy to avoid I guess.

I’ve been using Linux since 2008 and it’s the most high-yield skill set I have, it makes everything simpler and I encourage others to learn it.

Re:Speak English to me, The secret World of Programmers by animitronix on Friday March 17, 2023 @02:02AM (#35193723)
It's crazy how fast it changed then. I graduated in 2002 and you literally could not leave without knowing how to use Unix. When I started in '98 the school's email system had to be checked through terminals and my dorm hadn't even been wired with Ethernet, although we had it by the second half of my freshman year.
Re:Speak English to me, The secret World of Programmers by smarmgoblin on Saturday March 18, 2023 @02:43PM (#35211903)
I believe that. Others may have had a different experience to mine. I was always searching for a class that would give me the “real” Linux experience but nothing really exists like that, I think you just have to live with the tools for a bit.
Re:Speak English to me, The secret World of Programmers by fcatalan on Friday March 17, 2023 @01:31AM (#35193532)
The kind that went into the subject just because it pays well and are taught some kind of bimodal syllabus: Lots of heavy Math/CS stuff they forget after the test and then practical programming as defined by "industry", industry being the big consulting firms churning out Java.
Re:Speak English to me, The secret World of Programmers by lopkeny12ko on Friday March 17, 2023 @01:35AM (#35193557)
This is exactly it. I'm involved with a lot of hiring for junior developers. It saddens me how many of them are trying to get into the field not because they're passionate for programming, interested in computers, or enjoy tinkering with digital tools. They're here because they're allured by big paychecks and "because everyone else at school is doing it."

There are, of course, exceptions, and those are the junior developers who excel the most but they are few and far in between.

Re:Speak English to me, The secret World of Programmers by nicolas_t on Friday March 17, 2023 @04:45AM (#35194681)
Yup, and given that my entire career has been in startups environments, people who lack that passion and interest are usually not a good hire. Not knowing one's way around linux is a major red flag because it shows they lack curiosity for their chosen profession.
Re:Speak English to me, The secret World of Programmers by voidfunc on Friday March 17, 2023 @01:28AM (#35193503)
Most lol. You only hiring MIT and Stanford grads?
Re:Speak English to me, The secret World of Programmers by srcreigh on Friday March 17, 2023 @01:59AM (#35193704)
Stanford or MIT or UWaterloo
Re:Speak English to me, The secret World of Programmers by stametseater on Friday March 17, 2023 @01:03PM (#35199812)
Bah. I took community college courses in highschool and the basic bitch introduction C++ course at that community college had the students using linux in the lab. The second-rate university I ended up going to after highschool required CS students to learn either Vim or Emacs to pass one of the required introduction courses, and all assignments had to compile and run on linux otherwise the TAs would reject them.

As far as I've seen, basic linux skills are taught if not required in the CS programs of colleges of any reputation or stature.

Re:Speak English to me, The secret World of Programmers by strken on Friday March 17, 2023 @02:11AM (#35193773)
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 by worthless-trash on Friday March 17, 2023 @02:25AM (#35193871)
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 by m-ee on Friday March 17, 2023 @03:50AM (#35194406)
Stanford ain’t gonna teach you Unix either. I think they at least teach git usage in the intro classes now, but certainly did not while was there. Wasn’t a CS major but took a number of classes.

The only class I took that touched on anything practical for the working world was “programming for scientists and engineers”, CME211 I think? And most people only took it because it counted for grad level math credits.

Re:Speak English to me, The secret World of Programmers by _moof on Friday March 17, 2023 @04:24AM (#35194560)
I was taught how to get around a UNIX box in CS 101 at a state school.
Re:Speak English to me, The secret World of Programmers by Kon-Peki on Friday March 17, 2023 @09:16AM (#35196670)
Purdue CS in the mid/late 1990s. All coursework, if it wasn’t handwritten on paper, was developed and submitted with your account on the department UNIX cluster.

I switched majors so didn’t have any freshman courses; I certainly hope they taught people how to use the system. You couldn’t pass a class, let alone graduate, without being able to use UNIX.

There were a few side benefits to this setup. First, it allowed you to use the Sun pizza boxes in the engineering admin building, which were insanely powerful (back then). Second, it meant you could use any computer lab on campus, because they all had terminal emulators installed. So while the average student waiting in line for an open Windows PC, you could go down the hall and sit down at a Mac in a lab that had maybe two other people in it. Third, you could submit all your print jobs to the service center in the basement of the math building, where they’d collated, staple, whatever you wanted and then put it in a mailbox for you to collect at your own convenience, rather than deal with the clown show at the printers in all the Windows computer labs.

Good times

Re:Speak English to me, The secret World of Programmers by _moof on Friday March 17, 2023 @03:42PM (#35201858)
Oh, hey, IU in the mid 1990s here. We were doing Scheme on DEC ULTRIX boxes. (Which is also how I ended up being an emacs user. Oh well. Nobody's perfect.)

Good times indeed!

Re:Speak English to me, The secret World of Programmers by oytis on Friday March 17, 2023 @05:19AM (#35194878)
I graduated in a third world country. We did have a course or two on Unix.
Re:Speak English to me, The secret World of Programmers by ecshafer on Friday March 17, 2023 @01:32PM (#35200181)
I went to a state school, 75% of the CS class used linux, 20% used OSX and maybe 5% used windows.
Re:Speak English to me, The secret World of Programmers by ZephyrBlu on Friday March 17, 2023 @01:34AM (#35193550)
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.

Re:Speak English to me, The secret World of Programmers by foolfoolz on Friday March 17, 2023 @01:42AM (#35193596)
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
Re:Speak English to me, The secret World of Programmers by pxc on Friday March 17, 2023 @02:27AM (#35193888)
> 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.

Re:Speak English to me, The secret World of Programmers by foolfoolz on Friday March 17, 2023 @12:09PM (#35198979)
nah it just shows how the valuable abstractions have moved up. i bet this 8 year mark will only get later over time until it disappears
Re:Speak English to me, The secret World of Programmers by pxc on Friday March 17, 2023 @12:26PM (#35199231)
Level of abstraction is largely orthogonal to the GUI/CLI divide, though.

nmcli is more abstract than ip+iw+wpa_supplicant, but it's no more or less abstract than any GUI network configuration widget.

The output of ls is no more or less abstract than the contents of a directory as displayed by a GUI file manager. It's the same metaphor and the same information displayed in two different formats.

Re:Speak English to me, The secret World of Programmers by nicolas_t on Friday March 17, 2023 @04:41AM (#35194664)
I haven't met a good professional programmer working in webdev who didn't know their way around linux. I've met plenty of bad programers who got into this field for money, didn't know how their way around unix, were barely able to do fizz buzz and would be better doing something else. I haven't hired them though. Not knowing one's way around linux is a sign of lack of curiosity and passion for the topic.

It's obviously different in some fields (like gamedev) where the code produced by the dev is not supposed to run in a linux environment.

Re:Speak English to me, The secret World of Programmers by maccard on Friday March 17, 2023 @06:11AM (#35195138)
I work in gamedev and all our servers run on Linux. Theres a world of difference between knowing your target environment, and knowing a laundry list of shell commands that you can pipe together. "Knowing Linux" falls into the second camp in my experience
Re:Speak English to me, The secret World of Programmers by ZephyrBlu on Friday March 17, 2023 @08:05AM (#35195941)
> Not knowing one's way around linux is a sign of lack of curiosity and passion for the topic

Complete bullshit. The only thing it's a sign of is that you're not curious or passionate about linux.

Knowing about and being interested in linux may be a positive signal, but the opposite is not a negative signal.

Knowing linux is not a requirement to be a good professional programmer working in webdev.

Re:Speak English to me, The secret World of Programmers by neilalexander on Friday March 17, 2023 @08:27AM (#35196181)
Exactly this. I feel like a lot of operating system enthusiasts forget that the operating system is, to many people, merely another tool to enable them to do something else. You can absolutely be enthusiastic about achieving an end result and not give a damn about the tools that got you there.
Re:Speak English to me, The secret World of Programmers by UncleEntity on Friday March 17, 2023 @09:45AM (#35196973)
I was under the impression all the cool kids used MacBooks these days.

And electron, don’t forget about electron.

Re:Speak English to me, The secret World of Programmers by jemmyw on Friday March 17, 2023 @01:59AM (#35193696)
Even when I graduated in 2004 there were lots of people there for the money side of it rather than much interest in programming / computing itself. I would say maybe 1/4 or less were taking more interest.
Re:Speak English to me, The secret World of Programmers by maccard on Friday March 17, 2023 @06:07AM (#35195123)
If you can't onboard a fresh grad into a usable state with version control, a toolchain, and an editor in 1-2 weeks, you shouldn't be hiring fresh grads. Expecting Linux familiarity fresh out of college is just plain gatekeeping.
Re:Speak English to me, The secret World of Programmers by bmitc on Friday March 17, 2023 @01:59AM (#35193700)
This is a somewhat harsh take. I've met plenty of programmers also set in their ways in that C or Python is the only language needed and that concurrency or functional programming is "hard" and thus not worth learning. Whereas I find concurrency and functional programming, given the correct language for it like F#, LabVIEW, Elixir, etc., is easy and manageable. It just all depends on context and experience and additionally philosophy.

For me, I have been developing for several years in several different contexts and consider myself a decent software developer who focuses a lot on proper design and implementation, readability, maintainability, speed when needed, etc. However, I am relatively weak on all the various Unix tooling (I know the general basics of course) and am currently trying to address that. Reasons for this are that I worked professionally for a long time in a Windows environment. Any scripting done was via PowerShell, which is a quite powerful tool and language and something I actually often prefer given the readability, if not verboseness, of the commandlet names or via the programming language used. My more Linux oriented roles or projects are more recent and have used languages like Elixir or F#. Since both of these languages have built-in scripting, any scripting was done with the languages themselves. Elixir has such powerful tooling that, for whatever reason, I just rarely found that I needed the Unix command line tools for what I was personally responsible for or working on or what wasn't provided by Elixir or my editor in VS Code. Elixir allows you to build custom Mix commands, which is also nice. However, now I'm in an environment where many of these tools could be very useful, so I am trying to pick them up. And it's always possible that I was missing out, so it's important just to be willing to learn as things present themselves.

Just stating this because context is everything.

Re:Speak English to me, The secret World of Programmers by Fire-Dragon-DoL on Friday March 17, 2023 @02:55AM (#35194087)
Keep in mind that "unix knowledge" doesn't mean knowing bash scripting, but understanding a bit about the shell is the key part.

You worked on windows, but you probably know about environment variables, how they are passed around, what PATH is, how to list files in a directory, cd around, copy/delete files, redirect, pipe and how to use git given your profession. Isn't that the case? I've been on Windows and learned all that as a hobbyist (I'm a professional developer, but I work on unix systems)

I asked the company I work for to add as a requirement "familiarity with bash", because otherwise we would get candidates that don't know how to use PATH, or environment variables, and that was a serious problem. It's equivalent to having the requirement "know how to use a computer"

Re:Speak English to me, The secret World of Programmers by bmitc on Friday March 17, 2023 @03:17AM (#35194224)
I got the feeling that what the commenter wrote exactly was a bit of hyperbole, but maybe that wasn't the case. Either way, I would sort of expect new college graduates or anyone to receive some training from their seniors and colleagues along these lines. They aren't all that hard to learn or all that hard to teach. The main concern is showing context and uses cases where they're useful and important.

> Isn't that the case?

Yes, of course. But there is certainly a wide variance in people's understandings of all the command line tools and uses cases that they are presented with in their own work and experience.

Software engineering is a huge field with a ton of use cases and different contexts and applications and domains. It's really all over the place. There is some patience needed when interfacing between all of these.

Re:Speak English to me, The secret World of Programmers by watwut on Friday March 17, 2023 @06:28AM (#35195235)
I think that not knowing how to use PATH or environment variables is something that can be fixed in like 15 minutes maximum. You just explain it to junirs and that is about it.
Re:Speak English to me, The secret World of Programmers by Aeolun on Friday March 17, 2023 @11:23AM (#35198263)
But then all the nuances take 2 more years to realize.
Re:Speak English to me, The secret World of Programmers by bigpeopleareold on Friday March 17, 2023 @06:50AM (#35195363)
I understand your point about Unix knowledge not requiring shell scripting experience, but I have always thought that POSIX shells are rather an important part of the Unix interface that I feel like I can't separate the two. Of course, you can do mostly everything that is in bash in other languages (and certainly there are one too many pain points in bash) but I feel less knowledgeable not knowing shell scripting. For me, learning how to shell-script to some capacity has opened my understanding a lot about what I am working on.

I took this opinion towards some presentations for co-workers and their came back to me saying that they have gotten, even if a glimpse, a broader sense what can be done. That really transcends a bit from the hot-new-tech rush, because these bits are foundational, in one way or another, to our unix/linux/bsd systems.

Re:Speak English to me, The secret World of Programmers by HideousKojima on Friday March 17, 2023 @02:10AM (#35193765)
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 by deafpolygon on Friday March 17, 2023 @02:43AM (#35193995)
What's funny is I know some amount of <insert language here> 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 by siva7 on Friday March 17, 2023 @03:09AM (#35194164)
If you're wording your CV the way it screams sysadmin right in your face the only offers you get will be sysadmin. Try emphasizing your coding experience more
Re:Speak English to me, The secret World of Programmers by deafpolygon on Friday March 17, 2023 @04:43AM (#35194675)
Correct, but it's also a common [false] view that sysadmins can't code. Even if I emphasize my limited) experience in code and leave out details about my sysadmin work, I get asked what did I do, etc. "Oh you're a sysadmin" and that's where the conversation ends.

But let's gloss over the fact that I can set-up the testing and production environment on my own along with the DB, schema, do the routing, proxy and everything in between. Then, back it all up.

Re:Speak English to me, The secret World of Programmers by orwin on Friday March 17, 2023 @06:06AM (#35195120)
Try to market yourself as a devops. The pay is better than sysadmin, and if you're selective enough, the job can be great for you and your whole skillet.

It took me 3 tries to get myself right where I wanted to be but when work doesn't really feel like work despite being at $BigCorp, life is enjoyable.

Re:Speak English to me, The secret World of Programmers by brightlancer on Friday March 17, 2023 @06:32PM (#35203770)
I've found that most companies treat sysadmins as a cost center while developers were treated as a profit center.

Even when companies specifically state otherwise, it's how they usually behave.

Re:Speak English to me, The secret World of Programmers by ncpa-cpl on Friday March 17, 2023 @02:21AM (#35193849)
> 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 by JoachimS on Friday March 17, 2023 @03:32AM (#35194316)
Just like many other types of higher education. Doctors, Lawyers etc. A CS, CE, EE degree is for many the first step on a career path. In many cultures becoming an doctor, lawyer, engineer is something to strive for. It is an upstanding position and is well payed. Too bad being a teacher seems not to be like that anymore in many western countries.

We here at HN are quite probably not the norm. Being hobbyists that have been tinkering with computers since early childhood should not be a requirement to become a programmer. If it were, the industry would not be able to scale as it has. There are simply too few of us in the human population.

Re:Speak English to me, The secret World of Programmers by sideshowb on Friday March 17, 2023 @03:57AM (#35194440)
> newer graduates may have studied programming because "it pays well",

Define new. Programming has been known to pay well since at least the 1990s.

Re:Speak English to me, The secret World of Programmers by PeterisP on Friday March 17, 2023 @08:56AM (#35196480)
There's a big gap between making early career choices and them materializing, also, information dissemination is slow and uneven.

> Programming has been known to pay well since at least the 1990s. Known by whom? The median family in 1990 wouldn't even consider that programming as a career exists, much less that it pays well. At the dot-com boom in late 1990s, the adults would know that, but it wouldn't yet be "culturally assimilated" for the masses in the way the assumption about doctors and lawyers income was; and then you get the dot-com bust. I'd say that the time when the median high-schooler get told by all reasonable adults that "programming is a sure way to money for anyone, not just for weird geeks" doesn't arrive until 2000+ or even later; and from that time it takes ~10 years for that generation of kids to pass through school, college and fill the companies in great numbers.

Re:Speak English to me, The secret World of Programmers by sideshowb on Friday March 17, 2023 @11:19AM (#35198187)
This is a good point, programming was known to pay well, but you're right it was seen as for nerds only in the 90s. My parents were even a little worried about me taking compsci because they thought I wasn't nerdy enough to compete! Glad I didn't listen.
Re:Speak English to me, The secret World of Programmers by UncleEntity on Friday March 17, 2023 @09:32AM (#35196852)
I went to college for a big chunk of the 90s, liked to fiddle with computers and didn’t know programming paid well.

In fact I didn’t know much at all about computer science other than some prerequisite class I was bored out of my mind in.

Re:Speak English to me, The secret World of Programmers by sideshowb on Friday March 17, 2023 @11:20AM (#35198215)
That's because you were obviously interested in programming, not money (yay).

Gates was, however, on the Forbes rich list since the late 80s, and richest person in the world from 1995, so I find it hard to believe anybody really money-driven wouldn't have known this at the time.

Re:Speak English to me, The secret World of Programmers by oytis on Friday March 17, 2023 @05:12AM (#35194829)
It's been a while since I've last used FTP, so it might be just a generational thing. I for one have no idea how to connect to a BBS.
Re:Speak English to me, The secret World of Programmers by maccard on Friday March 17, 2023 @06:03AM (#35195104)
> 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.

I would consider myself a decent programmer I have a masters degree, and have a deep technical understanding of multiple areas. I've plenty of experience and have shipped successful products.

I've never (not once) in my life used a GUI ftp client, and I can futz my way around an SCP command to shuffle a file around if I need to.

I can make the same argument against someone who refused to use a new development environment because they understand how their compiler works under the hood.

Just because someone doesn't know something that you know doesn't mean that you're better than them, it means you're different. Personally, i would rather have someone on my team who understands how to extract logs from cloudwatch/datadog/new relic than someone who insists our VPN solution has FTP access to our servers.

Re:Speak English to me, The secret World of Programmers by watwut on Friday March 17, 2023 @06:33AM (#35195264)
Last time I used ftp was years and years ago. I really dont think newbies should be expected to know it.

Also, it is ok and to be expected for fresh graduates to have only knowledge in most important areas for them. Even people who want to learn a lot more then necessary are better off focusing on learning more in the immediate area they will actually use at first.

Re:Speak English to me, The secret World of Programmers by devjab on Friday March 17, 2023 @02:24AM (#35193863)
> 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 by RektBoy on Friday March 17, 2023 @02:36AM (#35193940)
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 by flandish on Friday March 17, 2023 @02:43AM (#35193990)
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 by logn on Friday March 17, 2023 @05:39AM (#35194981)
Perhaps these devs prefer the "fix it ship it" mode and don't see the value of learning particular skills. I find it a balancing act to be pragmatic and it involves being skeptical about investing time learning new tech. With everything there is to possibly learn, you have to ignore almost all of it... until (at the latest) it's industry standard in the niche you specialize in and then you have to be open minded that it's worthwhile to the company and personally. I have found in cultures like you describe "decision matrices" can be helpful because it allows people to consider costs, risks, do preliminary investigation, etc. That is a sort of way of providing encouragement and permission to learn things and innovate.
Re:Speak English to me, The secret World of Programmers by flandish on Friday March 17, 2023 @07:45AM (#35195709)
Solid thoughts - I neglected to let on that in my case the seniors lament about how new tech sucks, like python being just another perl… etc. They are “tear down prove it to me while I call things retarded” sometimes.

Thats where mgmt should step in. Its really only a couple people.

Re:Speak English to me, The secret World of Programmers by logn on Friday March 17, 2023 @03:33PM (#35201755)
You might be surprised how even people as aggressive or stubborn as this might still find it embarrassing or unreasonable to refuse a lunch-and-learn. Maybe sending a mass invite to a meeting on Python would be seen as passive aggressive, so just start socializing smaller ideas with key people. It sounds like you'd have to be cautious about upsetting people but I think it's always worth it to at least find the most polite and diplomatic ways to suggest things you want at opportune moments. The times I see this backfire is when people let it monopolize their attention or bring negative tone/attitudes.
Re:Speak English to me, The secret World of Programmers by flandish on Sunday March 19, 2023 @07:28AM (#35217949)
I will try that. I appreciate your reply. :)
Re:Speak English to me, The secret World of Programmers by vbezhenar on Friday March 17, 2023 @03:24AM (#35194278)
There are three variants:

#1. They are just stupid.

#2. They don't care about work other than bare minimum to not get fired. They have better things in their life to care about.

#3. They are as smart as you are, but they put their efforts elsewhere that you don't directly observe. May be they don't know how to operate Linux environment, but they spent days reading about DSP math and they can apply this knowledge to optimise some signal filter. May be they don't know HTML, but they spend that time to learn Spring internals and can compose really beautiful code out of it or solve very hard problems.

I think that specialisation is not that bad. It's everywhere. Some people in IT are generalists, they know a bit of everything. I consider myself one. I'm trying to build an embedded Linux distro right now, few days ago I was writing parser for PDF to extract some information (real parser, byte after byte), few weeks ago I tinkered with STM32 program, few months ago I wrote Java service, next week I'l continue to work on React web app which is going to run on embedded device. I do everything, my knowledge helps me immensely to quickly dive into new area. But i'm absolutely far from expert and sometimes I'd spend lots of time when I lack a knowledge. For example I spent two weeks trying to start graphics on i.MX8MM board and I failed. I need to debug kernel but I just don't have that kind of skill in Linux internals. But there are people who prefer to specialise and that's fine and they would probably solve that problem in few days.

Re:Speak English to me, The secret World of Programmers by scoutt on Friday March 17, 2023 @04:24AM (#35194554)
You forgot one variant: they just don't like it.

Like me. I use the command line all the day, compiling AOSP and kernels, and drivers, firmware, and all kind of related things for embedded. But I don't like it.

To me, it feels archaic and counterintuitive (I'm autodidact). Same goes for command line editors or Vi, Vim, Emacs, etc.

It's not 1985 anymore. Microsoft and Apple built an empire based on coherent (up to some point) UIs. They succeded because they might were up to something.

Re:Speak English to me, The secret World of Programmers by fcatalan on Friday March 17, 2023 @04:59AM (#35194740)
It's not just concrete things like command line or linux or old crusty editors, it's about how they lack general computer savvy and flexible problem solving skills.

One example:

I had this guy, it was his second job, the previous one was about some Enterprise Java thing. Intelligent and hard working, and able to learn: we were exploring Erlang for some parts of the system and he was contributing within the month, with just a bit of hand-holding. But one day we get an urgent request for new functionality in the Java parts of the org, so I hand it to him. First task is getting some static data out of a few dusty html tables deep in the intranet and dumping it on a new table in the dev DB so we can start prototyping around it.

A couple of hours go past and I go check up on him. He's deep into some docs for an XML parser and ORM so he can parse the tables and get the data into the DB. He has already like 5 or 6 classes with all their getters and setters but he's not nearly halfway done.

I bring up the browser console, type $ to see if jQuery is loaded in the page, then come up with a one liner that spits the insert statements on the console (I had to google a couple of times, I'm not really a jQuery dude).

But then even that was a bit too flashy... he could just have coaxed the data into the database fiddling around with a spreadsheet and the DB GUI for a couple minutes.

But somehow his default and almost only mental model of interaction with data was overengineered Java, no matter how overkill it was for the task.

Re:Speak English to me, The secret World of Programmers by scoutt on Friday March 17, 2023 @05:34AM (#35194951)
One thing I learned in my 41 years is that nobody thinks like me (or you). It's not that I 'think better' or that I am 'better at thinking'. But sometimes I deal with variables that I can't correctly communicate or translate. I often think that people deals with the same information as me, and will follow my same path of reasoning.

Perhaps the dev thought it should be a tool that you will be using every day, or a thing to maintain in the future.

For example, in what you wrote, I really understood the thing you wanted to do by reading what you've finally did. Perhaps the input to the dev should have been: "Hey we have to do this, and we need this mock data from this HTML to start developing. First we take the data out. Don't worry much about how you do it, even if it's nasty. We don't need a full-fledged production-grade "HTML data extractor" to do this. This is data that we would be importing twice at max. So even if you lose 15 minutes copypasting it into a CSV file, it's fine".

Re:Speak English to me, The secret World of Programmers by alpaca128 on Friday March 17, 2023 @05:46AM (#35195009)
Building the long-term solution first is often wrong even when you need one. I use the quick and dirty method until I know I'll do that task more regularly and I know enough about the problem so I don't need to make wild guesses about the design.
Re:Speak English to me, The secret World of Programmers by scoutt on Friday March 17, 2023 @06:00AM (#35195087)
This is a clear example of what I was talking about. The fact that you use a given method doesn't mean other methods are "often wrong even when you need one". This is just the way you think and work, in the position you are now.

If your boss at the workplace you've been working probably "within the month" or a little longer tells you to write a program to do X, you'll maybe pulling all your knowledge out to write a program to do X as if it were the most important program in the world.

Re:Speak English to me, The secret World of Programmers by watwut on Friday March 17, 2023 @06:30AM (#35195249)
Not everyone do that tho. And that includes pretty good senior engineers I work with.
Re:Speak English to me, The secret World of Programmers by recfab on Friday March 17, 2023 @04:22PM (#35202381)
Learning to work "quick and dirty" is something I'm actually working on improving, personally.

I don't necessarily do BDUF or anything, but I generally do more "engineering" than is often directly necessary. Partially, it's my personality. But part of it is that in my experience, prototypes have a way of becoming production systems.

Last time I had to do a prototype for work, I split the difference: working quick and dirty, just meeting the minimal requirements, but also documenting what we would need to do if we decided to move forward with it. That felt like a good balance.

Re:Speak English to me, The secret World of Programmers by Aeolun on Friday March 17, 2023 @11:33AM (#35198405)
> I use the quick and dirty method until

I use it until I realize it’s not quick after all. Now I default to writing one off scripts.

Re:Speak English to me, The secret World of Programmers by stametseater on Friday March 17, 2023 @12:50PM (#35199602)
> First task is getting some static data out of a few dusty html tables deep in the intranet and dumping it on a new table in the dev DB

For something like this, the first thing I'd do is extract the first row manually in Vim, recording my actions as a macro, then use that macro to extract the rest. That would take a few minutes tops, depending on the structure of the data it might take seconds or there might be a bit more massaging necessary, but no more than about 5 minutes for this step. I have a keybinding that maps execution of the macro in the q register to the spacebar to streamline this process; I double-tap q to start recording, press q again to stop recording, and press/hold the spacebar to execute that q macro. In my experience, 2 or 3 passes are usually enough to cleanly extract a table of data from some random HTML page.

If the job was a once-and-done, then I'm already done. If I am meant to be creating something that can be re-used later, then I still do the above anyway and now I have the result with which to test whatever more permanent solution I'm writing.

Re:Speak English to me, The secret World of Programmers by alpaca128 on Friday March 17, 2023 @05:39AM (#35194979)
I guess it's just different workflows and preferences. I like Vim and the commandline because they don't get in my way and don't try to be clever. I don't get 3 popups every time I open a program because there's a new update available and it really wants me to create an account and it has a super important "tip of the day" I forgot to turn off. Instead I can give it a couple thousand lines from a source it doesn't need to know about and let it chew on the data and write it into a file to load in a Python script. And somehow it still all stays up to date without having to tell me.

GUIs are nice to get into but are also limiting because they were designed with assumptions about how I use the program. Compared to the commandline they feel like they have a wall built around them that prevents me from making them interact with the rest of the system. Some GUIs are less limiting but in turn not any more beginner-friendly than the commandline.

Re:Speak English to me, The secret World of Programmers by Aeolun on Friday March 17, 2023 @11:27AM (#35198323)
I don’t think compiling kernels would really gain anything from being outside a terminal?

Ultimately it’s just an interface to programs that output mostly text. It took me a really long time to wrap my head around that. Programs that have a GUI and programs that run in the terminal use the same building blocks.

Re:Speak English to me, The secret World of Programmers by scoutt on Friday March 17, 2023 @11:56AM (#35198774)
> I don’t think compiling kernels would really gain anything from being outside a terminal?

I remember compiling, flashing and debugging Windows CE images (10? maybe 15 years ago?) from an IDE (Visual Studio). It was super comfortable. Setting breakpoints, jumping to any kernel thread, navigating the call stack, watching memory and variables. All from the IDE. The development process was super fast.

Now between dmesg and logcat, I have to debug reading and grepping thousands of lines of log. Also adding printk, ALOG and all sort of logging functions to the code, recompiling, reflashing using a terminal with ADB, etc.

> Ultimately it’s just an interface to programs that output mostly text

For example, double-clicking on a compilation error and showing the error in an IDE is priceless. I know there should be some Vim plugin that does that, but it's out-of-the-box on every decent/modern coding IDE out there (VScode + ssh, which I use for AOSP, for example). Even better if the IDE shows only the errors/warnings the compiler emitted.

Also, try to find the error line between 10000's lines of building log when you compile a kernel/AOSP in parallel with -j20.

Re:Speak English to me, The secret World of Programmers by uoaei on Friday March 17, 2023 @03:46AM (#35194388)
As a person with an extensive background in ML, I feel similarly about CS grads attaching themselves to "AI" enterprises until they convince themselves they're an "expert" without putting in the due diligence to understand the unifying math under the hood. They end up doing stupid things with their models, completely ruining their business proposition through their lack of understanding in how the ML theory makes the implementation make sense. And then they don't even know how to appropriately judge the quality of the outputs from the reported metrics.

It's normies all the way down.

Re:Speak English to me, The secret World of Programmers by arka2147483647 on Friday March 17, 2023 @04:14AM (#35194507)
You forget the immense depth of everything that is computers today. It simply is not possible to learn everything, even basics of everything, in the time to get a decree.
Re:Speak English to me, The secret World of Programmers by astura on Friday March 17, 2023 @08:18AM (#35196070)
Are you confusing bootcamp and college?

Sure, I graduated from college almost two decades ago but all those "can't"s were very much part of the standard CS curriculum then.

The new grads I talk to now at work only complain that they didn't learn how to use "advanced" debuggers/IDEs in college. They are fine on the terminal.

Re:Speak English to me, The secret World of Programmers by 908B64B197 on Friday March 17, 2023 @11:07AM (#35198030)
> 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

Sounds like you are hiring wrong. The point of a good engineering degree is to teach someone how to learn. Any degree worth something will include non-trivial coursework and projects, so they should already be familiar with some of the tooling.

Re:Speak English to me, The secret World of Programmers by rewgs on Friday March 17, 2023 @01:16PM (#35199974)
Absolutely spot on. A very good friend of mine went through a bootcamp and very much views himself as essentially “blue collar” —- do the job, go home. It’s for money, not passion, not at all. There’s nothing wrong with that per se, but with that mentality typically comes a distinct lack of curiosity. He’ll only learn new things when directed to, and unfortunately that means that he learns little and not often. Over time, that makes the experience of being a software developer very painful indeed.

We were talking about a recent problem he was having, getting his IDE and build server and virtual environments talking to each other, and it became immediately clear to me that if he knew what an environment variable was, he’d have solved this in about 5 minutes. Instead he’d been stuck for days, kind of just flailing.

I also suggested spinning up a dev VM or container so that he can make snapshots, nuke it and start over, etc as he makes progress figuring it out. He flatly stated that that “wouldn’t work” for reasons he couldn’t articulate.

I am almost obsessively curious about how computers work, and that curiosity led me to Linux and a nearly 100%-CLI workflow. That more than any other skill has paid off, even if viewed completely dispassionately: at least half the tools you’ll be using will have been written from this same POV, where a CLI-centric workflow and Linux are both first-class citizens.

A lot of people just want to “write code” but seem to completely ignore the reality that that doesn’t happen in a vacuum. You’re using tools, and those tools very often require some understanding of the computer they’re running on.

There’s some meme floating around out there about how “easy is hard” —- exercising is hard, but enduring the effects of not exercising is harder, etc. Now that I’m on the other side of it, I absolutely believe that working in the command line, ideally on Linux (but macOS will do fine as well), is the best way to pick up all the “glue” knowledge that allows you to reason your way through just about any situation you find yourself in. We do ourselves quite a disservice by calling most of these skills those of “sysadmin” or “devops” or what have you —- to me it just seems like it’s “knowing computers,” and when you’re spending your days writing instructions for computers to perform, that can surely only be a good thing.

Re:Speak English to me, The secret World of Programmers by throw_m239339 on Friday March 17, 2023 @05:22PM (#35203086)
I know plenty of fresh out of college developers that absolutely DO NOT FIT that profile. They are very proficient with shell and linux, hate IDE, are curious about all sorts of technology because they are always finding better ways to do things and aren't dogmatic when it comes to language paradigm.

Your problem might be where you get your fresh out of college developers, you may get them from prestigious universities, but it says absolutely nothing about whether they actually love programming or not, or they are just in programming because of the promise of a fat paycheck.