top | item 26697126

Engineer – must not have experience in Node, Ruby, PHP, ASP, .NET

59 points| jack_riminton | 5 years ago |twitter.com | reply

66 comments

order
[+] CoolGuySteve|5 years ago|reply
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

[+] me551ah|5 years ago|reply
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.
[+] ixwt|5 years ago|reply
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.
[+] hk1337|5 years ago|reply
I’m curious how many are still using WebForms or the new equivalent? Then claim they know C#
[+] tyleo|5 years ago|reply
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.

[+] dgellow|5 years ago|reply
I never wrote, and will never write, in my resume that I have a good amount of experience writing COBOL for AS400 :)
[+] ignoramous|5 years ago|reply
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.
[+] labatyd|5 years ago|reply
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.
[+] sonthonax|5 years ago|reply
> 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.

[+] sonthonax|5 years ago|reply
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.
[+] PedroBatista|5 years ago|reply
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.

[+] jack_riminton|5 years ago|reply
Yes I think the prevailing tone is one of ridicule
[+] kioleanu|5 years ago|reply
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?

[+] PedroBatista|5 years ago|reply
Sorry buddy, you ate the forbidden PHP apple. You're out.
[+] 1ris|5 years ago|reply
"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?

[+] Hamuko|5 years ago|reply
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.
[+] dogma1138|5 years ago|reply
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?
[+] PedroBatista|5 years ago|reply
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.

[+] Communitivity|5 years ago|reply
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.

[+] caseymarquis|5 years ago|reply
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.
[+] jiggawatts|5 years ago|reply
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.

[+] MattGaiser|5 years ago|reply
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.

[+] raverbashing|5 years ago|reply
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.

[+] 29athrowaway|5 years ago|reply
Visual Basic is listed twice just to be extra sure.
[+] sokoloff|5 years ago|reply
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.”

[+] mucholove|5 years ago|reply
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.)

[+] amelius|5 years ago|reply
Sounds like: Engineer -- must be afraid to make hands dirty.
[+] sunstone|5 years ago|reply
Hey someone just called my number. Well except for Django's ORM which is fine for low duty cycle queries.
[+] thinkingemote|5 years ago|reply
What proportion of fin-tech is dodgy crypto bubble? Is it a reputable field wholly or in part?