this post was submitted on 17 Sep 2023
254 points (97.4% liked)

Programming

17483 readers
190 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

Can't just be me, can it? Currently 0 for 3 on interviews because I can't seem to get past the technical interview/test. Usually because of some crazy complicated algorithm question that's never been relevant to anything I've ever had to do on the job in all my years coding.

Also, while I'm ranting: screw the usual non-answer when given feedback.

top 50 comments
sorted by: hot top controversial new old
[–] lysdexic 114 points 1 year ago* (last edited 1 year ago) (2 children)

A few years ago I was in a hiring loop where four interviewers grilled me on a number of subjects, including algorithms and data structures. They asked me all sorts of trivia questions on assimptotic complexity of this and that algorithm, how to implement this and that, how to traverse stuff, etc. As luck would have it, I was hired. I spent a few years working for that company and not a single time did I ever implemented a data structure at all or wrote any sort of iterator. Not once.

I did spend months writing stuff in an internal wiki.

I can't help but feel that those bullshit leetcode data structures computational complexity trivia are just a convoluted form of ladder-pulling.

[–] cgtjsiwy 58 points 1 year ago (3 children)

My workplace has the opposite problem.

The company has been in dire need of programmers for years, so they hired people (including myself) without tests. However, the work involves lots of custom iterators and the occasional handcrafted parser, which most of the company is incapable of writing. The bright side is that management has their metrics mostly right, so I'm getting lots of raises for solving fun problems.

[–] [email protected] 26 points 1 year ago

Ahem, uh, where are they hiring? Asking for, uh, me.

[–] lysdexic 12 points 1 year ago* (last edited 1 year ago) (1 children)

My workplace has the opposite problem.

I don't see that as a problem. The job description of an engineer includes dealing with new problems and onboarding onto new things. So you never wrote a parser and now you have to. That's ok, just go ahead and start from the ground up.

What I perceive as a major problem is the utter disconnect between what companies test for, and what companies actually do.

It makes no sense at all to evaluate candidates on obscure trivia questions no one will ever care about or use, let alone reject an applicant because they mixed up O(nlogn) with O(logn). It matters more if you know a good, healthy answer to tabs vs spaces.

I once was a part of an hiring loop where we assessed a candidate, and one other fellow assesser wanted outright to reject the candidate because he failed to answer one of his questions on data structures. Everyone in the meeting voted in favour of that hire, except that one guy. When we asked to reconsider his position, he threw a tantrum because he felt that it was a matter of principle that we had to not hire a candidate that didn't knew trivia. The hiring manager asked if that info was important, and in case he felt it was whether it could be looked up online in a matter of minutes, but the assesser tried to argue that it was besides the point.

Data structures and algorithms trivia feels like ladder pulling.

load more comments (1 replies)
[–] [email protected] 10 points 1 year ago

That sounds like a win-win situation. You lucky bugger!

load more comments (1 replies)
[–] [email protected] 55 points 1 year ago (3 children)

don't take tech interviews seriously, they suck for everyone but big corps

your 2 decades of experience mean much more than memorizing algorithms, you know how to produce real value

don't forget that, and don't let them forget it

[–] lysdexic 25 points 1 year ago (1 children)

your 2 decades of experience mean much more than memorizing algorithms, you know how to produce real value

That's all fine and dandy but the HR recruiter that can't tell apart git from grunt needs to cross boxes in the skills assessment section, and if you don't ace coding challenges you are as good as dead to them.

[–] [email protected] 7 points 1 year ago (1 children)

Why are you applying to that soulless shitshack??

[–] lysdexic 6 points 1 year ago (1 children)

Why are you applying to that soulless shitshack??

If you automatically rule out companies that either do their own coding assessments or offload them to third parties, you'd rule out most of the potential job market.

