this post was submitted on 07 Dec 2023
928 points (99.2% liked)

196

16116 readers
3763 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 1 year ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 90 points 8 months ago (7 children)

Java is poison for the mind

[–] [email protected] 31 points 8 months ago (5 children)

Why do people feel this way?

I'm genuinely curious as I'd think having a wider swathe of coding experience would be a good thing wouldn't it?

I don't work in fields that use coding expertise, I drive a forklift so I'm out of my wheel house when it comes to coding.

[–] [email protected] 31 points 8 months ago (1 children)

Not sure either. Best guesses are a combination of elitism, ignorance, preconceptions, groupthink, and insincere memeing.

[–] [email protected] 16 points 8 months ago* (last edited 8 months ago)

NGL if I saw a job listing that said, "Don't have experience in a specific field," I wouldn't apply even if I didn't have experience in the field specified because my assumptions for why they'd say that basically are the reasons you said.

Or that they would want someone they could under pay for the position, but that's more specific for what the job is and what they don't want you to know beforehand.

Edit: Fixed wrong wording

[–] gornius 29 points 8 months ago (2 children)

Java used to lack many features to make the stuff you wanted it to do, so most Java programmers adapted design patterns to solve these problems.

Honestly, older versions of Java are utter garbage DX. The only reason it got so popular was because of aggressive enterprise marketing and it worked. How can a language lack such an essential feature as default parameters?

So, anyway after the great hype Java lost its marketshare, and developers were forced to learn another technologies. And of course, instead of looking for language-native way of solving problems, they just used same design patterns.

And thus MoveAdapterStrategyFactoryFactories were in places where simple lambda function would do the same thing, just not abstracted away three layers above. Obviously used once in the entire codebase.

Imo the only really good thing about Java was JVM, while it was not perfect, it actually delivered what it promised.

[–] [email protected] 7 points 8 months ago

This is the only necessary comment in the entire thread, thanks for explaining

load more comments (1 replies)
[–] [email protected] 11 points 8 months ago (1 children)

Java in a large way has been eclipsed by most other languages, and developers kind of have a way of making fun of old technologies, like a lot of the same jokes are made about PHP which is still very popular but outdated. In reality Java is also still incredibly popular and knowing it is certainly a benefit. It's just a collective joke.

load more comments (1 replies)
[–] amtwon 8 points 8 months ago* (last edited 8 months ago) (1 children)

If it's a job that requires high-performance/low-level code (which seems to be the case from the other qualifications), this is probably their way of filtering out people who have primarily worked at a higher level where you don't need to worry about the nitty-gritty details

[–] [email protected] 12 points 8 months ago* (last edited 8 months ago)

I can almost guarantee that job post was written by a recruiter who had some engineers in a call. The recruiter probably said something like "What about Java? I hear Java is important" to which the engineer(s) likely jokingly responded "Oh, no, please no. MINIMUM POSSIBLE JAVA. Yeesh. Ideally none." ... and the recruiter took that literally.

load more comments (1 replies)
[–] [email protected] 12 points 8 months ago

Honestly, why people hate it so much? It's better than most of the shit people use

[–] SirQuackTheDuck 7 points 8 months ago

That's why I'm working in that area. Gotta give the alcoholism some competition up there.

load more comments (4 replies)
[–] NickwithaC 82 points 8 months ago (5 children)

ability to bring up hardware

In conversation?

[–] jaybone 22 points 8 months ago (1 children)

You need to raise it suckling at your teet until you send it off to college.

load more comments (1 replies)
[–] [email protected] 20 points 8 months ago

No, they're asking if you can get an erection

[–] [email protected] 19 points 8 months ago

Hardware bring up is when you design a pcb or something and there doesn't yet exist any firmware for it. It would be the ability to debug the board and write firmware for it.

[–] [email protected] 12 points 8 months ago

They need someone strong enough ton drag up old servers from the basement.

load more comments (1 replies)
[–] LazaroFilm 64 points 8 months ago (1 children)

Do you have a link to this job posting? That’s exactly me. Not a joke.

[–] bus_factor 51 points 8 months ago (3 children)

Looks like the company is https://www.winterwinds.io/, but they do not appear to have any open job listings at the moment. I assume this is an older screenshot.

[–] Sanyanov 12 points 8 months ago (1 children)

And that's how hopes die...

[–] bus_factor 16 points 8 months ago

If they're a good enough fit, the company might hire them despite not having any open positions. It happened to me once.

load more comments (2 replies)
[–] Agent641 60 points 8 months ago (1 children)

Real-time operating system implies the existence of a turn-based operating system.

[–] [email protected] 11 points 8 months ago

Well, that's... not wrong. The time-sharing OSes take turns assigning resources too tasks.

[–] [email protected] 53 points 8 months ago (4 children)

Maybe they want to avoid java coding patterns. FactoryFactoryGenerator kind of stuff. Maybe they want to teach their own java coding patterns and want someone coming in with a blank slate so they don't have to unlearn habits. Maybe they're tired of diploma mill programmers applying and are using this as a resume filter tripwire.

[–] pennomi 39 points 8 months ago* (last edited 8 months ago) (4 children)

Definitely. Horror story time.

