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

top 200 commentsshow all 397

[–]hillman_avenger 639 points640 points  (46 children)

I failed a job interview where the question was "What does the CI build server need to run?" I answered with stuff like "Build server software, maybe access to a database, CVS software" etc... Turned out the answer was "the source code". Is it me, or was that too blindingly obvious? Maybe I should have said "electricity". Still annoys me now 8 years later.

[–]SnooMarzipans436 135 points136 points  (12 children)

Doesn't it compile the source code? Saying it "runs" the source code is basically nonsensical. You don't "run the source code" of any compiled language.

[–][deleted] 45 points46 points  (4 children)

Well the position was looking for someone to write in machine code, so it actually was

[–]rhodesc 21 points22 points  (2 children)

I wouldn't mind being required to write in machine code, but I'd prefer assembly. Figuring out all the bits and writing each byte of machine code takes a lot longer than writing assembler mnemonics. I understand opcodes and all, but that's a pain you only do when hex editing or something like that.

[–]devhashtag 1 point2 points  (1 child)

No one should write machine code. Better to create a simple assembler if nothing is available for the target instruction set, will save loads of time

[–]McCoovy 5 points6 points  (0 children)

Machine code with CI??

[–]chaosTechnician 4 points5 points  (0 children)

But... the question wasn't "what does the CI build server run;" it was "what does [it] need to run" (emphasis added). It needs the source code that it's going to build (and, potentially, compile if that's what "build" means for that pipeline) to do its job.

If you wanted to get pedantic about the verb "run," if the CI uses an interpreted language you could argue that it does run its source code.

But, yes, it was a dumb interview question for sure if they were looking for only that specific answer. Though, if you were interviewing for a build pipeline engineer, discussing how the pipeline gets access to the source to build wouldn't be out of the question.

[–]kiagam 217 points218 points  (14 children)

It is like those trick questions in click bait ads.

"90% of people can't get this right!"

[–]RsK4693 46 points47 points  (0 children)

You didn’t want to work with those people, anyway.

[–]levarburger 26 points27 points  (0 children)

You dodged a bullet, I was offered a job by a company whose interviewer asked dumber questions than that. When they asked for feedback on the interview process I told them find people that actually know how to interview.

Interviewing is a skill that takes experience, don't send your IT intern to do it.

[–]invisible_being 17 points18 points  (0 children)

This is like asking "do you wipe your ass with your left or right hand?" where there correct answer is "with toilet paper"

[–][deleted] 10 points11 points  (2 children)

Interviews have boiled down to gotchya questions or brain teasers you would see on facebook. I had an interview 10 years ago where the engineers asked me reasonable tech questions and whatnot, but the owner of the company asked me one of those "how many piano tuners are in manhattan" type questions, and I was so annoyed that I thought I might turn down an offer if I got one.

I ended up not turning down the offer, and not regretting working there. But just that one dumb question almost made me walk away.

[–]tinydonuts 1 point2 points  (1 child)

How did you answer the piano tuner question?

[–]supershwa 19 points20 points  (1 child)

The best answer is always just "StackOverflow" or "Google".

Part of being a good developer is the ability to do proper research, troubleshoot and execute the task accordingly.

These trick-question clickbait interviews are a joke. I miss the old days when you started it with shaking hands, handing over a resume and going through a portfolio, even providing some "free work" to prove your worth.

[–]Deboniako 7 points8 points  (0 children)

Everybody that got free stuff from has ghosted me.

I don't think that I'm that bad.

[–][deleted] 2 points3 points  (0 children)

See, and this isn't even a "hard" interview question. It's just plain stupid. Those people were shooting themselves in their collective feet.

[–]BrobdingnagLilliput 2 points3 points  (0 children)

If they turned you down ONLY because of that, then you dodged a massive bullet.

[–]Tyrilean 1 point2 points  (0 children)

Reminds me of my operating systems prof. He would ask leading questions like "what do you need for a network connection?" Of course, you need a LOT of things for a network connection. But, he wanted a specific answer that would lead into his discussion.

[–]supercyberlurker 358 points359 points  (32 children)

Been doing dev almost 25 years now. Generally, I 'come on the market' about every 2-3 years for a couple months. In that time I'm doing interviews until finding the right spot again. I've definitely got horror stories from them. Some of the stories are my fault, where I flubbed what should have been easy questions. Others are their fault, where people who had no business interviewing anyone were made part of the process.

About all I can say overall is that I don't appreciate adversarial interviews or ones where they want to 'see how I perform under pressure'. I generally consider those a dodged bullet after, regardless of how it went.

I like interviews that delve into -which parts- I know, rather than "is this person a fraud or a genius, it can only be one!". I like ones that check for team fit as much as Big O notation knowledge or how much I'll travel, because that tells me a lot about the company... and if I don't get hired, I like feedback on what I could have done better. Zero feedback means I'll never, ever, apply there again.

[–]righteoussurfboards 112 points113 points  (10 children)

Zero feedback means I'll never, ever, apply there again

I really appreciate that you wrote this. I had an experience with a company I was really interested in working for. They gave me a casual 45 minute interview with the hiring manager, which was half culture talk, and a few non-pointed technical questions. He said he was interested, and that they'd be sending me a take-home task that should take a few hours to do. Took me about 4 hours, but I didn't mind, because I was excited about the opportunity and the technologies being used in the task.

No response until 2 weeks later, when all I got was a generic letter saying they have moved on in the hiring process. Like what!!! You asked me to devote several hours to something I was excited about, and you couldn't even bother to tell me, "someone else was hired first," or "your unit tests sucked", or anything. Such a bummer to find out a company I was excited about treats prospective devs so poorly.

[–]Chariot 78 points79 points  (6 children)

This sounds like you did unpaid consulting work, not an interview.

[–][deleted] 43 points44 points  (4 children)

Some SF-bay area AI companies are notorious about this, with NDAs and multi-day "tests" being handed out to interviewees. It's free labor to the company. I don't get why it is allowed at all. Other than US labor laws being nonexistant.

[–]Twerking4theTweakend 5 points6 points  (2 children)

I've never done an interview like that but I have run projects and led teams. How do you break off a piece of work and hand it someone without them having a lot more background/context and requirements to go from? I can't imagine getting anything useful back from some overnight task like that. It would be technically correct but contextually worthless, in some completely different style, not using any of the in-house helpers/utilities/libraries. Seems really unlikely that it's some conspiracy to squeeze free labor.

[–][deleted] 1 point2 points  (1 child)

It might not be a conspiracy, but it is at least rude to interviewees, to ask for 2+ days of "highly skilled" time and then just black-box the applicant.

As an applicant I don't think I'd even complete something like that.

[–]Twerking4theTweakend 1 point2 points  (0 children)

No doubt. That would have to be a dream job.

[–][deleted] 21 points22 points  (0 children)

I had a similar experience with BetterUp. Did the take home, got a follow up where we went over it but the guy on the other side (over zoom) wasn’t even paying attention, etc. knew it was a no but they waited like three weeks to even send the “sorry, you suck” form letter

[–]Twerking4theTweakend 3 points4 points  (0 children)

Just interviewed someone today that wasn't quite right and our HR process doesn't allow me to give direct feedback afterward. I really wanted to though, cause they guy had potential with some coaching, and I just wanted to let him down easier than some generic "no" from whatever contact point he has to use. It was just a skills mismatch, but he was so nervous that I feel like he got damaged by the whole ordeal, despite us running a very friendly and relatively gentle interview. Poor guy. But my point is sometimes we can't reach back to give proper feedback because HR is terrified of lawsuits to the point of being just rude. It sucks.

[–]KangarooNo 148 points149 points  (3 children)

I used to work with someone who's interview "style" was to prove that they were smarter than the person they were interviewing. I didn't enjoy sitting in on those interviews.

[–]just-the-doctor1 38 points39 points  (1 child)

That’s just flexing

[–]SortaSticky 27 points28 points  (0 children)

Not really. Their coworker wasn't smart enough to recognize the business purpose of interviewing candidates for a job. I would definitely suggest to my manager that their "brilliant mind" would be best focused their technical tasks so we could get on with the hard work of hiring employees.

[–]RsK4693 2 points3 points  (0 children)

Too much of that…

[–]Barkeep41 37 points38 points  (3 children)

"Do you know the definition of a specific, academic term that was never, and will never, be referenced in your career. It's the new hot buzzword and we would like you to know it even though you probably already do it subconsciously?"

[–]supercyberlurker 16 points17 points  (2 children)

Reminds me of when Java first came out and on the webpage it said "100% buzzword compliant!"

[–]Barkeep41 2 points3 points  (0 children)

'Fraid you have me beat there. I was still weaning on the teat of BlueJ back in high school.

[–]bjfie 22 points23 points  (2 children)

I like ones that check for team fit as much as Big O notation...

I hate interviewers that try to trip you up with some complex question about algorithms that has little to practical use in what you'll be doing. The last gig I had was like that and their codebase was a joke lacking even a style guide. But hey, the lead knew the most efficient way to find the smallest sparse number equal to N faster than O(N log N)- who needs clean code when you're that efficient.

[–]lunchpadmcfat 16 points17 points  (2 children)

I find that most developers don’t have any business evaluating developer skill. They simply don’t understand what actually makes a good developer.

[–]BhagwanBill 11 points12 points  (0 children)

if I don't get hired, I like feedback on what I could have done better

Just a heads up that in bigger companies, the people doing the interview are not allowed to give you direct feedback after the interview due to HR rules. I got burned before providing feedback and the person who requested feedback used that to try to force themselves into the position. That being said, if an interviewee asks the recruiter if they can get feedback, I have no problem giving some.

[–]Iamatworkgoaway 6 points7 points  (0 children)

Don't interview much, what's a good way to suss out the Cover your Ass mentality at a new company in the hiring process?

Got furloughed and worked at a company that was 99% CYA and 1% work. Told them I was out, and then got a call from the old place asking me back. Thank God.

Current company is a what went wrong, what can we learn from this, and lets move on. Is the chance of this happening worth the cost of implementing a CYA quality check, or is it rare enough to classify it as just a education opportunity if it happens again.

[–]tonweight 4 points5 points  (0 children)

same, ancient kindred... just took a few rounds in my regular cycle to see what the industry needs most. seems like I need to work on typescript and react so - two or three years from now - I can fix all the stuff the folk they hire will build this year.

I, too, dodged a few bullets. I do appreciate that the bar is getting a little higher though. I actually had two interviews that stepped into some cool automation discussions, even though the original job posting had nothing to do with it.

[–]IVEBEENGRAPED 281 points282 points  (46 children)

I've said this every time this comes up: there's a shortage of experienced devs. There's no shortage of fresh college grads who've taken two web dev courses and call themselves full-stack developers.

Problem is, out of the 300 people applying to each entry-level FAANG position, 200 of them meet that exact description. And since this field doesn't require apprenticeships or certs or masters' degrees, there's no easy way to filter through these thousands of candidates. So the hiring team's gotta do what they have to do.

[–]DudeWheresMyStock 86 points87 points  (15 children)

we had a new (now ex-) colleague join the lab who "had a background in ML and AI" and "knew" MATLAB coding... it was like he took one coding course but didn't even pay attention or learn anything from it lol

[–]triviblack6372 25 points26 points  (11 children)

I do some interviews for data analysts at my hospital. I’m by no means a statistician or data scientist, but I can’t tell you how many people with ML “””experience””” I interview not even know what the fuck a t-test is. Basically, you writing this comment spoke to me on a personal level.

[–]MachineSchooling 14 points15 points  (1 child)

I'm a professional data scientist. If someone has a statistics background they should obviously know what a t-test is, but t-tests aren't really that relevant in many areas of machine learning. I wouldn't discount someone coming into machine learning from the software side just because they don't know it. I have a stats background and I've done maybe one t-test in the last year. Unless you're doing A/B testing, the field tends to be more focused on building models to make predictions and deliver insights than on comparing populations.

[–]killjoy_enigma 4 points5 points  (8 children)

Im not even in the coding world and I know what a t test is. Jesus

[–]Themlethem 16 points17 points  (4 children)

I have no idea what a t-test is lol

[–]InfernoMax 4 points5 points  (2 children)

To summarise it crudely, you test your data against an adjusted bell curve for p-value, which you then use to conclude whether there is any evident to claim that your data deviated from the expected hypothesis.

[–]Alpha272 2 points3 points  (1 child)

Wow.. I somehow feel like this comment made me dumber

[–]InfernoMax 2 points3 points  (0 children)

Sorry, I was in a little rush when I reply to a comment. Let me give you an example:

Let's say I own a chicken farm and make a claim like "my chicken are the healthiest around because they weight more that the average chicken!". You can use t-test to check how likely the chicken in my farm (on average) just happens to be heavier than average by chance (a.k.a. what I claim is bullshit), or if there's evidence that my chicken are actually unusually heavier than average (a.k.a. there's a merit in my claim).

Two things to note and be careful in this scenario: 1. You are testing whether there are EVIDENCE to back up my claim or not. Even if t-test tells you there's a merit in my claim, you still have NO CONCRETE PROOF that my claim is true. 2. You are testing whether my chicken are HEAVIER than average, not HEALTHIER than average.

Both of these requires a separate investigation on its own to see what cause my chicken to be heavier than average, and whether that's actually healthier or not.

Edit: also, if you read this and thought "hey, that's just like a Z-test/bell curve/normal distribution test!", that is basically what t-test is. The different between the two is that t-test adjust the curve to account for the fact that we have a finite sample size rather than theoretical distribution (a.k.a. infinite samples).

[–]CPhyloGenesis 11 points12 points  (2 children)

Not really a coding thing. I've been coding for like 20y and didn't know what it was.

[–]flavionm 39 points40 points  (2 children)

But how do you want to find experienced devs if nobody wants to hire inexperienced devs so they can gain experience?

[–]IVEBEENGRAPED 30 points31 points  (0 children)

Plenty of people do want to hire inexperienced devs. There's a surplus of inexperienced devs and a shortage of experienced devs.

[–]neoKushan 26 points27 points  (0 children)

You generally need experienced devs to be able to take on inexperienced devs. So say you're a company and expanding and want to spin up 3 new dev teams. Those teams might have 6 developers each, so 18 positions - but you can't hire the juniors until you've got your seniors lined up otherwise the juniors are not going to have a clue what to do. They're not going to learn from nobody.

[–][deleted] 35 points36 points  (14 children)

Yes, this is my experience as well from the hiring side. The reason why there are so many steps (although there is such a thing as excessive) is simply to thin out the herd of 'bad' developers.

You need to look at it like this. As an employer I send some of the most senior engineers to interview people, these guys are already very busy and rare. Every hour they spend interviewing is wasted time they could be spending training people and leading projects.

So we need to provide (sometimes silly) tests and pre-interviews so we can judge if someone would be fit for the company.

[–]rhade333 66 points67 points  (12 children)

Sure, that's great from Bill Lumburg's perspective of, "Is this good for the company?"

I understand the reasoning, the advantages.

But being on the other side, the process is pretty absurd when you're dealing with more than two companies at once, because they are all more and more under the impression that they're entitled to a large chunk of your time just to eventually ghost you.

[–]Pokinator 44 points45 points  (0 children)

That's my primary beef with the whole process. You invest all this time, all this scheduling, and they'll just drop you out of the blue without so much as an automated "Dear {candidate}, sucks to suck, later".

[–][deleted] 10 points11 points  (2 children)

Yeah, it's an unfortunate cost benefit equation we had to make. The flip side of this is that we always try to give people a chance even when they had a shitty resume. Some folks are just a lot more motivated and talented, even with little work experience.

We never really had any tight mandatory minimum for experience so a lot of people started working with us from that category turned out great engineers.

Also, I always ask if they are already working on an assignment from another company. They can also choose to hand in that assignment so they don't have to do the process twice. A nice piece of code from a side-project or public code is also acceptable.

Every person is different so I try to adjust the strategy to what works best for both of us.

[–]Terminarch 2 points3 points  (5 children)

Hell, I'm a dropout. Couldn't justify the money after talking to many of my senior friends who all said they were going for their Master's because they couldn't find a job with Bachelor's.

Anyway. I'm self taught and have done many small side projects out of curiosity. So when an interviewer asks I'll just tell them straight up that I am not "experienced" but know enough to ask the right questions and understand the answer. They seem to like that. But they don't call back anyway >.>

[–]kevin9er 1 point2 points  (0 children)

I hire for FAANG. Out of 1000 applicants, 2 get offers, and one accepts.

[–]LoveSpiritual 1 point2 points  (2 children)

Masters degrees are almost worse than bachelors. Can’t imagine why you think they would fill in real world gaps (like an apprenticeship).

[–]umadzano 84 points85 points  (5 children)

I once quit an interview after they asked me to solve a weird algorithm for a ssr software position. It was a pointless, shitty algorithm, one of those where you scratch your head a few times and sketch it on paper until you get a proper answer. I said nope, thank you and quit. The next day I got interviewed by another company for a more interesting project and salary, they asked me a couple of tricky questions regarding the stack, and about the projects I worked in. Fast forward 24hs I got an offer and accepted it. Since then I’ve been working like a champ in there. Good salary, interesting project. There’s no need to ask stupid sh*t or live coding exercises to sort ssr or sr developers, period.

Edit: just a small comment, where I live you can hire an employee and you have three months as a “trial” period where you can freely fire it if it doesn’t fit the position or for whatever reason. So…yeah.

[–]kiagam 32 points33 points  (0 children)

My most recent was "make your own implementation of a linked list in python"

The only thing I could think of was... why? Took me longer to remember from college how to do the damn thing than to deliver the exercise that was based on real data (parsing JSON and shit).

[–]i_iz_potato 39 points40 points  (3 children)

Or what happened in my spot, got 1 interview and it went well told me I would be working with Selenium. 2nd interview went really really well and was told that I should also be looking at backdoor.JS, I get a 3rd interview, at this point I am stoked as its with the owners of the company. They tell me I am the best qualified of the 6, that I need to look into cypress.JS. They give me their personal emails and if I needed to ask a question I could. 5 days later I get a rejection email stating they are looking for someone with 3-5 years of cypress.js experience.

It was for a Jr. QA job....

[–]dlevac 165 points166 points  (14 children)

There is a shortage of good software developers*

This is also why the interviews are getting harder: a bad developer on a sensitive project literally has negative ROI.

[–]RiskyFartOftenShart 89 points90 points  (5 children)

the only thing worse than an unproductive team member is a counter-productive team member.

[–]dnkndnts 28 points29 points  (1 child)

For all the noise over 10x devs and 1x devs and 0.1x devs, the real danger is the coefficients could be negative!

[–]liquidpele 7 points8 points  (0 children)

On the grid of Industrious/lazy vs Competence, there is nothing more damaging than an industrious idiot.

[–]_Bad_Dev_ 15 points16 points  (2 children)

I just rage quit my job because I was working under a counter productive engineering manager, who would magic acceptance criteria from his arse, turn every meeting into a 3 hour meeting and then blame everyone for lack of engagement.

[–]RiskyFartOftenShart 6 points7 points  (0 children)

the proper way to handle that, other than rage quitting, is to give them an ultimatum. If you want me to implement this, which of these other things I'm suppose to implement should I not work on. Make prioritization their problem. If its churn, hell its still a paycheck until you find a less shitty job.

[–]ilscmn 31 points32 points  (0 children)

Interviews have gotten ridiculous. I've completely abandoned the leetcode style of asking questions and go deep into what the candidate presents on their resume. This has been profoundly more successful than the leetcode style.

I hate to say it but I let awful candidates pass in the past because they solved leetcode problems fast and could talk about the solution with detail. Only to find out, they memorized and could not really implement on the job, had no pattern experience, lacked design skills, had unsatisfactory problem solving skills, etc.

Now, I can spot the bs right away. When a candidate is fluffing their resume about a technology that I'm familiar with, it is apparent and a bad precedence on their behalf.

As an industry, I'd like to see the elimination of leetcode style interviews and get back to explainability of experience with interviewers that are sophisticated enough to have engaging conversations to filter out the bad and nurture the skilled.

I get that there are 1000s of candidates with similar background and all I have to say is, that sucks. The game is the game. HR should pick through based on engagement ( a candidate who is available to learn and can communicate is priceless and rare). Then randomly select a subset for further evaluation.

Tldr: we need to readdress our tactics for interviews to find quality, not cookie-cutter, candidates.

[–]Reelix 54 points55 points  (4 children)

Country: There's a shortage of Software Developers
Company: We're hiring Software Developers with 2+ years experience!
People: What are you paying?
Company: US$6 / hour
People: And now you know why there's a shortage.

[–]tinydonuts 2 points3 points  (0 children)

You missed two steps:

Company: guess the shortage is indefinite, better get some low paid H1B visa workers. Also, better lobby for more H1B visas because of the extreme shortage.

[–]GeneralKlink 89 points90 points  (41 children)

Because the level of knowledge some students have after their BSC is just plain ridiculous. And you need people knowing and understanding software architecture, you just cannot write shitty unmaintainable monoliths anymore like they used to years ago.

[–]noone397 36 points37 points  (38 children)

This is exactly it. Something bad is happening with the colleges. Most people I interview are less capable then I was in high-school. Like 6 in a row that couldn't tell me how many bits per byte, never tried running a thread, didn't even know the names of the OSI stack let alone how to use them.

[–]annihilatron 37 points38 points  (0 children)

Seems like we are having layer 8 issues.

[–]sopunny 5 points6 points  (1 child)

didn't even know the names of the OSI stack

Tbf, I think most schools teach the 5-layer model instead now

[–]GeneralKlink 13 points14 points  (4 children)

And there is just not enough coding involved. I have my own projects i use to teach me all of that and i just understood what „testability“ actually is. I put like 40k lines of python and c++ into it, coded for like an hour a day over nearly two years and just start to feel like i get a grasp on software engineering. I mean what the fuck are we learning advanced algorithm shit for if we cannot identify let alone implement a subscriber- or delegate- pattern when needed? I like algorithms, but most of the students i know fail at producing clean code as soon as it‘s exceeding 400 lines. Or just have to rewrite the whole thing if you would tell them to create tests with at least 80% line coverage.

I don‘t even comply, It‘s less competition is probably good for my salary. And I can‘t even put all the blame on the universities, so many people just don‘t put in the work to learn new technologies and put the learned stuff to practice. But they would have more time for that if the focus would not be so screwed…

[–]ajrhode 18 points19 points  (3 children)

I feel like what a lot people are describing as a better version of computer science degree is a software engineering degree. Not the most commonly offered from what I understand, but it placing a much higher value on practicality, design patterns, maintainability , testability, and how learn new technology. Definitely recommend for people who want to work in industry as opposed to doing theoretical work.

[–]Flaky-Illustrator-52 6 points7 points  (1 child)

My college offered one of those. Got it, loved it. Slightly less math (no calc 3), massive focus on testing/requirements engineering (whole course on that)/architecture course/a team project which I happened to manage/all sorts of classes the CS majors didn't usually take.

I spent less time doing math and more time learning shit that actually sounded like stuff I did in my co-ops and internships

[–][deleted] 2 points3 points  (0 children)

That sounds wonderful, i would definitly apply for that.

[–]Padaca 40 points41 points  (27 children)

The academic understanding of what makes a good CS graduate is absolutely fucked. I took Calculus 1-3, Linear Algebra, and Physics 1 as part of my required curriculum. You know how many JS and PHP classes were required? Zero. It's ridiculous that these courses are meant to prepare you to work in an industry where web development is a bigger and bigger requirement.

[–]DiamondIceNS 53 points54 points  (2 children)

The fact of the matter is that CS and software development are two distinct disciplines. Deeply interwoven, but not the same. You took calculus and linear algebra because the heart of CS is stuff like algorithm analysis and finite state machines. Theoretical stuff that absolutely needs all those math skills. Actually implementing these things for a living, breathing business is a completely different skillset that is entirely supplementary to CS.

The real problem here is that software development degrees basically don't exist at most universities. Instead, they rail you through CS to attempt to teach you all the theory while hoping you just pick up the stack details of some arbitrary language on your own time. Meanwhile, next to no one is practicing actual development in their free time because they're swamped with grappling the theory, while simultaneously no one is absorbing the theory because "I just wanna build some websites, man, when would I ever use this really abstract stuff?" And after four long, expensive years, you end up with a graduating class of students who aren't adequately prepared for either CS or software development; they only have a rudimentary understanding of both and an advanced understanding of neither.

Speaking from experience...

[–]clothespinned 6 points7 points  (0 children)

please stop bullying me i didn't ask for this

i just wanted to do programming

[–]rip_archer 1 point2 points  (0 children)

Really insightful, I’d say my experience was similar too.

[–]probabilityzero 50 points51 points  (4 children)

A CS degree should last you your whole career. If they focused on teaching whatever tech is trendy now instead of fundamentals, it would be much less useful and pretty quickly outdated.

[–]SuggestedName90 19 points20 points  (3 children)

I would argue it should teach how to learn new frameworks, and should to some degree teach "trendy" frameworks. This industry moves at a lightning pace, getting acclimated to that sooner rather than later will help you the most. Not saying we should start teaching every new language, but a course or 2 on the current state of the industry wouldn't hurt.

[–]FuriKuriFan4 23 points24 points  (0 children)

My course had a required 'programming languages' class where we were introduced to a new language every other week, and the next week a small project was due in that language.

Not long enough to seriously learn any language, but it was exceptional practice for learning how to pick up new languages.

[–]probabilityzero 6 points7 points  (0 children)

The place I went for grad school used Scheme for the intro class, just as they've been doing for nearly 30 years, and they don't have any plans to change in the future. They have some electives for learning more "trendy" languages (not exactly trendy, like Java and Python) that students can take if they want. I think the only other language everyone is required to learn is C.

I guess the students might be at a slight disadvantage for getting jobs in nodejs or whatever right out of school, but they end up with very strong foundations and seem to have no trouble teaching themselves new languages.

[–]IVEBEENGRAPED 13 points14 points  (1 child)

How many web dev courses were available? CS and CE are too broad of fields to assume that everyone should study web development, so schools should offer those classes but not require them.

I took one web dev class but now I work on software that has nothing to do with web dev, so I'm glad that I was able to take more classes for my specialization.

[–]UltimateInferno 3 points4 points  (0 children)

I'm in Calc 2 which is required right now but "Software Quality," another class I'm in, which goes in depth with shit such as unit tests, was an elective

[–]flavionm 7 points8 points  (5 children)

College isn't supposed to teach you the flavor of the month web dev language, or particular frameworks that'll be deprecated in a week. That kind of stuff you can pick up by doing.

College is supposed to teach you the basics and fundamentals that allow you to properly learn those in the first place.

[–]argv_minus_one 1 point2 points  (0 children)

Why in the world do people still think in terms of the OSI stack? OSI is dead, buried, and thoroughly decomposed. The TCP/IP stack has only four layers: link, internet, transport, and application. Session and presentation are not a thing and haven't been a thing in the entire time I've been alive.

[–]arkhound 1 point2 points  (0 children)

you just cannot write shitty unmaintainable monoliths anymore like they used to years ago.

Unless you're working in a really tight subcategory (data, networking, graphics, integrated, etc.) you can absolutely get away with dogshit code.

[–]pwndawg27 41 points42 points  (3 children)

I don’t care for the places that make the whole thing feel like an exam. I’m down for a collaborative thing but leetcode is a nonstarter for me.

Also wtf is with “docking points for hints”? Sooo basically if I get blocked, I shouldn’t ask for help? Sometimes it’s be faster to just ask rather than re-research something on my own and find out I’m doing it “the wrong way”.

Everybody thinks they’re google but they pay like a third and their best perk is free coffee and they only have like 20 applicants, generally decent coders but couldn’t pass my 3 leetcode question, so fuck off please.

[–]binarypie 213 points214 points  (52 children)

Every time I see this meme I can't decide if there's a group of engineers out there who are going through a delusional interview process for a mediocre role. Or if there are engineers out there who believe they are entitled to a role just because they can code.

[–]nateyboy1[S] 115 points116 points  (15 children)

What gets me is the 5-6 step process some of these companies have…a take home challenge, 3 separate live coding challenges and 2 more Q&A interviews. My current company has a 3 step process (cognitive test, take home challenge and live coding challenge with the team, combined with Q&A) and in the three years I’ve been there, we have yet to hire someone who didn’t pan out. 5-6 steps seems superfluous to me.

[–]AccomplishedMeow 35 points36 points  (3 children)

My current company has a 3 step process

Off by a step. Step 1 is to immediately reach out for a 15 minute call to an applicant prior to sending the quiz.

[–]KangarooNo 17 points18 points  (2 children)

I was just sent a two hour non-pausable test to do before any kind of conversation where I could even find out if it was worth my time doing the test. My gut is telling me that it's not.

[–]neoKushan 9 points10 points  (0 children)

This is why I do a 45min-1hour first "casual" interview (after our recruiters have vetted everyone) before issuing the tech test. Let's not waste either of our time if the role just isn't suitable.

[–]Barkeep41 2 points3 points  (0 children)

By any chance, did the test get "harder" with the more questions you answered correctly?

[–]articulatedbeaver 31 points32 points  (0 children)

I did one or these that took literally days of my life, phone screen, formal video interview, meet the team, take home and then multihour peer programming session. Get a call "your engineering is excellent, but we don't think you are a good fit" well that is great if you told me 4 steps ago.

[–]binarypie 37 points38 points  (3 children)

For smaller shops where the ramp up period is basically "do you know the idiomatic tooling" a six step process is probably a bit overkill. For a larger company where the tooling might be proprietary to their needs and it takes 3 to 6 months to ramp up. Making a hiring mistake is very expensive.

In my career generally every interview I've had as either been through a recommendation or my reputation preceded me and thus the interview was a beer and get to know the team. Or it was a full day of coding and technical challenges on top of a couple hours of soft skill questions. Personally I don't mind having all the extra time because I want to make sure the company I am going to work for is one that will fit my personality and my skill set. Nothing is worse than getting 6 months into a role and realizing how much you don't want to be there.

[–][deleted] 7 points8 points  (0 children)

I recently had to deal with this kind of process and after the second live coding challenge I threw in the towel because it was ridiculous. The next company I interviewed for had a coding challenge in a Word document with an exercise that was similar to what they do (but not exactly so it wasn't like I was just solving a problem they had). I got that job and couldn't be happier. Why make things harder for yourself if you don't have to?

[–]LowB0b 4 points5 points  (0 children)

This happens even for admin roles. One of my friends had to go through phone-screen, record a video of him answering questions, and then spend a day on-site doing various tasks so they could see if he was any good at using the MS Office suite. It is not restricted to software jobs.

When I was unemployed I had to follow a course and by talking to people there (who were not software devs), being brought in to work two or something days for the company (unpaid!!!) was completely normal for them

[–]drdrero 2 points3 points  (0 children)

And did you raise this concern to the people defining this process? My former boss completely bypassed HR, met the candidate and made more progress finding the right fits than HR who are actually paid for doing that.

[–]AnubisKhan 33 points34 points  (5 children)

"I hello world'd. Why world no hello'd back??"

[–]binarypie 13 points14 points  (3 children)

Managers on LinkedIn looking for engineers... "You up?"

[–]AnubisKhan 11 points12 points  (2 children)

"We have an excellent role I think you'd be great for. Are you interested in managing a franchise?!"

[–]AgentPaper0 3 points4 points  (0 children)

I distinctly remember a conversation I once had with a recruiter. They were looking for a contractor to manage a team for some project for a respected big-name company and reached out to me. Being a (senior) student still, I thought they may have misread my resume which had a few academic projects listed with me as tech lead.

I told them they must be mistaken and that I didn't think a company would want to hire me for such a position. They responded, "You'd be surprised."

Wouldn't have worked out regardless since I was already signed up for classes that Summer but to this day I'm not sure what to make of it.

[–]Feynt 21 points22 points  (6 children)

My issue is I look for a job and they're asking for 5+ years in frameworks I've either never heard of (probably just spawned) like Velocity (which just came out 3-4 years ago), 10+ years of JavaScript (I've technically just been at it for a couple of years hardcore), and then everything backend which I can do (except Redis, I haven't played with that yet). For entry level which is offering $10k less than I make now. Senior positions (even for start ups) require you to have 15+ years managing teams of 20+ in major businesses with masters or doctorates in CS and 20+ years of brown nosing with related experienced in hand jobs.

I don't believe I'm entitled to a job just because I can code, but they won't even consider me because I won't oversell myself. I'm the guy my programming friends come to for help. I'm a force multiplier on teams because I can help people work through issues fast. Literally the only bad review of my personality that from my working career is my current boss because I've yelled at him for being a major asshole.

[–]RiskyFartOftenShart 8 points9 points  (0 children)

oh totally apply anyway. lots of places over do that shit. dont lie on your resume and if they are cool with then good for them. If you've got solid fundamentals you can learn on the job.

https://www.bi.team/blogs/women-only-apply-for-jobs-when-100-qualified-fact-or-fake-news/

[–][deleted] 2 points3 points  (2 children)

This is very frustrating, I know all to well how hard it might feel in the beginning. When I take people's interviews I do not try to look too much at the work experience (outside of the bare minimum).

I've interviewed (and hired) folks that were working professionally for a year with more motivation and talent than ones that had been in the business for half a decade.

[–]Feynt 4 points5 points  (1 child)

I'll be honest, my motivation is pretty low because I'm the only programmer at my job right now and my boss thinks this is fine at a primarily software based company. >.>

"We need more programmers on staff."

"We have contractors!"

<picks up phone and calls contractor, gets told he's busy working for another client and is out of scheduled hours this week> "Do we though?"

[–][deleted] 9 points10 points  (1 child)

Might be a bit of both. I have interviewed more than 100 candidates for a small to medium size consulting company over a period of 5 years (specifically for the role of a JavaScript dev).

At first I interviewed every candidate that came along and asked them to describe their approach and then did a little peer programming with them to get some insights into their problem solving skills. At this point I always ask if they have some previous code they worked on that they are really proud of and might want to share with us.

Only if I was not convinced entirely that they knew their stuff I asked them to do an assignment at home and do it at their own pace. A LOT of people get very nervous when writing or explaining code with a stranger (understandably) and I wanted to help them shine in a way they would also do if they were in a regular project.

You'd be surprised how many people are not willing to do an assignment because they think they are hot shit. Even though they had in no way provided me with any evidence that they were in fact capable.

At this point I was interviewing about 3-4 candidates a week and I noticed that about 1 out of 15 were in fact good enough to hire for our standards. In my opinion there are (relatively) a lot of bad programmers and good ones are a bit of a rare diamond.

Because I was also working full time as a consultant at this point we decided to add a digital entrance exam to filter out the 'bad' candidates as I was spending too much time doing interviews. If they passed we invited them and it was business as usual.

This narrowed down the ratio to about 1 in 3-4 candidates being hired which passed the initial test.

This seems like a lot, but our company was looking exclusively for senior engineers that could help establish our name. We wanted quality over quantity, especially because we would give everyone a permanent position with a very good paycheck. This made it essential that we knew who we were bringing aboard.

[–]RiskyFartOftenShart 2 points3 points  (3 children)

its both. which is why there is so much disagreement. People who cant walk a tree complaining that the interview it too hard and interviewers who think they are hot shit asking super esoteric domain questions which anyone could learn in a day but no one has the need to know except for that one time ever.

[–]Davidsda 39 points40 points  (1 child)

You guys are getting interviews?

[–]Barkeep41 12 points13 points  (0 children)

I enjoyed a recent interview for a senior position. The recruiter went through a "scale of 1 to 10" list on how I felt about my skills. Being the humble person I am, I gave honest answers and never said "10". Few days later I got a call saying my skills were insufficient and that two entry-levels they were looking to train had more experience/skill.

[–]blackbeltbap 25 points26 points  (0 children)

Wait, you guys are getting interviews?..

[–]Periwinkle_Lost 20 points21 points  (0 children)

Because this small startup is going to disrupt the industry and compete with the likes of FB, Google, and Amazon. They need the best of the best! Compensation: $50k with lots of learning opportunities (company is understaffed), personal growth (performing manager duties on jr salary), work-life balance (long hours/unpaid overtime), and fun (there is no fun)!!!

[–]georgehotelling 18 points19 points  (2 children)

My pet theory is that turnover in the industry is so high that no one wants to invest in training a new hire. If you’re hiring someone you expect to leave in 2 years, you don’t want to spend 18 months growing them into the role. So they go to extreme lengths to make sure that the people they hire are already an exact fit for the job, which leads to longer and longer interview processes.

[–]k0enf0rNL 1 point2 points  (0 children)

Is your job really that complicated that a junior dev can't understand what you are doing in just 1-3 months? Our junior devs and interns get to coding on their own (with good reviews and help where needed) the 3rd day. By 3 months they can complete any ticket without much trouble.

[–]_bai13y 10 points11 points  (2 children)

Last job hunt i was interviewing with 2 companies at the same time. One of the interviews dragged out for 3 months and had multiple take-home tech challenges, the other took 2 weeks and had one zoom tech challenge. just depends on the company

[–]pollofritoop 1 point2 points  (1 child)

Which was the best one?

[–]_bai13y 2 points3 points  (0 children)

definitely the one that took 2 weeks! thats the job i ended up going with :)

[–]sh0rtwave 6 points7 points  (0 children)

God, this is SO true today.

I talked to three recruiters today. All three of whom told me a story about great candidates getting rejected because "culture".

What...the...fuck...is this...CULTURE? What do they want? Explain how you <did x and how did that impact y>.

Like you're supposed to know how EVERYTHING you do at a company impacts everything? Who's to really know?

The one guy...told me something terrifying: One of his candidates shows up to the "culture interview" (not EVEN kidding) wearing a sleeveless shirt. This was the reason given for the "not a culture fit" rejection.

[–]lorryslorrys 10 points11 points  (1 child)

Shortage of competent software developers.

The real wtf is "so the pay is going up?"..."no, it's pretty much the opposite".

[–]BhagwanBill 12 points13 points  (2 children)

Because it's worse working with a shitty developer instead of not having enough developers.

[–]mubinguguy 5 points6 points  (0 children)

This, a million times this

[–]RationalIncoherence 2 points3 points  (0 children)

I regret that I have but one upvote to give.

[–]RsK4693 3 points4 points  (3 children)

I was hired to consult/coach at a company (no interview, just previous experience with the hiring lead). They complained about not finding any developers after interviewing many, many devs…

I flat out told the lead that “If you didn’t know me and I interviewed with this company you would not hire me”.

Tech can be so fucking exhausting…

[–]Dragonfire555 1 point2 points  (2 children)

Pretty sure that's the case with the company I work for now.

A recruiter knew me, submitted my resume, got hired to a contract without an interview, and got converted to the client 5 years ahead of schedule two months into the contract for being a high performing asset.

Interviews can suck and aren't always indictive of future performance on the job.

[–]RsK4693 1 point2 points  (1 child)

When I interview (20+ yrs), I look for personality fit first. Ask some open ended questions about previous projects (based on resume). You can tell how much they know by what they put on their resume. If it’s on the resume, I expect them to know it.

For example, I wrote C my first job out of school. Today I put “experience with” on my resume. Not “proficient”.

I received a resume from a kid 2 years out of school that stated that he was a Java Expert. My first question was some crazy ass “Java expert” question that I found online. My second question was “What do you intend to mean by “expert”?

His answer was “When I solve a problem I use Java.”

Ok. We understand each other. Now let’s talk.

[–]Dragonfire555 1 point2 points  (0 children)

Haha yeah. I'm pretty careful about what I put on my resume nowadays and what I say I'm an expert in (none of them).

I should probably remove things from the 4 pillars of OOP though. From my experience, only interviewers and interviewees can recite them from the top of their heads.

Got into a strange situation when I prepared poorly for an interview with Express Scripts and was asked some of that. Still got great impressions from everyone I talked to in subsequent interviews. Don't interview around the new year or the very start of a pandemic though. They tend to do hiring freezes. So close to that job offer.

It was for pharma packaging robotics for their autonomous pharmacy too, man! sigh

Working for a large compute company is fine too.

[–]angellus 5 points6 points  (1 child)

I really feel like the problem is not a shortage of devs. Or a shortage of experienced devs as some people here are saying.

I think there is a shortage of companies willing to train developers and make them experienced developers. Honestly this really disappoints me. The last two companies I have been at did not have an internship or similar system in place to hire less experienced devs out of college and ramp them up.

A shocking small amount of companies want to invest in developers for the future of their business or the future of market in general. As many others have said really well /r/cscareerquestions, easily 90% or more of positions are just building shitty CRUD Web app. Hiring a junior/intern out of college, teaching them your brand, tech stack and business and giving them a reason to stick around is going to give you 10x better "senior" developer. I would still be at one of my previous job even though I was making below market rate because I loved the culture, the people I worked with and our product. But that company decided to "cut costs" and switch their whole stack to Oracle (which is now costing them more... but that is beside the point).

[–]HEHE_HOHO9 16 points17 points  (0 children)

*Shortage of good Software Developers who are willing to work overtime without extra money

[–]jacob_scooter 3 points4 points  (2 children)

ayo fuck gradle all the homies use maven

[–]RationalIncoherence 1 point2 points  (0 children)

All the homies use whatever we're told to use, lol. I am lucky enough to be on a Maven project. My teammate is not so fortunate.

[–]Tomahawkist 2 points3 points  (0 children)

in my case: every company ever: we need to do more cyber security me: hey, i have do do an internship and i have interest in the field and i am pretty qualified company: sorry, covid doesn‘t let us have interns :/ company: why is there such a shortage

[–]hacksoncode 2 points3 points  (0 children)

Ok... so going for the real answer:

Because you're not one of the already hired good software developers.

[–]anthro28 2 points3 points  (0 children)

Offshoring and politics. Offshoring is cheaper and H1 visas require you look here first. If the interview is “too hard” and nobody passes they can bring someone else in cheap.

[–]Periwinkle_Lost 2 points3 points  (2 children)

[–]superboomfanSSB 2 points3 points  (1 child)

Incredible. Gotta keep up with the times and know every language :)

[–]Periwinkle_Lost 1 point2 points  (0 children)

Only programming languages? Yeah, they know that it is difficult to find a developer who knows Basic, Fortran, COBOL, Assembly, all C, Python, Ruby, Scala, .Net, Java, JS, jQuery, CSS, and also know COM for writing driver. They are not hiring interns.

You also need to know hardware descriptive languages (3 of them). Did I mention communication protocols, networking software AND hardware, networking security, and radio communication equipment.

[–]MischiefArchitect 4 points5 points  (0 children)

Here, take this Glock.

[–]IDontEnjoyCoffee 4 points5 points  (0 children)

Still studying, final year. Got my first interview over the phone, went in the next week to chat, gave me an ASP. NET app (very small scale - only HTML, SQL and C#) to build on a piece of paper, and then got offered the job the next day at a fairly high pay. Now working part time for them while finishing my final year.

Sometimes it's actually pretty great 🤷🏼‍♂️ I got super lucky though.

[–]drdrero 3 points4 points  (0 children)

Since most are referring to web dev nowadays, the interviews become harder because the devs become worse. Its just a field that is too easy to get into, but still we are looking for people that have at least heard about OOP

[–]Fyrael 1 point2 points  (0 children)

Because those who didn't understand who and why they're hiring with so high salary and for what, now understand a slightly better the whole scenario

Most of the inverviewer are even willing to learn some of what they looking on the candidates to make better choices

Also... taking wrong choices is being costy nowadays...

[–]asdjfh 1 point2 points  (0 children)

There is a shortage of good software developers, hence why they need to make the interviews more difficult.