load more comments (1 replies)
[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (5 children)

Back when i was a kid, i thought electronics shop were scammers; you knw, solder a wire here, hold power buttons longer than usual, and the thing works again! (This is the reason i got into fixing things 😁)

But since then, i came to a revelation, than it takes years of experience to knw which wire to touch, and wat not to touch at all; what is worth saving, and what is a gonner... saving time...

Coz apparently, as a kid i had a lot of time to spare. These days... Not so much.

PS: i still think they were scammers, coz i believe in being informed... Thats why for every electronics fixed/not fixed (even if its is a punny solder of a wire), i am completely transparent with the user, for both our sakes

[–] [email protected] 13 points 1 year ago (3 children)

There's a story/joke about a company that has a large, important industrial machine that stopped working. They call in a specialist engineer, who walks up, hits it with a hammer, and it starts working again. He then hands the manager a bill for $2000. Incensed, the manager demands an itemized invoice because this was outrageous for something that took 2 minutes. The engineer kindly obliges: hammer $5, knowing where to use the hammer $1995.

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

Yep, use to work somewhere where we had a technician that would spend a whole lot of time just walking around, noting where we had blown light bulbs and stuff like that and he told me something similar "What I'm doing now is not what I'm paid for, that's just me being nice to my employer, what I'm paid for is knowing how to solve the real issues when shit really hits the fan."

[–] 0x0 6 points 1 year ago

Sysadmins can similarly have a hard time. After all, if they're doing their job right, there are no problems.

load more comments (2 replies)
load more comments (4 replies)
[–] hairyballs 5 points 1 year ago

Yeah, I changed my career direction (industry, tech stack…) but before that, my CV only was enough for me to get hired. They would just verify the information, and sometimes, there weren't even a single tech interview.

[–] [email protected] 35 points 1 year ago (1 children)

They've been pulling leetcode questions designed to take a lot of thought and effort. They then expect people to get them in 10 minutes.

Unfortunately, I never got a degree so even when I can ace those questions, I'm really just there to fill their interview quota for the most part.

load more comments (1 replies)
[–] [email protected] 19 points 1 year ago (5 children)

Yeah, they kinda suck and they are brutal to go into cold. Having to grind a bunch of leetcode problems is a burden, particularly if you currently have a job and god forbid a family.

I would still take them over the puzzle questions that used to be popular, or the personality test nonsense that dominates most fields. At least Leetcode problems are reasonably reflective of programming skill. I'll also take them over vague open ended questions - ain't nothing more fun than trying to ramble my way into whatever answer the interviewer is secretly looking for.

Personally, when the day comes when I'm In Charge, I plan on experimenting with more day to day type evaluations. I think there's potential for things like performing a mock code review or having someone plan out a sprint based on a very detailed design document. "Here's an icky piece of code, tell me what it does and what you would do to improve it" seems to have fallen out of style, though it's not clear to me why.

That said, like it or not it's how the game is played and not changing anytime soon. Get on the Grind75 train, or don't and keep failing tech screens.

[–] thesmokingman 19 points 1 year ago* (last edited 1 year ago) (8 children)

I have never found the ability to regurgitate Leetcode solutions as reflective of programming skill or even good performance. I’ve seen what talent I get from FAANG hires and what talent I get from random people with state degrees. Most of the time I will take the later. I have yet to staff some crazy R&D project that actually required anything like the things Cracking the Code Interview tells you to do.

I’ve found a lot more success giving people reasonable design exercises based on company projects and code exercises related to actual work done. I have made a career of only taking jobs with similar interview processes and as I’ve grown into leadership I’ve continued to give interviews that accurately test day-to-day skills. Am I missing out on really good talent by usually ignoring FAANG resumes? So far I don’t think so and I don’t need those idiotic attitudes polluting strong, elastic teams either.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (1 children)

I see them as a flawed indicator of the ceiling of someone's theoretical computer science abilities. Having worked with some brilliant people that career shifted via bootcamps, I will contend there's value in having that foundation. I also prefer Leetcode problems over having to memorize search algorithms. But yeah, it's not very reflective of day to day tasks even in R&D heavy projects. The most algorithm heavy thing I've ever done was implement Ramer–Douglas–Peucker to convert points from mouse polling into a simplified line.

(There's clearly a "it's what everyone else is doing" aspect to Leetcode, on top of being very practical to run, hence I why don't see them going anywhere. They're also as objective as anything in an interview will ever be, so as I always say: it can be so much worse.)

I intend to make the hacker "dive into an icky codebase armed with a stack trace and fix a bug" aspect of software development a part of my interview process; plus lean more heavily on system design questions which is where non-entry level engineers really ought to shine. The parts that worry me are the ability to create new tests as they inevitably leak, plus whether I can truly objectively evaluate someone's performance.

I'm curious what you include and how well it works.

load more comments (1 replies)
load more comments (7 replies)
load more comments (4 replies)
[–] Decompose 17 points 1 year ago (1 children)

Don't worry about the algorithm questions... companies asking that are just google-wannabe companies that don't deserve you. I have always told recruiters "if there's a time-limited interview test, I'm out", and I'm doing very well for myself now.

If you're desperate, unfortunately, you have to pick up a book on algorithms... one of those 600 pages book, and start reading...

[–] h_a_r_u_k_i 14 points 1 year ago

Let's be honest, even if you finish that 600-page book, you might not "crack" the algorithm interview. The inteview requires you to grind the question, or simply a lot of practices.

[–] [email protected] 16 points 1 year ago

Astronaut: You mean they're all too stupid to do the jobs they currently have?

2nd Astronaut: And they always were.

Also - those kinds of interview questions are bullshit. A good tech interviewer can ask about past experience and learn plenty from questions in that context.

[–] [email protected] 14 points 1 year ago (2 children)

If they ask a tech test question, it's time to leave. When they act surprised, tell them you don't believe in wasting your time with bullshit.

[–] [email protected] 24 points 1 year ago (1 children)

You'd be surprised by the number of applicants that can't write a for-loop. There's a middle ground between no test and complex tree search algorithms.

[–] [email protected] 5 points 1 year ago (1 children)

If I ever encounter that middle ground, I'll let you know. Until now, it's only ever been complex bullshit.

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

Why? Tech tests are fine, absurd complex tests for shitty jobs are not

[–] [email protected] 11 points 1 year ago (1 children)

If you find some that are reasonable then I consider you lucky. I have not. They've only ever proven to be an absurd waste of time in my experience.

load more comments (1 replies)
[–] [email protected] 13 points 1 year ago (1 children)

I simply refuse to move forward if the interview process involves a whiteboard interview. I have no aspirations to work at FAANG so this has only happened to me a couple of times

load more comments (1 replies)
[–] [email protected] 13 points 1 year ago

You have a 2^n marbles and a scale....

[–] varsock 10 points 1 year ago* (last edited 1 year ago) (1 children)

another problem with tech tests is how broad of scope they cover - like everything you've learned when pursuing your degree.

Most other professional engineering disciplines have licensing obtained using FE and PE exams. Those exams are effectively "tech tests" equivalents but after passing them you get a license that you have to maintain. I can appreciate this approach since you can take CEU (continuing education) to maintain your license instead of taking the entire test all over again.

I never though software engineers would need a license but I would MUCH rather prefer grind to obtain a license ONCE which then I can use to fulfill tech test requirements and maintain the license with much less effort throughout the year.

[–] hairyballs 10 points 1 year ago

I was so lucky in the interview for my current job: I'm working on a product with a big networking component, and I was asked to write an echo server with low level components. That was maybe the second time I had a test related to the job.

[–] [email protected] 10 points 1 year ago* (last edited 1 year ago)

Never had issues in the past, I actually did the tests for few friends, just for fun. But most of the time they are overkill. Now that I have more experience I realize it takes few very basic questions to understand if one is technically fit for the job.

I don't know if I would appreciate a complex test now if I was looking for a new position. It feels a bit disrespectful.

I currently struggle accepting all the psychological and hr tests for management positions... They are hr bs. I do them, but they are imho much worse than technical test, because completely useless and arbitrary. Those are really offensive and intrusive

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

I hope I never have to look for a job again but with the way my business has gone lately, I may need to start thinking about it in a few years.

I've also been coding for 25 years, most of that professionally. I'm not sure I could pass a tech interview.

load more comments (1 replies)
[–] [email protected] 7 points 1 year ago

For a lot of these you need to study/practice on sites like HackerRank for a while first. Some companies go overboard and expect you to build some crazy recursive dynamic programming implementation in 15 mins without an IDE, others are more realistic and just want to see if you know things like algorithm complexity, can pick appropriate data structures, and write logical and clean code. And yes, very little of it applies to what most of us do day to day. Anyways, HackerRank is great for interview practice, you can Google for pretty much any solution to their questions.

[–] thejodie 7 points 1 year ago

Sometimes those positions are meant for promoting internal candidates, who obviously sat in, conducting the same interviews in the past. So the difficulty is dialed up to "I am Death incarnate!" levels and they then have scoring data to support their selection of the internal candidate. At a friend's workplace, they'd opened up a 2-3yr exp position to convert a great intern, and had some great 10+yr exp people apply. My friend said that was a little awkward. Even if Mark Russinovich or Linus Torvalds applied for that job, they still had no chance at getting it. I joked that I might put a resume in his manager's pile for the creator of the tech stack they were interviewing for, just to hear how that reaction was.

That's probably not representing even... 5% of these gauntlets, but it might make you feel better. Sometimes, it's the hiring manager fulfilling the letter but not the spirit of some process, but it means they are frustratingly hard on candidates in the process.

And perhaps, ultimately, you have dodged some bullets.

[–] nik9000 5 points 1 year ago

We ask algorithm questions and I feel bad about it. But a nontrivial portion of the job really is adapting these algorithms to novel scenarios. Not most of the job, but maybe the hardest part.

load more comments
view more: next ›