We had an outside contractor bring us some code once that was thousands of lines of Python to do a very simple job. I was perplexed. I dove in to figure out what the problem was, and somehow I was looking at the most Java-esque Python code I could imagine. What’s worse is that he implemented his own “Java style” property getters and setters for all the Python classes, which obviously aren’t needed because you can simply access properties directly. In the end I took an 80 line snippet of his code (which actually did the work we needed), swapped out all the getters and setters, and deleted all the rest.

[–] Potatos_are_not_friends 18 points 8 months ago

This is pretty common with outside contractors.

We just come in, say we'll pay them x dollars and they give us code that passes the test. But that code will not at all align with any prior patterns.

I absolutely know I'm guilty of it when I do freelancing. Sorry.

[–] [email protected] 12 points 8 months ago (1 children)

You can always tell when someone's been a career contractor because they never adhere to any of the established patterns/styles in the codebase.

load more comments (1 replies)
load more comments (2 replies)
[–] ook_the_librarian 10 points 8 months ago (1 children)

It might be to see who is reading the posting and tailoring their reply. Kinda like a "no green M&Ms" rider.

load more comments (1 replies)
load more comments (2 replies)
[–] frobeniusnorm 40 points 8 months ago* (last edited 8 months ago) (3 children)

Ruling Javascript and Python programmers out would be more sane imho. Java sucks, but at least its typed and doesn't implement weird semantics.

[–] [email protected] 21 points 8 months ago (3 children)

Had to work with a python programer on a small java project (in uni). I passed some (handcrafted) strings in an Optional to be explicit an first thing he does is check whether they are empty (sending on empty strings would not have been problematic). Also he had compilation errors on his branch that lasted over a week. What python does to someone.

[–] [email protected] 17 points 8 months ago (13 children)

I worked under a self-proclamed Python/JavaScript programmer, and part of the job involved doing rather advanced stuff in various other typed languages like c# and c++. It was hell. The code review were hell. For every little tiny weenie little things we had to go through "why coding c++ like it is python" is a very bad idea.

What is crazy about developers who exclusively work with scripting languages is that they have no conception of why general good practices exist, and they often will make up their own rules based on their own quirks. In my previous example, the developer in question was the author of a codebase that was in literal development hell, but he was adamant on not changing his ways. I'd definitely be wary of hiring someone who exclusively worked with scripting language, and sometime it is less work to train someone who is a blank slate rather than try to deprogram years of bad habits.

[–] FooBarrington 7 points 8 months ago (7 children)

I'd change this slightly - the problem isn't exclusively working in scripting languages, but dynamically typed ones. There are people who write great code in Python (with typing) and in Typescript, and they usually can work well in other languages too. But people who don't type their programs are in my experience simply bad developers, the way you describe.

load more comments (7 replies)
load more comments (12 replies)
[–] grue 16 points 8 months ago (1 children)

That guy was shitty at Python, then. Python is all about EAFP instead of LBYL.

[–] lostme 19 points 8 months ago (1 children)

Eat ass fast paced instead of lay back your lettuce?

[–] grue 15 points 8 months ago

"Easier to Ask Forgiveness than Permission" vs. "Look Before You Leap."

In other words, in Python you should just write the code to do the thing and then put an exception handler at the bottom instead of cluttering up your function with guard code everywhere.

load more comments (1 replies)
load more comments (2 replies)
[–] Sunrosa 34 points 8 months ago (3 children)

Did NOT expect to see Rust mentioned. Happy it's getting recognized.

[–] [email protected] 22 points 8 months ago (1 children)

Isnt there Rust in the linux kernel now? Would be kinda crazy if it didnt get noticed by now...

[–] [email protected] 11 points 8 months ago (3 children)

Rust is the Celeste of programming languages.

load more comments (3 replies)
load more comments (2 replies)
[–] kaffiene 25 points 8 months ago (1 children)
[–] [email protected] 61 points 8 months ago (1 children)

Sure it is, grandpa. Now let's take your pills and go to bed.

[–] [email protected] 21 points 8 months ago

Like in the old days "No previous exposure to FORTRAN" required.

[–] satans_crackpipe 15 points 8 months ago (1 children)

I've met java developers that have almost no java experience.

load more comments (1 replies)
[–] [email protected] 14 points 8 months ago* (last edited 8 months ago) (2 children)

reading this just gives me the biggest imposted syndrom and reminds me of how underqualified for any job i feel, even after my software development apprenticeship

[–] [email protected] 28 points 8 months ago (3 children)

Don't feel that way. This is a highly specific role with a ton of not-necessarily-connected tech. Python, C++, Rust and calling out Java? Strange. You don't need to know any of this stuff to be successful. If you just know javascript, that's enough for many, many roles.

Youll find that if you understand the patterns you're using in JS, you can apply them to many other languages. Other languages will have different syntaxes and maybe slightly different patterns, but you can always apply what you know, which will make it easier to add more languages to your arsenal.

You'll feel like you have no idea what you're doing for a long time, but all the while you have picked up a ton of knowledge and experience that you will still probably discount. Just be eager to learn and don't sell yourself too short.

load more comments (3 replies)
load more comments (1 replies)
[–] [email protected] 11 points 8 months ago

Damn, that sounds like a cool job. I would like to do more Rust at work, but alas, everything here is either Python or Java.

[–] [email protected] 9 points 8 months ago (1 children)

Git hygiene is important for avoiding Git-Transmitted Infections (GTIs) such as Vim

load more comments (1 replies)
load more comments
view more: next ›