Live data from Hacker News

I interviewed at six top companies in Silicon Valley in six days

blog.usejournal.com

471–480 of 740 posts

Re: I interviewed at six top companies in Silicon Valley in six days

#471

Earlier quoted context omitted.

Honestly, it sounds like you may be geared more towards software architecture rather than software development. If you like the sound of the bigger picture more than the details, it might be something you could look into.

Is it possible to even get into software architecture without pretty significant experience? From my experience in the workplace anybody making purely architectural decisions without having to implement them is a team lead or higher in the organizational architecture.

No I wouldn’t think so. But knowing about a role and angling towards it early if that sounds more interesting is hopefully helpful information.

Re: I interviewed at six top companies in Silicon Valley in six days

#472

Earlier quoted context omitted.

The technical interviewing scheme is not great, but I haven't seen another system that works. > I cannot help but think that these big tech companies (FAANG, et. al) are missing out on diversifying and increasing their engineering expertise by passing over developers like you. I think this is certainly true. > I often think what would Google/Facebook would be like if they hired in some experienced engineers that may…

Many acqui hires get interviewed again. Most acqui hires are a business deal for the company's business.

Does any other company than Google interview acqui-hires?

I’ve never heard of any other company doing this, but I haven’t been looking especially carefully.

Re: I interviewed at six top companies in Silicon Valley in six days

#473

Earlier quoted context omitted.

Honestly, it sounds like you may be geared more towards software architecture rather than software development. If you like the sound of the bigger picture more than the details, it might be something you could look into.

If you can't handle simple data structures problems you need to stay far, far away from software architecture.

Parent was discussing not being interested in algo design, rather than not knowing data structures.

Re: I interviewed at six top companies in Silicon Valley in six days

#474

When I was a new college grad, I felt trapped by the fact that everywhere I looked they wanted several years of experience, and I had none yet. How can I get experience if it's required to get the job? Now that I am 51, I feel annoyed that all of these stories of interviews involve asking questions about algorithms that rarely come up in real coding, and if they do you should NOT be rolling your own code, you should…

This all comes down to what the company is optimizing for. Everybody here seems to assume they are trying to filter for the good candidates...but what they are actually trying to do with these kind of interviews is filter out the bad ones! Because the damage when hiring a bad candidate is much higher than the damage from missing out on a good one!

Nope. They're neither filtering in good ones or filtering out bad ones. They're filtering for people who find a way to hit whatever arbitrary metric the Company sets up as "success", and these people will have many more chances to practice this "skill" in subsequent self reviews and metrics hacking. They also end up running the Company and hiring more like themselves.

Re: I interviewed at six top companies in Silicon Valley in six days

#475

Earlier quoted context omitted.

Reiterating my view, I feel like the interviewing grind has become akin to gymming - you go to your mental gym, build up your 'muscles' by doing pointless repetitive tasks AKA algorithms you'd never use in real life (probably like how bodybuilders would never need to deadlift 125kgs in their daily life). It doesn't directly help you do your job but you know bodybuilders have higher than average fitness levels. So in…

It is also a form of “proof of work”. If you are willing to go to the lengths of learning these things, maybe you’ll be able to learn other things that are harder to assess during an interview.

In that case, we should just get candidates to weave wicker baskets.

Re: I interviewed at six top companies in Silicon Valley in six days

#476
post #412

Earlier quoted context omitted.

Well, first of all, define "sanity check". About trial periods, there are places that do those, and a lot of people hate it. There is a lot of risk involved in leaving a permanent gig to "try out" for another one. If they let you go at the end of the trial period then you're out on your ass. I personally would never do this if I were already employed- there's nothing in it for me but downside. But more broadly, lots…

Sanity check for me is what every company in almost every field do. Basically the main reason for interviews to exists. To confirm that what's on the CV and so on seem accurate using an in-person interview. Assuming that you're American, what do you even mean by the risk of a trial? Aren't you guys on a permanent trial period with your labour laws?

[deleted]

Re: I interviewed at six top companies in Silicon Valley in six days

#477

Earlier quoted context omitted.

This is such a cop out. It took millennia to invent 0. That doesn't mean that 0 is an exceedingly difficult concept to grasp.

I also use 0 every day. Do you use the BFS every day?

Absolutely! I don't write the algorithm every day, but I interact graphs, trees, and other such structures on a daily basis in my job, and traversing them is something that I work on. Every time I run `rm -r` for example!

