Live data from Hacker News

Software Engineering Insights from 10 Years at Google

addyosmani.com

141–150 of 151 posts

Re: Software Engineering Insights from 10 Years at Google

#141

Earlier quoted context omitted.

Without leet coding, named algorithms (binary search, dynamic programming, and other esoterica) or data structures (only requiring knowledge of arrays, assoc arrays, loops is enough), coding interviews still allow you to demonstrate your thinking ability. You can construct various simple problems (that require only loops and arrays) that can easily be mapped to real world problems and see how well the programmers per…

You throw some good arguments and although I am not in agreement with such methodology let me ask would you apply the same process when hiring a senior engineer with a demonstrated experience of N+ years in tech you're looking for? Isn't that off putting and isn't that ingraining distrust from the very beginning?

It is just an attempt to shortly evaluate the experience listed on paper. Thinking is only one aspect of programming.

Are open form questions for which the candidate can give an honest answer or that start a discussion better, or do you find them similar to a simple coding problem? What if during discussion I probe for more details about one particular thing?

Just to be clear, I agree that coding questions can be ridiculous. These do appear in some interviews. Questions related to quicksort, radix sort, counting sort, heaps, Dijkstra, 0-1 bfs, dfs, iterative deepening, prime testing or integer factoring, or convoluted problems of counting the many ways of tiling a n x m grid with 2x1 and 1x1 tiles, can all be found in the wild.

My buses problem is completely different and simpler.

Re: Software Engineering Insights from 10 Years at Google

#142

Earlier quoted context omitted.

Who is driving out to a cabin in the woods to work for just one day?

Never taken a three day trip but want to get work done on Monday?

Not to a cabin in the woods with no internet.

This is becoming an increasingly remote (hah) scenario where doing development over web-based IDEs and SSH becomes a problem. For the incredibly few people who do this sort of thing regularly, you could get satellite internet reimbursed. There is even a story of a SRE who used to work from the top of mountains on occasion because he hiked so much.

Re: Software Engineering Insights from 10 Years at Google

#143
post #139

Earlier quoted context omitted.

Ok. Let's put your theory to the test by making this more concrete:-) You are working as an Interviewer for a FAANG and the six candidates today for a SWE position are: - Linus Torvalds - John Carmack - Fabrice Bellard - Guido van Rossum - James Gosling - Donald Knuth What "puzzle" are you proposing?

The proof of their experience is publicly visible. That is not the case for most individuals, including me. FizzBuzz is not a puzzle solvable only with an obscure trick, and easily maps to real world, the buses problem too, and I can list more problems that are solved with 1-10 lines of code but the initial attempt used 20-50 because the structure of the problem was not fully exploited, unnecessary passes over the da…

[deleted]

Re: Software Engineering Insights from 10 Years at Google

#144
post #139

Earlier quoted context omitted.

Ok. Let's put your theory to the test by making this more concrete:-) You are working as an Interviewer for a FAANG and the six candidates today for a SWE position are: - Linus Torvalds - John Carmack - Fabrice Bellard - Guido van Rossum - James Gosling - Donald Knuth What "puzzle" are you proposing?

The proof of their experience is publicly visible. That is not the case for most individuals, including me. FizzBuzz is not a puzzle solvable only with an obscure trick, and easily maps to real world, the buses problem too, and I can list more problems that are solved with 1-10 lines of code but the initial attempt used 20-50 because the structure of the problem was not fully exploited, unnecessary passes over the da…

If that is the case, why do experienced Software Engineers, have to spend again, weeks on LeetCode as soon as they decide to get back to the Interview circuit?

And why are so many competitive programmers,(not all) terrible Software Engineers?

https://kislayverma.com/organizations/competitive-programmin...

https://www.freecodecamp.org/news/mythbusting-competitive-pr...

Re: Software Engineering Insights from 10 Years at Google

#145
post #144

Earlier quoted context omitted.

The proof of their experience is publicly visible. That is not the case for most individuals, including me. FizzBuzz is not a puzzle solvable only with an obscure trick, and easily maps to real world, the buses problem too, and I can list more problems that are solved with 1-10 lines of code but the initial attempt used 20-50 because the structure of the problem was not fully exploited, unnecessary passes over the da…

