Hacker News new | ask | show | jobs
by marta_morena_28 2050 days ago
I am pretty sure they did, unless he got hired at some VP/Distinguished Engineer level.

And to be clear: If you are unable to solve these common algorithmic questions that companies like Microsoft ask, then that's not the right place for you to work. This is a tangent, but there are literally thousands of companies that won't require you to solve these problems. The thing is, at Microsoft & co. you don't just do this in an interview. You do it at your job too. We do foundational work in many teams and we need to solve algorithmic problems practically every week. If you are unable to code yourself out of a DP problem or scared of NP completeness and approximation algorithms, then maybe find a different job instead of complaining about the interview process?

21 comments

I wholeheartedly disagree.

1. This is Guido van Rossum. If I were him and asked to solve puzzles, I'd tell the hiring company to fuck off.

2. These quizzes aren't so bad, but the pressure and stakes make it incredibly stressful. There's no standard, and often times the interviewer is the one that sucks.

> We do foundational work in many teams and we need to solve algorithmic problems practically every week. If you are unable to code yourself out of a DP problem or scared of NP completeness and approximation algorithms, then maybe find a different job instead of complaining about the interview process?

I'm pretty sure your opinion here is not that of your employer.

Counterpoint:

When I was leaving Google the first time, I asked my skip lead (who was employee #48 there, ended up running all of Search, and was previously a core HotSpot engineer at Sun) why he chose to work at a small startup when, coming off of HotSpot in 1999, he could work anywhere. He replied "Aside from them being one of very few companies with an engineer-centric culture, they were the only company that required I interview. Everybody else was willing to hire me on the spot."

For some personality types - and particularly the ones likely to do world-class work - being challenged is a positive sign. It means that the employer does their due diligence, and they will mostly be working with other people who react positively to a challenge.

> It means that the employer does their due diligence, and they will mostly be working with other people who react positively to a challenge.

To me, due diligence would be more like using software that someone has created. If it feels snappy then they're good enough at algorithms for the kind of software that they create, if it doesn't then maybe it's worth looking into whether or not there's a good reason for that.

Like if you apply for a job at the NYT, I doubt they make you do a timed writing test with people staring at you and asking you questions in the middle. They probably just read some of the previous work you've done.

Are you kidding? They'd make Ansel Adams do a timed test on how to use Elements to do colour correction.
Sure, but due diligence doesn't mean asking Guido van Rossum - who's got bona fides coming out the wazzoo - to solve a whiteboarding problem.
How he solves the problem doesn’t matter. You don’t care in the interview if he had the answer memorized or if he fumbles through it.

I do not want to work with anyone who finds that getting their hands dirty is beneath them. It is very, very rarely going to be a good use of their time to do those problems. It will often be a good use of their time to teach those problems. A senior engineer, even one who’s unlikely to work with junior engineers on a regular basis, will need to explain their thinking. They need to show humility and compassion. Those are practiced attributes. This precise situation is the best practice you can get - New and Unknown person, some amount of challenge and complexity involved.

Thinking that whiteboarding problems are a bad use of time is a very strong signal for a senior person who is out of touch.

At an old job, my boss was moving desks and he came across an extra copy of CLR "Introduction to Algorithms" and he asked if anyone wanted it. As he was my direct supervisor, he said he'd give it to me only if I promised never to open it, and only to use it as a monitor stand.
I can see that. When I interview, I often compare the difficulty of the questions that different companies. I have noticed that I feel a little more respect to the companies that ask the more challenging technical questions (not puzzles) vs. the ones that ask the super basic ones. It does make me think that the ones asking the simpler questions are likely getting lower quality candidates and that I would be joining them.
Counter-counter-point. An engineering interview has a non-neglible amount of randomness. Maybe you get a grumpy interviewer or a noob interview, or your brain freezes over.

When you are considering hiring a nobody, this is acceptable. You will interview multiple people, and they will interview at multiple places, so the randomness isn't that important.

But if you want to hire one specific guy as a strategic hire, suddenly the randomness may no longer be acceptable.

Well, he wanted to meet the team and have an idea who/what he would be working with.

It's really scary to go to company that is willing to hire you without ever talking to you.

When I left uni, I got around 15 job offers. I went with the one with the lowest pay, because that's where I had go to through the most difficult interview process.

(Unfortunately this happened in a small Eastern-European country, so the company was an investment bank, not Google.)

I think the best experiment would have been to have him apply blind where the interviewers did not know he was Guido -- and see how he fared on the technical interviews.
> I think the best experiment would have been to have him apply blind where the interviewers did not know he was Guido -- and see how he fared on the technical interviews.

That would be amusing, but he'd have to be disguised, as he's rather recognizable, having done a lot of 'State of the Python' talks and the like.

He doesn't look as much like Rick Moranis as he used to, though, so that helps: https://gvanrossum.github.io/images/Guido@200dpi.jpg

> This is Guido van Rossum. If I were him and asked to solve puzzles, I'd tell the hiring company to fuck off.

Not sure what you're trying to get at:

MacOS homebrew creator is an effin nobody compared to Guido, therefore he should "know his place", "get in line" and invert a binary tree on the whiteboard and act like an obedient tech interview candidate that he really is?

OR

MacOS homebrew creator should've told Google to fuck off?

Imagine a University asking a Physics Nobel Laureate to solve QM Problems from an undergrad textbook in order to get hired as a Professor. It would the height of lunacy and incredibly insulting.
Guido is not a Physics Nobel Laureate. Going with the Physics analogy, Python is more like an overgrown masters level project, not a Nobel prize level by far. He did a good job at growing the Python community, and this is a great achievement! It requires certain personal traits not everyone has. But at the technical level, he made many beginners mistakes when designing Python, which he tried to fix later, but not always successfully.
An overgrown masters level project, eh? You could probably say the same thing about the founding of the United States!

"The US constitution is like an overgrown enlightenment dissertation. The founding fathers did a good job at growing the United States, and this is a great achievement! It requires certain personal traits not everyone has. But at a technical level, they made many beginner's mistakes when drafting the constitution, which the country tried to fix later, but not always successfully."

:-P

It may come to you as a surprise, but for an outside observer, who hasn't been indoctrinated at school by the religion of American exceptionalism, the US might not be a very good example. Think of American military-industrial complex that apparently defines the country's foreign policy.
Maybe.
>Python is more like an overgrown masters level project, not a Nobel prize level by far.

Please find me another "Masters Project" that has 8 Million+ Users and drives the backend for thousands of tech companies worldwide. Good Luck.

oh friend, say no more, how about left-pad? https://www.npmjs.com/package/left-pad
I love Homebrew – but it really isn't that much of an achievement compared to damn Python, and I also have no idea who is its creator.
Homebrew is 11 years old. I'm willing to bet there are as many people (likely fewer) people who knew Guido in 2002, when Python was 11 years old, or even 2005, when Google hired Guido.

And I'm willing to bet when Google hired Guido in 2005, they didn't put him through a coding challenge humiliation clown show day.

> MacOS homebrew creator should've told Google to fuck off?

Yes, that's exactly what he should have done.

This comment really just drives home the nail of how awful the state of interviewing, and especially the mental state of some interviewers, in this industry with a backhoe bucket.

I really just want to thank you for putting this useless mentality on display.

Next time there's a tech interview discussion and someone defends it, linking this thread will be very useful.

Almost 30 years of BDFL of Python, sorry don't care, go do 200 leetcode before talking to us. And if you don't spit out the answer a few seconds faster than that fresh graduate, clearly you're a lesser engineer and should be rejected.

I know it's not Microsoft, but D. E. Shaw asked Larry Summers math puzzles when he interviewed there. At the time, he was the president of Harvard University.

I think it's my favorite example of how crazy some interview processes can get, lol.

I’m not sure what’s crazier to me: asking someone to demonstrate a live proficiency of an abstract skill that is only tangentially related to that actual day-to-day activities of a role or just assuming that because someone has some high credential that they would be good in a given role.
DE Shaw is a financial company filled with maths guys, doing statistical analysis and modeling all day. A math puzzle is the most normal question you could be asked there.

The real question is why Larry Summers is going to a quant interview? Did he apply for a quant role?

They hired him as a managing director.
For many roles at a hedge fund, being able to do mathematics quickly and intuitively is a valuable skill. Not sure why an economist applying for an MD job would need to be tested on that, though.
He should have called their bluff and failed the quiz on purpose. What are they going to do?
"Hello Guido thanks for coming in, we would like you to open up visual studio code and create a sudoku solver that can solve this partially filled out board"
Time to use prolog to get your revenge on the interviewers.
More appropriately, in Prolog (by Markus Triska) https://youtube.com/watch?v=5KUdEZTu06o
Thanks for this link. I took a course on logic programming in school and it made a big impression. I found Prolog to be pretty mindblowing at the time and I'm happy to see it still is.
Very nice, and I can understand this one.
You must be injecting crack directly into your frontal lobe if you think that the creator of the world's third most important programming language being asked an algorithms question (unlikely) and failing it (entirely possible) means that he's unqualified to do "foundational work."

I had a Nobel Prize winner as a physics professor in college who got three successive different wrong answers when attempting a freshman physics problem in office hours. That doesn't mean that physics isn't the right place for him to work.

> third most important programming language

not going to debate that, but I'm curious, what do you rank as #1 and #2?

The tiobe index lists Java and C in those spots.
> The tiobe index lists Java and C in those spots.

That list is ranking languages by current popularity, though, rather than 'importance'.

I'd define 'importance' as more along the lines of "amount of havoc created if all software written using that language were broken/deleted at once".

Wouldn't languages like COBOL rank pretty highly because a lot of legacy banking systems are written in that?
Yes, but frankly, C would still cause more havoc because even if the mainframes somehow continued to run, they would still be effectively inaccessible over any network.
Python is number 2 now, according to https://www.techrepublic.com/article/python-overtakes-java-t... :)

We should not give too much importance to this, but the fact is that Python is now ranked consistently #1, #2 or #3 in sufficiently many rankings to consider it seriously.

That's fair, I guess.
> unless he got hired at some VP/Distinguished Engineer level.

Google or Wikipedia can tell you who Guido van Rossum is.

I believe the "unless" was about the position he was hired for, not about who he is.
Hi, I'm a programmer for Microsoft. I didn't have to answer silly algorithm questions for them to hire me. I'm nowhere close to VP/Distinguished Engineer level

(that said, my path to being hired did involve writing a sudoku solver, but that wasn't in an interview for a position at Microsoft)

Perhaps you could share your story to show that not all is dire like HN would make it seem.
Every story is unique. I was responding to a comment that was making sweeping claims

My story likely isn't replicable, but everyone has to find their way

I interviewed for Citus a couple weeks before they announced being acquired. I found out about the acquisition on Hacker News before having received an offer. They were able to get me in without going through the hiring process again

Initially I'd be moving to San Francisco but I wasn't eligible for any visas as I don't have a post secondary education. Staying in Canada's worked out

Some examples of things working out here: I was asked to implement some parsing, & well that's not so hard when you've written a Lua parser a year beforehand: https://github.com/serprex/luwa/blob/master/rt/astgen.lua (an astute reader will notice I don't handle precedence here, which is pretty important for arithmetic parsing. That's because I opted to implement shunting yard during codegen phase)

What value does this story give a reader? I only think it'd serve to continue an argument about how not everyone is so lucky, which isn't the original argument of "unless you're VP/Distinguished Engineer, not even Guido van Rossum gets to skip whiteboarding"

His Twitter actually says "Distinguished Engineer at Microsoft"
>We do foundational work in many teams and we need to solve algorithmic problems practically every week.

Keep telling yourself that as you fix mindless bugs in some Advertising platform lol.

> The thing is, at Microsoft & co. you don't just do this in an interview. You do it at your job too.

Oh so that's why the Azure Portal UI is such garbage. Their frontend developers are just busy solving knapsack problems...

Yes, they hired him at Distinguished Engineer level.
I know we're talking about FANG itw but come on you really think people like Guido needs to do any of that? They probably don't do "regular" itw, they go to a restaurant with some important people and that seels the deal.
I think this was in response to this:

https://twitter.com/mxcl/status/608682016205344768

Everybody needs to invert B-trees before breakfast
From his twitter profile:

""" Python's BDFL-emeritus, Distinguished Engineer at Microsoft, Computer History Fellow. Opinions are my own. He/him. """

> I am pretty sure they did

Lol! I'd bet my year salary they didn't.

Every body is asked some thing close enough. At higher levels, often focus is not on coding, but enough depth of design where a person of such profile might end up educating the interviewer - while satisfying their requirements.

That being said, ability to solve coding problems efficiently (not necessarily spit A* graph algo in sleep), but a decent close to real life coding challenge is fair game.

Well, you might want to check guido's twitter before making that bet.
What exactly am I supposed to check in his Twitter?
Whoops, mismatched your reply to the wrong branch of the comment tree
He was hired as a Distinguished Engineer.
> NP completeness

Programmer here. It's true. I deal with NP completeness every day.

You really don't do it at your job.
I’m taking a cheap shot here, but the people maintaining Skype at MS certainly don’t do it. And there are such examples at other big companies.
Wow, so much salt. It was a joke.
You should have left "/s" at the end of your comment, it's really hard to distinguish between a joke and stupidity on the Internet.
They did add a /s to the end. The user you were replying to wrote the comment that the stupid comment was replying to!
It is there. At the end of the line.
To me this undermines any humour the comment may had to begin with.
In that case, it was an unnecessary joke and not helpful to the conversation.
Sorry, I'll refrain from humor from now on?
Please don't, keep being fun!

It works here on HN too, many of my comments are upvoted jokes and I liked yours. It's sad it attracted animosity though.

I like browsing HN mostly for the interesting discussions, but I enthusiastically take the occasional jokes that come with them.

(I might have been upvoted by people taking my jokes seriously now that I think about it. I don't know if this is a terrifying or a funny thought!)

Seems reasonable.
Go to reddit if you want to make average IQ humor.
>I am pretty sure they did, unless he got hired at some VP/Distinguished Engineer level

No way they even considered doing it... That's for people out of college...

Thats certainly invalid. People with 20 years of experience or more, are asked questions based upon the role they are interviewing for.

If you are applying for a principal or higher engineer role and your job involves coding, you are asked coding questions. May be not just focused on a complex bookish algorithm only, but rather more close to a real life distributed programming / synchronization problem etc. for example.

Why the fuck would CS graduates be afraid of DP problems, NP-completeness or approximation algos??? That’s literally the table stakes of our profession.

The problem is rewarding rote memorization in a whiteboard interview, at the expense of actual understanding, and ability to research the problem.

> Why the fuck would CS graduates be afraid of DP problems, NP-completeness or approximation algos??? That’s literally the table stakes of our profession.

If the profession being discussed is "academic work in Computer Science", sure.

If it is "software development", those things absolutely are not really "table stakes".

If it is "software engineering", then I don't think there is broad consensus on what that profession even is, much less what table stakes in it are.

Are you seriously claiming Guido van Rossum was hired for software development/engineering..? I don’t understand the context switching here.
> Are you seriously claiming Guido van Rossum was hired for software development/engineering..?

No, nor do I think he was he hired for the other thing I discussed, academic computer science. The post I was responding to made a general comment about "CS graduates" and "our profession"; I was responding to that. Whether that post itself was material to, or merely tangential to, the discussion of GvR's hiring at Microsoft is an argument that, while perhaps interesting to some, was not the focus or concern of my response.

My post was a response to a specific comment, please don’t take it out of context.
Because these problems can have some subtleties that are hard to get right in a high-pressure environment. Some interviewers will completely write you off for small mistakes.
That sounds interesting! Do you have any examples?

I would have thought that if you actually needed people to perform under pressure, you would design your test explicitly around that, instead of using “comfort with the whiteboard” as a proxy...

That might be a fair statement for some roles, but what about the second part where you code it up and write the code on a whiteboard w/o running/debugging and have to get it right in 45min?
I’m not sure I understand..?

Do you mean it should be used as an actual speed test?

> that’s literally the table stakes of our profession

Table stakes for what exactly?

Computer science graduates...? Like I said in the comment.
For sudo scientists.