5 ms·
There is a disturbing number of young software engineers who have never installed or used Linux, and who don’t want to learn Python or Powershell for their job.
by JTyQZSnP3cQGa8B 3y ago
There is a disturbing number of young software engineers who have never installed or used Linux, and who don’t want to learn Python or Powershell for their job.
They stick to what they know (usually C# or Typescript) and they have problems if they need to use a new tool or language.
- ben_w 3y agoIt was always so. 24 years ago, I had to do my computing A-level[0] in Visual Basic because that was the only language the teacher knew. [0] UK thing: https://en.wikipedia.org/wiki/A-level https://en.wikipedia.org/wiki/A-level
- deleted 3y ago[deleted]
- jmrm 3y agoWhen I was in the University most people didn't know and didn't wanted to learn how to do that, and a couple of buddies and me helped the rest of folks with those needs. We were in an EE/Telco degree where we had to program in different languages and configure plenty of different software, so knowing to solve that kind of problems are relevant in the kind of work they were going to do in the future. The reality of that is how most of people are (or were?) in those degrees as a mere formality to get a good paying job, and interests are a secondary matter.
- hackdads 3y agoThis is the same story that I lived in the late 90's. My buddies and I would install every different distro, run through LFS build and that has turned into a very niche embedded systems expertise that is exactly where the industry is now. Every system has linux, qnx, or android. The university was so small that when we went to the IT department to "register" our computers for the network that the IT guys were excited that we were running linux.
- dagw 3y agoThat is nothing new. I've met and worked with plenty of old software engineers who learnt C++ 30 years ago and don't want to learn anything new (not even modern C++) for their job.
- 72deluxe 3y agoYes and they didn't even "learn" C++ 98 or 2003 very well! Templates are a mystery to them.
- shrimp_emoji 3y agoThank god. ;D Also, you don't need anything other than C++. >:D It's the one lang that can do it ALL! But not taking the time to learn C++11+ is demeritable.
- bamboozled 3y agoMost juniors where I work spend their days delivering nothing and telling me how shit everything is and how they already know everything and if they could just use some other language or framework they’d be productive.After all that, go generate a bunch of crap with copilot that never comes close to landing in production and most other mid and senior engineers just quietly do their work for them. Some of these people are in their 40s and are new to the industry. Not just picking in "younger" people here. Just a different attitude. I think the barrier of entry is just getting higher as we have to know a lot more these days.
- Izkata 3y agoA few times I've had to push juniors into new languages by having them do something very simple in a system that was written in a language they haven't learned, and the result was they found it easier than expected. At least for juniors, I'm pretty sure the problem for a lot of them is they remember how much effort went into learning their first programming language and are assuming the second one will be just as much effort. They haven't realized how much of that effort went into general concepts that do translate to other languages, making it easier to learn more.
- aleph_minus_one 3y ago> At least for juniors, I'm pretty sure the problem for a lot of them is they remember how much effort went into learning their first programming language and are assuming the second one will be just as much effort. They haven't realized how much of that effort went into general concepts that do translate to other languages, making it easier to learn more. Programming languages have become ecosystems/biotopes. In this sense, learning another programming languages is about thinking how things are done in (often subtly) different ways in the other programming language, learning about the whole culture surrounding the other programming language, etc. There aren't so many transferable principles. Because many programmers are not willing to put this effort into transferring into a different language, so much bad code is written by programmers who "never properly learned the way of thinking in this language/framework" and thus write, say, "idiomatic Java code" in C++ or "idiomatic Go code" in JavaScript.
- Izkata 3y agoYou're having trouble thinking at the level I'm talking about: variables, conditionals, loops, functions, etc. All of these were new concepts to us at some point. I'm talking about people who are new enough to easily remember the effort that went into learning those basic concepts on top of learning the syntax for their first language.
- aleph_minus_one 3y ago> You're having trouble thinking at the level I'm talking about: variables, conditionals, loops, functions, etc. Exactly my point: just to give some examples concerning your keywords: - In many cases, for loops (with an index) became unidiomatic. Instead foreach or range-based loops became the idiomatic way - In C#, for many cases, the idiomatic way is to use LINQ. The old style to write LINQ queries was to use query expressions, but it became out of fashion. Now, you typically use the method-based query syntax instead. - conditionals: there actually do exist programmers who argue that if expressions are code smell when you do object-oriented programming (google "ifless programming" or "anti-if programming"), since the idiomatic way in (class-based) object-oriented programming when what should happen depends on some state is to write a method. This thought has not become mainstream, though. On the other hand: for a related reason in Smalltalk, a programming language that takes object-oriented programming much more seriously than most other languages, there exists no "if" as part of the language; see for example https://www.quora.com/If-if-is-an-object-in-Smalltalk-how-is-it-defined/answer/Richard-Kenneth-Eng https://www.quora.com/If-if-is-an-object-in-Smalltalk-how-is... - functions: functions now often have become stateful (coroutines, methods, polymethods, closures, ...). On the other side, there exist programmers (often from functional programming) who argue that functions as they exist in imperative languages are not "pure enough".