If that is the case, why do experienced Software Engineers, have to spend again, weeks on LeetCode as soon as they decide to get back to the Interview circuit? And why are so many competitive programmers,(not all) terrible Software Engineers? https://kislayverma.com/organizations/competitive-programmin... https://www.freecodecamp.org/news/mythbusting-competitive-pr...

My first response focused on problems that do not require knowledge of any named algorithms, data structures, math or tricks. I even mentioned I do not care about heaps, linked lists etc. I'm not sure how we're back at LeetCode.

Of course you're going to have to spend weeks on LeetCode if interview questions target knowledge of dynamic programming, heaps etc.

You're preaching to the choir.

My point was that FizzBuzz might test individuals to see if they can code, but there are "harder" problems that happen on a daily basis, and the amount of years you put in will affect your ability to pattern match.

Competitive programming captures a part of the essence of programming, you're writing minimal, fast and efficient programs. You improve your pattern matching to minimize the amount of intermediate state, unnecessary loops etc. After some point, competitive nature pushes you to specialize, and then it probably stops making sense if you want to make programming your craft.

Re: Software Engineering Insights from 10 Years at Google

#146

Is there any evidence that Google is actually better at software engineering than other companies? IMHO, it seems they have enough money to deliberately do things inefficiently which would kill a smaller company, but Google can manage to succeed through brute force. Honestly I think the better example would be from a tiny company that can't afford to do things wrong.

Depends what you mean by "better at software engineering". What Google seems to do really well is building robust systems at a scale that pushes the limits of what humanity is capable of. If you collect anecdotes from engineers who've worked on scaling systems at the small number of companies at this scale, there seems to be general agreement that Google is "the best". My understanding from these anecdotes is that Go…

    Depends what you mean by "better at software engineering".
I'm willing to accept any definition relevant to the advice given. If "the best" means "have enough money to overcome obstacles others don't", then that's something, but lets keep the advice relevant.

Re: Software Engineering Insights from 10 Years at Google

#147
post #132

Earlier quoted context omitted.

To Google, a laptop is worthless compared to their intellectual property.

It's more the principle of the thing–if I wanted to steal code from Google their "no source code on laptops" policy wouldn't stop me at all. And given that I don't actually want to steal code the policy sucks, so the real question is what the benefit is here by treating me like a criminal.

It’s not that a google employee would steal the code, it’s that if a laptop is compromised the access to the source code can be immediately revoked. So if someone steals an employee’s laptop and coerces their password from them, the source code can not be accessed for long, and exactly what source code was seen is known.

Re: Software Engineering Insights from 10 Years at Google

#148

Earlier quoted context omitted.

Maybe 10 years ago when they were pushing the envelope. Nowadays, I just don’t see it to be honest. There are a few brilliant engineers for sure, but the new generation are mostly Leetcoders that brag about TC on another social network. You can see it in their open source code too. Critical bugs not fixed for an entire year. You read the code and it doesn’t stand out as anything out of the ordinary. I get the feeling…

I work at Google, and previously at Amazon, I was a bit upset reading your comment, but I have to be honest with myself, you are right. I "admire" more indiehackers and other technical founders than Staff Engineers and the like at Google. On the tech side you are also correct, the innovation at Google is minimal, we all work on somebody else's projects, promotion work and career development. Regarding interviewing, y…

> I'm jealous of people who find a real life problem and start a company to monetize a solution that actually help people.

What's stopping you?

Re: Software Engineering Insights from 10 Years at Google

#149
post #148

Earlier quoted context omitted.

I work at Google, and previously at Amazon, I was a bit upset reading your comment, but I have to be honest with myself, you are right. I "admire" more indiehackers and other technical founders than Staff Engineers and the like at Google. On the tech side you are also correct, the innovation at Google is minimal, we all work on somebody else's projects, promotion work and career development. Regarding interviewing, y…

> I'm jealous of people who find a real life problem and start a company to monetize a solution that actually help people. What's stopping you?

> find a real life problem

I haven't found a problem where I have any insight on how to solve

Re: Software Engineering Insights from 10 Years at Google

#150

Earlier quoted context omitted.

Maybe 10 years ago when they were pushing the envelope. Nowadays, I just don’t see it to be honest. There are a few brilliant engineers for sure, but the new generation are mostly Leetcoders that brag about TC on another social network. You can see it in their open source code too. Critical bugs not fixed for an entire year. You read the code and it doesn’t stand out as anything out of the ordinary. I get the feeling…

What does TC mean in this context ?

gtfo
Post reply on HN