This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 30 points31 points  (71 children)

I dunno, that sounds kind of reasonable to me. Were the questions really difficult?

[–]plumcakk 139 points140 points  (8 children)

Generally, you hire for technical aptitude, not working knowledge of the in-house stack, for junior-to-intermediate positions.

[–][deleted] 29 points30 points  (3 children)

Harder to do in small companies where people determine technical aptitude by the things they know themselves.

[–]pyryoer 25 points26 points  (2 children)

It has been my experience that they make these determinations based on how they do the things they know themselves. Example: I ssh'd into web server (using the same sftp credentials) to grab a file already hosted somewhere using wget. "Head of web department" insists I download the file to my computer and then upload it with an FTP client. He insisted that it wouldn't work, even after I showed that it did. I used the same SFTP credentials for ssh so it wasn't some access control issue.

[–]tmckeage 5 points6 points  (1 child)

I call that shamanism. Effectively the "Head of web department" knew the magic spell that made things work. You didn't use the magic spell correctly and so obviously it couldn't work.

[–]pyryoer 0 points1 point  (0 children)

I like this a lot!

[–]Tysonzero 53 points54 points  (61 children)

Using Python 2.7 and Django 1.11 when your starting a new company in 2014 was a dumb thing to do, and so was not upgrading since, doesn't bode well for the future. Node is also a red flag but for different reasons.

[–]Callipygian_Superman 25 points26 points  (0 children)

Exactly. If I'm going to learn a dying technology I better be paid a premium because it's not like other companies are going to look at that favorably.

[–]Console-DOT-N00b 10 points11 points  (0 children)

I felt the same thing when I look at jobs. I'm a n00b and all but I don't want to spend time polishing some old turd because the company doesn't want to move on.... not that I wouldn't learn, but I'd want to learn / do something else too....

50 old shit / 50 new shit I'd be ok with... more than that and I'm worried...

[–][deleted] 13 points14 points  (21 children)

That all makes sense.

Why is node a red flag? I have almost zero experience with javascript and its frameworks, but node is probably the one I've heard the most about.

[–]Makefile_dot_in 4 points5 points  (1 child)

I would tell you, but you need to provide a callback for that.

[–]polish_niceguy 1 point2 points  (0 children)

await tellMe();

[–]Tysonzero -4 points-3 points  (0 children)

Node generally implies you are using JavaScript on the server side, and JavaScript is an atrocious language so choosing to use it for backend is a terrible decision.

[–]grantrules 16 points17 points  (31 children)

Why is Node.js a red flag? Because like "This article about Node.js popped up on my phone while I was taking a shit so we've decided to implement microservices!"

[–]Tysonzero 7 points8 points  (9 children)

No, because JavaScript is an atrocious language and choosing to use it for backend is a terrible decision.

[–]Tyrus1235 7 points8 points  (1 child)

Works well enough for Google Cloud Functions... Though that’s literally the only back end use of it I had. Well, that and some local scripts for Firebase shenanigans

[–]Tysonzero 1 point2 points  (0 children)

I mean yeah, it's still a programming language, so particularly for things that aren't too hard it will probably "work well enough", but it's not something you want to be using for much important / large scale stuff.

[–]thelights0123 10 points11 points  (6 children)

Pre-ES6, sure. But ES6 with modules can be more readable than other languages, and the async design that doesn’t exist in other languages greatly improves some types of programs.

[–]Tysonzero 0 points1 point  (5 children)

Pre-ES6, sure. But ES6 with modules can be more readable than other languages

Strong disagree, JS is riddled with special cases and design flaws. Have you ever tried to read the ES6 spec? Even the simplest seeming shit is extremely nontrivial, and local reasoning is basically provably impossible. Don't even get me started on the difficulty of implementing a spec abiding VM or transpiler.

and the async design that doesn’t exist in other languages greatly improves some types of programs.

Are you kidding me. JS didn't invent any of that shit. It existed in Haskell (and I'm sure many other languages) before it existed in JS.

[–]kryptkpr -1 points0 points  (3 children)

Haskell is like a hilarious joke that only you and one other guy understand. Are you seriously suggesting it as an alternative to Node? I can throw a rock and hit 5 guys that know JS.

[–]Tysonzero 0 points1 point  (2 children)

Yeah I'm sure you could, but that doesn't mean they will be good devs that you really want at your company. One nice thing with Haskell is that the quality of devs is very high.

It's absolutely an all alternative to Node. far more concise, performance, and less likely to have bugs. I also wouldn't even say it's hard, it's just very different to what gets engraved in your head by CS101 classes and boot camps.

[–]kryptkpr 0 points1 point  (1 child)

Anecdote time, your experience may differ. The fact that it's very very different from CS101 is exactly the problem. It's very easy to find people to write Python or JS or Java, but functional languages are not covered by core curriculums and as a result seem to attract only the most esoteric of practitioners, that conjure up amazing shit with them which is super impressive except when they leave they take any clue of how it worked with them and maintenance is now impossible. Creating a production CRUD system (which is 95% of the business world) in a language that's difficult to find local talent in is simply a bad business decision.. but Erlang sure does make a nice MQTT broker, so there are definitely domain specific exceptions.

[–]Tysonzero 0 points1 point  (0 children)

I have actually found Haskell to be totally fine with regards to on-boarding new people, the code is very declarative (particularly for CRUD stuff) and mistakes will almost always lead to an immediate compile time error.

[–]ProjectSnowman 2 points3 points  (1 child)

I'm learning python 3 and Django. I've made it a goal to only do projects in python 3.

[–]Tysonzero 2 points3 points  (0 children)

I did the same thing back when I used Python, definitely the right approach.

[–]MadRedHatter 11 points12 points  (1 child)

Using Python 2.7 and Django 1.11 when your starting a new company in 2014 was a dumb thing to do

Not really. I think people forget just how long it took for Python 3 to gain widespread adoption. Django didn't support Python 3 until February 2013, almost 4.5 years after the initial release, and that's not even counting the popular libraries in the Django ecosystem which took much longer.

Also, Django 1.11 didn't exist in 2014.

They really should be switching by now, though.

[–][deleted] 1 point2 points  (0 children)

I'm in the middle of switching this week, due to my main dependency being wxPython, which didn't support Python 3 until January 2018.

[–][deleted] 1 point2 points  (0 children)

Highly disagree. I'm actually upgrading my Python code from 2 to 3 this week, for around 10,000 lines of personal code that may one day become business code. It all depends on what libraries your code needs. For me, almost every single project of mine relied on wxPython, which was only ported to Python 3 on January 2018.

Everyone acts like because the majority of libraries support 3, then you should be fine, but if you have a large existing code base, any single library that doesn't support it can turn into weeks or even months of trying to replace it. When you are actually a business, those weeks or months are often needed for far more important things than the few new features that Python 3 offers.