I'm not asked to implement BFS every day, but the concept of a tree traversal is incredibly common.

Even more explicitly, a lot of my recent work has been involving automated refactoring tooling, so there's lots of work with abstract syntax trees and control flow graphs, which are trees or graphs, and therefore need be traversed.

Re: I interviewed at six top companies in Silicon Valley in six days

#478
post #416

Earlier quoted context omitted.

That depends on what is meant by software architecture. If you mean the structuring of a system to achieve good or (particularly) consistent worst-case performance, maybe you are right. But if architecture is used to mean the design of a system to satisfy users (and present a clean, extensible, meaningful interface) then it's really a conceptual job that has more to do with design skills than optimized algorithms.

Being able to make a clean interface, as in a clean API, or useful one, is a data structures/algorithms problem and often a distributed systems problem. Many API's are technically impossible to use correctly. For example they might not let you do two things atomically that need to be. Or they might suffer enormously because they don't version their information properly, resulting in client/server disagreements over t…

Designing something on an architectural level really isn't always a data structures and algorithms problem. Take the web, for example. REST isn't complicated, but it does the job and it opened up more possibilities than any other invention since timesharing.

As other commenters have noted, choosing an architecture for a system may have more to do with vision, common sense, and even imagination. And the web is such a great example of this, maybe the classic example. As you probably know, it's possible to write a webserver without having a clue about fancy data structures or algorithms. It's the imaginative composition of pre-existing features that creates the architecture.

Another example would be the extensibility of Emacs through elisp. Consider the notion of hooks which essentially allow utility functions to be customized by the user. It's a purely architectural concept.

Or the Unix philosophy: small utilities that read and write text, linked by pipes. Really no algorithmic complexity to it at all.

It feels problematic to me that you are saying to someone that they "need to stay far, far away" from some aspect of computing. It's a kind of gatekeeping. Sure, an outfit like NASA needs to make sure that they don't have amateurs writing their systems software. But in the industry more broadly, people have to be given permission to pursue whatever interests them. It's important, for diversity and the invention of new applications, that "differently able" coders aren't told, by intimidating stereotypical computer science types, that they don't have the aptitude to architect a useful system, or that it's "a rule" that people with their skills will just create problems.

Vision and a perspective that differs from the norm are a lot rarer and potentially more valuable than the ability to apply software engineering principles. Architecture, in the broadest sense, is precisely the area where these "outside the box" contributions are likely to be valuable. Consider the invention of the Wiki. It came out of the pattern language world, it was a hugely beneficial innovation, and it has almost zero data structures/algorithms complexity behind it.

I'd even argue that the examples of pitfalls that you list are more clerical matters of systems programming than cases where architectural design principles are lacking.

(And even the professionals who can reliably grind out working code for large systems can get the architecture spectacularly wrong, as the case of the X window system: http://web.archive.org/web/20170920104011/https://minnie.tuh... )

Re: I interviewed at six top companies in Silicon Valley in six days

#479
post #329

Earlier quoted context omitted.

Is BFS really that hard, especially if the interviewer is willing to talk it out with you and doesn't care a lot about finding the most efficient solution possible? I've been out of college more than 10 years now, do a mix of hardware and software (so am not coding all day everyday) and I can hack together algorithms like BFS if I spend a couple of minutes thinking about it. I get that there are many awful interviewe…

You and a lot of other commenters are getting hung up on the BFS example. It's just that - an example. There are dozens of algorithms that are "common" enough to be asked about and diminishing returns to having them all memorized.

Except you don't need to have them _memorized_. You shouldn't. That's not the point.

Re: I interviewed at six top companies in Silicon Valley in six days

#480

> If it’s of any use: I was interviewing for my second job out of college with about two and a half years of experience without any particularly notable internships or employers on my resume; I went to a very small school that had zero known software companies at their “career fair”; I started preparing in late April and started applying in June/July; and, lastly, a few months in, my job is everything I could have po…

I cannot help but think that these big tech companies (FAANG, et. al) are missing out on diversifying and increasing their engineering expertise by passing over developers like you. I often think what would Google/Facebook would be like if they hired in some experienced engineers that may not be able to whiteboard a BFS tree or can tell you Djikstra's algorithm, but have proven business track records of getting proje…

Have you considered that there are enough people who can both whiteboard a BFS tree and get stuff done that Google doesn’t need to hire people who can do the latter but not the former?
Post reply on HN