Some times I run into companies like this: The people you talk to are so visibly inexperienced that you can't comprehend how the company functions, let alone makes money.
Some times it's a zombie company. They received funding or got a windfall from some early business moves, hired a ton of people, and now they're floating through the industry transferring money from customers to salaries as long as they can while their customers slowly leave for better options.
Some times it's a company with horrible management skills. They promote people who play the game instead of doing the work. The person in charge of the ML initiative only wanted to say that they hired MLE people for a new ML initiative for their resume. They grabbed someone who wouldn't complain or talk back and gave them the job of interviewing MLE engineers. That person ChatGPT-ed some questions and ran through a list in each interview, knowing their job was to go through the motions. The interview filters out everyone who would hate that environment, selecting for more people who know that the name of the game is going through the motions and pretending to do work while avoiding getting fired.
Later I got a call from the recruited saying the CEO was unhappy, that he felt "he couldn't get a word in edgewise" but he was willing to "give the interview another chance." I said I was sorry to hear that, and that if the CEO didn't feel he could speak up freely in a 3 person meeting then I wasn't the right fit for that environment.
The COO called me later, the truth was that everything I had said about future planning aligned with their previous CIO who had left after long disagreements with the CEO but that the board liked the plans and my resume. I said no thanks, that the CEO isn't someone I want to work with. If everyone has to constantly cater to the CEO and make sure he feels included, that's not a workplace, that's a kindergarten.
Having said that, talking to a relative, I found out that this style of "interviewing" is often done when they already have someone for the position, but need to show (for compliance reasons, or otherwise) that they tried finding candidates, and only their preferred one qualified.
The questioning very quickly veered away from technical stuff and into stuff like, "where do you stand spiritually?" and other questions probing into whatever bizarre cosmic insights I could pull out of my ass at the time. He was the really intense kind of boss who wants to make sure you know of it with the hard back/shoulder slaps and micromanagement, and I could see his office from the boardroom which basically had an array of monitors all wired up to CCTV so he could watch (and hear) people from the comfort of his desk.
If any of that wasn't a red flag, getting hired literally 5 minutes after leaving the office was probably the biggest. I lasted about 6 months and even trying to leave was an ordeal.
Like finding your next gig or just not showing up ever again? Because I've worked at a place where someone came in, went to lunch, and they never saw them ever again.
I got a gig as a contractor for a well known company. They were hiring and he told his recruiter to get him in. After several conversations trying to tell him not to come in and telling him what a clown show it was, he still managed to get hired.
Same thing. Came in, continually had to ask me how to do stuff, and I kept telling him, "See man, I told you this place is a clown show!". He did the same thing. Left his laptop, "Going to lunch, be back in an hour."
Never came back.
Or they only want candidates from a specific country to apply which is seemingly the case. I've heard from very talented and capable developers that they're getting auto-rejected once the interview reaches someone from a very specific country, no matter how good they did prior. I've also been personally told by people I know wouldn't BS me, that had my name sounded like I was from a particular country HR would have contacted me for an interview, but because I'm none of the countries some companies seem to only hire from, I get ignored. There's a problem with tech hiring and nobody wants to talk about it because most people are unaware.
And those who are aware and bring it up often get accused of racism when they do, making it difficult to spread awareness of this awful practice.
That's a very globally-conscious way to refer to the USA!
You previously said:
"One of the things people in the US like to do is to take some thing that's being negatively talked about and spin that into a thing that only people in the US do"
Well, it sure sounds like a thing people from your European country like to do as well.
Why didn't you answer, that it tells you that his camera is unfocused?
I don't understand how people tolerate this for so long, I'd start trolling the guy after his third question. If he wants to be rude, then I'd retaliate and make sure I have a laugh while he is wasting his time.
Even for practical reasons. If they think you are a prick, the blast radius can be substantially wider than this specific interview. And for what? The lulz?
I'm not saying to accept rude behavior, but one can leave such situations without being rude back or making a scene.
I do not claim the moral high ground. My moral is more flexible, than just "an eye for an eye" or "be nicer than the other side". I can do any of that depending on a situation. I'm starting any communication with the latter, it is a consequence of my upbringing, but if it doesn't work I may do anything. I want to note, I know that "be nicer than the other side" works oftentimes, people are entering into a communication in some emotional state and with some expectations, and these things can change during the communication. So I let my upbringing to try it first not just because of upbringing, but because I know the value of it.
> one can leave such situations without being rude back or making a scene.
One can. And I can. However there are situations when I just don't want to. A series of interviews that took my time just to end with the rudeness, so I just wasted my time is one of these situations. If they wanted to hire pushovers they could write it upfront in the requirements for applicants, I wouldn't bother them.
The consequence is that they don't get to enjoy your competence as an employee nor that of others who don't feel treated well, with implications for their future strength in the market. That's a much stronger consequence that being rude for a moment to somebody who doesn't care anyway.
This is so funny. "I'll show them by being slightly obnoxious for ten minutes! Then they'll know not to mess with me!"
I'm sure they'll really feel those consequences.
but having already blocked the time off it's also completely reasonable to take 5 or 10 minutes to farm them for some content for my personal life like the other commentator stated, more or less.
it's not a calculated maneuver centered around them. The purpose of stating that consequences exist is because there are people out there who genuinely believe you have to be a monkey and jump through all the hoops of whatever any employer asks and would condemn someone for trolling a blatant tie waster for 10 minutes. My intent with this public discourse is to give the trolling a pass, not uplift it as some sort of standard of justice
No small talk, no discussion of the role, no discussion of my experience or interest in the position. I kept trying to decline and open up a more conceptual conversation on relative importance of things in software, but they really cared about grading my work.
Easily 2 out of 5 interviews I've taken expose spectacular miscommunications between HR / management and future coworkers.
I dont know if this is a recent thing, but I had a similar thing where an interviewer was racing forward, and would only accept the answers he had in mind.
In Python, he asked me how to search for substring. I was thinking but he started hurrying me. So I said regex and started writing a regex.
"No, there is an inbuilt method"
I couldnt remember the method. He asked me to google it, but there are dozens of string methods.
"I could use a regex?" I said and tried to show him how.
He ended the call, and 5 min later the agent called me to say my Python was sun-standard so they wouldnt be going forward.
This guy was a permanent employee and supposedly an expert
It’s the sort of thing where if you’ve written, like, any Python at all, it’ll be somewhere in the back of your head. It’d surface immediately on the job. But if you’d been using any other language earlier that day, it might not pop up reflexively, or in interview-stress mode.
It’s essentially trivia, and over-indexing on trivia is a mistake. But if they were a Python writer every day, I could see why they’d incorrectly expect everybody to have “in” in their l1 cache.
The interviewer is not asking to solve a problem here, they're asking for a simple ability to follow instructions, hence the offer to use Google to find the correct answer.
You could make a very solid case for using "in" (it is 2-4x faster), but only after you've solved the task at hand, this is what is expected in interviews. Not knowing the interview meta makes an average Joe basically unhireable in this market.
The existence of a more conventional .find method does some damage to my original point. Oops.
The reason is the intent behind their question, which they don't vocalize.
This question means we are dealing with an extremely broad hiring funnel designed to fail people who can't FizzBuzz and need to keep answers at MVP level.
In other words, if you are asked to put out a fire use a bucket of sand, not a state-of-the-art fire extinguisher.
Maybe this was a very junior position, but I'm with the interviewer here. Using regex would be very questionable - and a solid case of 1171.
Step 2: Parse the output with your eyes. The method is literally called "find".
This one-trick pony failure mode could perhaps have been fine for a guy who did Java and nothing but Java for 10 years, but you are supposedly the person who runs "pythonforengineers" website...
100% correct call by the interviewer.
In this one there are often thousands of applicants for a position, most of which can't pass FizzBuzz.
Why would they (or anyone for that matter) choose a candidate who can't figure out how to find info about a trivial method?
Quite surprised by others finding this as a... Surprise? I get there is people who never experience this, but they also not know anyone personally to whom this would happen?
if "needle" in haystack:
print ('haystack.__contains__("needle")')
Is probably the obvious/canonical answer to the question of trying to find a substring.So obvious that -to be fair- I blanked for a moment too. But 'in' is an operator, not a method (even though it calls __contains__ under the hood) . The question might have been slightly malformed?
str.find(sub[, start[, end]])
"Return the lowest index in the string where substring sub is found within the slice s[start:end]. Optional arguments start and end are interpreted as in slice notation. Return -1 if sub is not found."
Your instinct to resort to "in" is correc,t as it's generally slower than the "in" membership test, but the interviewer has even allowed the use of Google. Blanking out after that is really bad.
But more importantly it is hugely context sensitive on how often the function is going to be called and what IO needs to happen around it to decide if speed matters at all.
Using a regex as a first attempt is entirely reasonable. Especially in an interview about Python. If we care about efficiently doing substring matching Python isn't the language of choice. If a programmer just wants to remember how regex work and get on with their day they'll do fine at handling string problems.
I write bare metal firmware, primarily in C, and I've had to make it a point to explain, in most every interview I do, that I've only ever used malloc(...) in tutorials. "In my world, malloc is a 4-letter word". So while I know what it does, and how it works, I actually have to google its usage, and I'm not as keyed into its pitfalls, because every system I've ever worked on could not afford the risks associated with dynamic memory allocation.
All of this to say, bad interviewers go looking for a specific answer, good interviewers go looking for good process. All of the jobs I've held are ones that accepted that I was rusty on this or that specific call, but could think about the system holistically.
Arbitrary substring in arbitrary text vs extracting embedded plant code from product serial numbers.
As long as you've got a good explanation for what you chose and why you chose it and the pro/con it's probably fine.
And it was triply weird that when he already said he wanted the non-regex way and you insisted on that.
That said, really... finding a trivial python function using google search, that is a real life work skill. It's 100% real and not made up for interviews. I guess these days one would ask the LLM, too. The only artificial thing was the time pressure which, granted, complicates things needlessly, but other than that, the fact the candidate didn't come up with an answer is still a red flag. (I wouldn't disqualify them just for this, but maybe there were other red flags already?).
(The biggest one is that they still think there is nothing wrong about this and decide to victimize themselves on HN.)
I've used Python as my main language for ~10 years in various professional roles (DS, DE, SWE) and I so rarely need the exact construction `substring in string` that I probably would have blanked on it too in an interview. 99% of my string processing is .startswith/.endswith and re.search, that's just the way it goes. Hell, I know the difference between re.search and re.match by heart (do you? no? you're substandard!) but I genuinely forgot that `in` works on strings.
I started doing "ML" ~ 20 years ago building classifiers people would laugh at today and even at the time barely impressed people when they were 95% correct.
I moved into NLP and built NERs that missed 2-10% of named entities per document routinely. Best of breed approaches and models rarely fared better.
Learned the cornerstones in school for ML; linear regression, ANNs, traditional RL, image classifiers, A* bots, etc, most of which got baked into transformers later on.
Then the transformers went from interesting novelty to useful. I couldn't build a useful one locally, but the toys versions were still fun to play with.
Then the novelty LLM went from useful to generally applicable. Then they became a silver bullet.
I still can't build one locally. I can distill or build or fine tune if you give me some rented GPUs. But to call this ML is very much a stretch.
I still use the traditional ML a lot, but mostly for evals and analysis.
I get being naturally bummed by this but I can't justify feeling anything but vaguely nostalgic about it. Someone with a $20 subscription can mog anything I can build with the skills I picked up.
If someone hands you a silver bullet you'd be a fool to decline it and spend your time hand casting a crude piece of brass. If the difference between 95% and 99% means you know how to aim or oil the gun, that's the world we live in.
Building a good RAG pipeline or prompt optimization or LLM consensus is dumb stuff that produces a better result than anything I could do from my 2010 ML/AI textbooks. I don't lack the knowledge or capacity to compete, I lack the compute.
That's the job now for 99% of companies.
Welcome to the data science job market of the 2015-2023 where everybody with a $20 online course could become a proficient data scientist in only 4 weeks!
My interview happened on the phone while I was commuting on a crowded train, and was extremely successful - at the end, we both agreed that we were not looking for each other :)
This was back when leetcode was just coming in full swing (early 2010s), which since then replaced it completely. I think the (startup - coincidence?) company that was trying to hire simply didn't have the money to pay for a leetcode hosting service, a phone call costs nothing after all, only time...
> Turns out this absolute Chad is a mobile dev the client asked to interview candidates for the MLE role
Those elite frontier mobile devs and their overwhelming power!
I was brought into a new job as a UI expert, but still had some opinions on the backend approach... I overheard a conversation that included, "what does he care about the backend, he's just a UI guy." I don't think I've been quite that pissed off any other time in well over a decade at a workplace.
Oh man imagine if they asked the janitor to interview you and he just goes at it like it's the defining moment of his entire career.
Until this line I assumed this was a screening by HR.
Also I'm not sure it's such a tabboo as it is a stigma on the applicant!
After the interview, the recruiter who introduced me to this job said they had another role for me. But first, he wanted links to the other positions I'd applied to, what those positions were paying, and how far along I was with each one.
I told him I wouldn't do that and he said that it was ok. Haven't heard from them in a year or so, but I'm sure that other interview is in the bag.
For those that don't understand why an external recruiter is asking for that detail they are trying to find new clients to sell their services to.
They're banking on you offering it because saying no would rule out any mysterious prospects they have to offer, but really they're looking for new leads and if it comes from a candidate then it's warmer. Just have to be polite when you give them vague info and say you're not able to share more than that.