News for hackers. Stuff that matters.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by CoolGuySteve on Monday April 05, 2021 @07:24AM (#26697634)
I deliberately omit C# from my resume because while the language is fine, the kind of programs C# programmers tend to write are an AbstractAggravationFactoryPattern of misery.

This posting is extreme but any time I'm interviewing a Java/C# programmer I'm definitely watching to see if they've been brain damaged by the horrible aesthetics and loopy engineering cultures that those languages seem to have for whatever reason

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by me551ah on Monday April 05, 2021 @07:55AM (#26697850)
While this was certainly true for C# that was written a decade ago, that is no longer the case with frameworks like .NET Core. Hate it all you want, but no other language does async/await as well as C#. Its ubiquitous in C# unlike all other languages out there. It's surprisingly easy and concise to write but doesn't come with the performance penalty associated with languages like Python. It also runs without any hiccups on Linux now. The only thing that seems to work against it, is it's reputation.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by ixwt on Monday April 05, 2021 @07:32AM (#26697689)
I work in a primarily C# shop. I am often quite annoyed at some of coworkers code due to it being what I feel is needlessly over abstracted. I don't know if it's my lack of experience with this style of code, or perhaps I don't know the concept of OOP as well as I should. But it is quite aggravating.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by sunstone on Monday April 05, 2021 @09:45AM (#26698854)
Abstraction if necessary but not necessarily abstraction. That's my rule of thumb.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by criddell on Monday April 05, 2021 @07:44AM (#26697774)
I think it's the frameworks. If you are using something like .Net Core it really encourages you to break everything up into services that can be selected via dependency injection and you naturally seem to end up several layers.

I'm sure there are times when that's absolutely the way to go, but something simpler that solves the problem directly will often do.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by thrower123 on Monday April 05, 2021 @08:03AM (#26697895)
The way Asp.net encourages inscrutable code through spooky action-at-a-distance dependency injection patterns is one of the things I actively dislike about working with C#. Fortunately, you can avoid most of it and be more explicit if you want, it's just not the idiomatic way. There's almost always an escape hatch to ditch the overblown abstraction layers and get down to what's actually happening.

If all else fails there's dotPeek and Reflector...

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by marsven_422 on Monday April 05, 2021 @08:59AM (#26698346)
And thus killing of the ability to do proper unit testing.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by thrower123 on Monday April 05, 2021 @09:41AM (#26698796)
If that pattern is required for proper unit-testing, I don't want to do 'proper' unit testing.

You can write code where your dependencies are injected and can be swapped out for testing without buying into a framework that makes it that difficult to reason about what code is actually being run and in what order.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by noisy_boy on Monday April 05, 2021 @09:48AM (#26698896)
I don't have experience with .NET core but taking example of Spring in Java (which gets targeted a lot for this sort of thing), you can get away with putting the logic at the outer levels without using services. However, more often then not, you end up using similar chunks of related functionality that then gets put into some common class to avoid repeating it everywhere. If you are already doing that, then why not put them in a service - its just a class with a @Service annotation that the dependency injection can take advantage of. Further, the fact that services are logical containers of such related functionality, creating them actually follows the principle of least surprise (viz. audit related stuff goes in AuditService) and testing/mocking etc becomes cleaner.

Of course, if you are writing a simple utility, then none of this is necessary - you'll probably not use Spring for it anyway and just core Java is fine.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by mpfundstein on Monday April 05, 2021 @07:48AM (#26697798)
whereby the only injection ususally is the same servuce over and over. with the occassional DatabaseMock sometimes...
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by marsven_422 on Monday April 05, 2021 @09:00AM (#26698352)
Unit testing is not "sometimes" is 50% if the code you write
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by mpfundstein on Monday April 05, 2021 @04:55PM (#26704606)
in your dreams maybe :-)

(not to say that this wouldnt be a good thing)

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by hk1337 on Monday April 05, 2021 @07:35AM (#26697713)
I’m curious how many are still using WebForms or the new equivalent? Then claim they know C#
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by tyleo on Monday April 05, 2021 @07:31AM (#26697680)
Most of my experience is in C++ and C#. I adore C#... but I agree: it’s as though developers have difficulty getting to the task at hand when using it.

Maybe it’s because attempting even simple abstractions in C++ can foot-gun yourself in some esoteric way? In comparison, the cost to build unnecessary abstractions is lower in C# so many live on.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by marsven_422 on Monday April 05, 2021 @09:06AM (#26698407)
The ability to gauge the right level of abstraction is the mark of a good developer.

That being said I rather rework an over abstracted C# codebase then a hyper templated , singleton using, multiple >5 inheritance, no STL, void pointing C++ madness.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by dgellow on Monday April 05, 2021 @07:31AM (#26697682)
I never wrote, and will never write, in my resume that I have a good amount of experience writing COBOL for AS400 :)
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by alerighi on Monday April 05, 2021 @07:57AM (#26697865)
These systems in my country are still used a lot. Go to a store, look behind the counter and you will see Windows 10 with opened only a maximized window of a green/black terminal connected to an AS/400. I've seen it even on store opened this year! And as they tell me programmers are even well paid since more and more retire every year and the young one doesn't know these systems.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by dgellow on Monday April 05, 2021 @12:23PM (#26700993)
The funny thing is that I'm not even that old, reading my initial comment you would think I'm talking about the 80s or 90s, but I got my experience with COBOL in 2009-2013 (not 4 years straight, I did other stuff too) when working at an insurance company. At the time almost the entire company was run from a few AS400 (and A LOT of office-people doing insurance stuff, of course).
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by ocdtrekkie on Monday April 05, 2021 @08:04AM (#26697912)
You are probably not getting paid your worth then, experience with these is gold and all the new upstart programmers can't even compete with you on the high-paying jobs that rely on this knowledge.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by rgbrenner on Monday April 05, 2021 @08:48AM (#26698252)
Im not sure thats true. Last year when the unemployment systems got overwhelmed, I read a state was desperate for cobol developers and was offering some laughable salary. Searching for 'cobol developer average salary' seems to confirm it's not worth much.

These systems are now so old that the only people running them are those that have consistently under-allocated resources to IT. Penny pinchers arent known for paying out huge salaries to people.

Much more likely they'll continue paying as little as possible, and then award a huge contract to Oracle et al to rewrite it when they cant find anyone.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by dogma1138 on Monday April 05, 2021 @09:09AM (#26698425)
The state might be, however they’ll likely contract the work out and the company who’ll pick it up will pay a lot especially if they taking on that specific contract to get their foot in the door.

You also have a lot of financial institutions, insurance companies, health providers and big retail/manufacturing companies that have a lot of legacy systems and they pay quite well.

I don’t know about that specific case but quite often government institutions are locked into salary tiers they can’t offer more nor do they actually expect to find anyone for that position it’s just often a requirement proper to issuing a tender.

Basically it goes like this “we tried and we can’t find anyone for $56,000 per year to fix our system, we issued a tender and got proposals for $350-400K so that’s the budget we need”.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by dgellow on Monday April 05, 2021 @12:12PM (#26700829)
That's fine, I'm not optimizing my life for money. I'm glad I don't have to deal with IBM mainframes anymore.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by ocdtrekkie on Monday April 05, 2021 @12:32PM (#26701144)
I suppose that is fair, though I still think the skillset is a valuable and marketable skill worth noting you have. I work in an environment that has both IBM mainframe and modern technologies, and familiarity with both would presumably count as an asset.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by ignoramous on Monday April 05, 2021 @08:18AM (#26698026)
I can't help but feel that this job posting subtly reveals deep-seated ageism in the industry already knee-deep in fashioning and championing latest tech regardless of its merits when in reality these decisions and choices are rooted in tech-bros feeling inadequate and insecure, which also kind of exposes the reason behind a blatant lack of respect for what came before because being a thought-leader is a path way to being a 10x eng-influencer or something.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by labatyd on Monday April 05, 2021 @08:25AM (#26698071)
Not sure you can reach for ageism as the answer when "node" and "Ruby" are on that list. Over the past 5 years those have been two of the hottest bootcamp languages churning out resumes with those keywords on them. I'm shocked to see it, but I would say its more likely they are targeting bootcamp grads than older developers.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by ttt0 on Monday April 05, 2021 @08:33AM (#26698141)
And on the other hand they want Java, which is hardly a "latest tech".
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by IggleSniggle on Monday April 05, 2021 @09:11AM (#26698452)
Fits with the bootcamp idea. Typical fresh-grad language.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by sonthonax on Monday April 05, 2021 @08:55AM (#26698304)
> Must not have experience with Oracle.

Dear god why? They're a fin-tech company for God's sake. It's just a database, and a damn good one at that. Sure it's not trendy like Postgres, but the founders will be in for a shock when they scare off big bank they're trying to sell themselves to, because the bank's CTO won't have any clue what the hell DynamoDB is.

I get that they want to avoid code monkeys who've been stagnating in a big bank writing P/SQL reporting software for the last 5 years. But that's why you read CVs. Obviously you need to holistically look at each candidate.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by sonthonax on Monday April 05, 2021 @09:17AM (#26698521)
I work at a startup that uses Oracle just for that reason; banks care about that kind of stuff. Auditors will ask basic questions like, "is their data consistent". If the tech team gives the auditors a spaghetti diagram of how their data might be eventually consistent, they'll face an uphill battle being acquired.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by PedroBatista on Monday April 05, 2021 @07:16AM (#26697583)
This industry has always been a tone-deaf juvenile bunch ence the success of shows like Silicon Valley.

At this point most people don't even care, just chuckle.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by jack_riminton on Monday April 05, 2021 @07:23AM (#26697624)
Yes I think the prevailing tone is one of ridicule
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by kioleanu on Monday April 05, 2021 @07:12AM (#26697560)
At my current job I'm doing solely Java with vanilla JS to maintain a google maps like product. Heavy stuff. But this year, I also did about 10 hours of Wordpress because our website is on Wordpress and the guy who programmed it barely responded to finish some stuff. And I wrote a Wordpress plugin 10 years ago so I had some experience.

F' me, no? Time to throw my CV in the bin amirite?

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by PedroBatista on Monday April 05, 2021 @07:20AM (#26697606)
Sorry buddy, you ate the forbidden PHP apple. You're out.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by 1ris on Monday April 05, 2021 @07:20AM (#26697605)
"The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense."

"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."

- Edsger W. Dijkstra

Maybe php and node are the cobol and basic of our generation?

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by Hamuko on Monday April 05, 2021 @07:27AM (#26697653)
I definitely assume the worst of a person if I hear that they primarily develop in Node since the first thing I think of is this:

    var isEven = require('is-even');
786,000 monthly downloads btw and only one direct dependency.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by exabrial on Monday April 05, 2021 @07:36AM (#26697721)
You need to use a callback. That's not asynchronous or non blocking.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by williamstein on Monday April 05, 2021 @11:55AM (#26700599)
> only one direct dependency.

On is-odd! The actual implementation of is-even starts with

    var isOdd = require('is-odd');
(That said, the implementation of is-odd looks like it covers some subtle cases that people might mess up rolling their own...)
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by avinassh on Monday April 05, 2021 @08:09AM (#26697949)
I created a joke package called gg-flip [0] which just flips the signs and even it gets downloads on npm sometimes :|

[0] - https://github.com/avinassh/gg-flip

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by jack_riminton on Monday April 05, 2021 @11:48AM (#26700534)
This is why I love Ruby, because there’s an inbuilt method for that e.g number.even?

Sure it’d take 15 seconds to write a method but why if you don’t have to

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by traveler01 on Monday April 05, 2021 @11:12AM (#26700071)
What happened to imports lol...
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by chrisco255 on Monday April 05, 2021 @07:50AM (#26697815)
So you see a thriving ecosystem of millions of developers and you choose to nit about some quirky library? I definitely assume the worst of elitist statements like that.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by throwanem on Monday April 05, 2021 @08:03AM (#26697902)
The question I'd ask is whether they're up front about it. It's one thing to ask and see whether someone knows how to check if a number is odd or even - for that matter, it's one thing to use it as a programming quiz! Probably better than Fizzbuzz, everybody knows that one anyway. That's fine.

What would not be fine is to just quietly have that attitude and assume without checking that no one who uses Node a lot has any idea how to do basic things without relying on a library. It's not terribly uncommon for people to think that at least here on HN, I suppose, although I have yet to run into it in an interview or an engineering culture. But if your engineering culture is host to such attitudes, it's best for all involved to be open about that. You'll avoid wasting both candidates' time and your own.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by chrisco255 on Monday April 05, 2021 @09:03AM (#26698384)
It's particularly absurd. I work on a product that has tens of millions of users built on Node with a team of dozens of talented developers. The aforementioned library checks both the number version and the string version of a number, to indicate it's "even" or "odd". That Node.js makes it easy and cheap to package up small utility libraries like this is a feature, not a bug, and quite in line with Unix-philosophy. Very easy to troll through a list of millions of packages on a marketplace that's as big and broadly used as NPM, which covers not only backend dev, but also front-end dev since the front-end ecosystem is largely powered by NPM these days. So it's a particularly ignorant hot take.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by raverbashing on Monday April 05, 2021 @10:03AM (#26699091)
> both the number version and the string version of a number, to indicate it's "even" or "odd"

You're saying that like it's some kind of defense of the library. In the real world it isn't.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by throwanem on Wednesday April 07, 2021 @08:46AM (#26724026)
Eh. Evenness is a property only of integers, so if someone's going to pull in a library to check it, I could argue it makes sense for that library to enforce that the comparison only be attempted over values where it's defined.

Granted that this seems a lot of effort to put into analyzing the contents of a Github repo tagged "troll-bait", from the user "i-voted-for-trump". But hey, this is HN, so it's whatever I guess.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by thrower123 on Monday April 05, 2021 @09:45AM (#26698859)
Have we forgotten the left-pad fiasco already? These kind of things just keep happening in npm-land.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by chrisco255 on Monday April 05, 2021 @09:49AM (#26698922)
Yeah we forgot it years ago because it was only an issue for a few hours and then lock files were introduced into NPM along with a CLI warning system for vulnerabilities.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by Grieving on Monday April 05, 2021 @12:09PM (#26700772)
Lockfiles don't fix a fundamentally broken dev ecosystem. Users of left-pad fell into one of two categories: people who don't understand the most basic programming tasks, and people who do understand these tasks but are so apprehensive about their own ability that they pull in random libs without even glancing at the source (a single glance would have informed them that they didn't need it). These are both signs of inexperienced programmers.

Amateurishness is normal to some extent, but JS has the ecosystem where beginner mistakes are often seen as the right way to do things.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by dogma1138 on Monday April 05, 2021 @09:13AM (#26698466)
Or maybe even people who have made ungodly contributions to the science of computing (Dikstra, not the Twitter Twat) aren’t immune to being full of shit from time to time also?
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by PedroBatista on Monday April 05, 2021 @07:27AM (#26697651)
Cripples the mind but greases the wheels.

COBOL is from a different time and family of what we ( mainstream ) understand today as "programing languages". How many "crimes" are committed today writing business rules in Java or C#, etc?

Dijkstra's statement, like anything else has a time and context and I hope something solid from the COBOL family existed today.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by Communitivity on Monday April 05, 2021 @09:17AM (#26698523)
I cant speak to ASP and PHP. I've programmed .NET in Mono a little, back on the Aurora OpenSim client (emphasize a little). I can see that reaction to .NET, I had the same reaction to folks who liked DCOM.

Node and Ruby can be used to create pragmatic programs though, but those are typically created by programmers that came to those language from other, more typed, languages. Once you have three or more languages under your belt you start to look for and find each language's pitfalls and architecture astronautics - every language has them. Every language shapes the mind of someone who learns, none more so than the first language you learn. Some anti-idiom pitfalls are found in multiple languages: monkey patching, everything exposed as getters/setters rather than exposing the behavior, AbstractFactoryServiceClientFactory, etc.

However, I don't consider abstraction a dirty word. It has its place, if not overused. I try though to use what I call the 2-4 principle.

I have either 2 levels of abstraction (interface-implementation), or 3 (Abstract, Logical, Concrete) or 4 (Abstract, Logical, Concrete, Functional), and no more. I also try to use the lowest number of levels that makes sense. The You Ain't Going To Need It (YAGNI) principle goes hand in hand with this. I will go back and look at old code to see what I could have done better. Where I've gone wrong with abstraction is usually due to premature anticipation of future architecture.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by caseymarquis on Monday April 05, 2021 @07:51AM (#26697820)
They really wouldn't like me! I've done Ruby style monkey patching of immutable system libraries in C# and deployed it in production on Heroku.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by jiggawatts on Monday April 05, 2021 @07:46AM (#26697785)
I have carefully avoided VB, VBScript, Bash, Perl, JavaScript, and Python. I used to do C/C++ but now refuse to touch either.

If it's trivial, I'll just use PowerShell. If C# isn't fast enough, I can always use Rust. If Rust or C# don't have some library I need, Java probably does. If I want something abstract, I'll get around to learning F# or just roll up my sleeves and get back into Haskell. Worst case, if I need to throw the kitchen sink at a problem I'll get back into writing substantive code in Mathematica.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by MattGaiser on Monday April 05, 2021 @08:28AM (#26698092)
I am curious what skills they did want.

Edit: For all the people who upvoted me, you can click the photo and see the whole job description. It wasn't cropped like I (we?) thought.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by raverbashing on Monday April 05, 2021 @08:41AM (#26698204)
I don't like the execution but I like the idea

If your candidate mentions a certain technology that is awful it is hard to not think it's an awful candidate. Especially if this is not central to the problem at hand.

Yes, CVs mentioning ClearCase go to the bottom of my pile

Mentioning CMMI, SAFe, ITIL or other acronym made to take money out of clueless managers also are heavy clues that you'd be not a good fit.

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by 29athrowaway on Monday April 05, 2021 @08:24AM (#26698060)
Visual Basic is listed twice just to be extra sure.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by sokoloff on Monday April 05, 2021 @07:48AM (#26697797)
From the context, it looks like a mangling of the tweet from

  VB.Net, Visual Basic
to

  .Net, VB, Visual Basic
rather than an outright 5-year ban for all of .Net.

“Must not have VB.Net experience in the last 5 years” isn’t nearly as outlandish as “No .Net is the last 5.”

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by mucholove on Monday April 05, 2021 @07:34AM (#26697705)
Tone deaf it is.

I got started in Ruby by following “Rails Tutorial”. Back then I was a bit arrogant about it and parroted a bunch the DHH bunk.

My charitable reading is they are looking for someone who sees the language as a framework around the OS.

That’s the kind of programmer I feel like I am now. It comes more than anything from learning Objective-C where the fact that the language is a construct is obvious once you encounter an `objc_msgSend()` alongside a [myString uppercaseString]; (or any other message send.)

Re:Engineer – must not have experience in Node, Ruby, PHP, A... by amelius on Monday April 05, 2021 @08:10AM (#26697964)
Sounds like: Engineer -- must be afraid to make hands dirty.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by sunstone on Monday April 05, 2021 @09:44AM (#26698844)
Hey someone just called my number. Well except for Django's ORM which is fine for low duty cycle queries.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by thinkingemote on Monday April 05, 2021 @09:50AM (#26698933)
What proportion of fin-tech is dodgy crypto bubble? Is it a reputable field wholly or in part?
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by inter_netuser on Monday April 05, 2021 @11:14AM (#26700097)
Wha's wrong with Heroku?
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by forgotpwd16 on Monday April 05, 2021 @08:39AM (#26698187)
What's wrong with Ruby but Python is fine?
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by jack_riminton on Monday April 05, 2021 @02:24PM (#26702632)
Fashion, presumably
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by icha on Monday April 05, 2021 @01:26PM (#26701858)
Apparently VB is so bad they listed it twice.
Re:Engineer – must not have experience in Node, Ruby, PHP, A... by onnnon on Monday April 05, 2021 @12:02PM (#26700684)
I like how they list Node as a language lol.