HACKER Q&A
📣 throwaway494844

What do I do? I love writing software but hate these interviews?


- Throwaway account because I'm pretty easily identifiable XD

- Backstory: I resigned from a great job at a great company a few months ago (was just kinda tired and wanted a change).

- I have recently dipped my toes back into the water, interviewing at a few places that I think I'd be a good fit for (from the outside looking in).

- I don't take the "kill spray" approach to interviewing. I do genuinely make an attempt to submit a thoughtful application to a company where I think the fit (for both parties) is real.

- I'd say I've had about 3 interviews reach the initial stages of a system design/architecture interview.

   - This is actually a big deal for me because unlike a lot of others, I choose to not pursue interviews that require LeetCode/HackerRank/etc (I have several years of experience at companies you've heard of, and have thousands of lines of public OSS code in various languages).
- However, my interview experiences are ... awful.

- During a system design interview a week or two ago, the interview did not lead the interview. Don't get me wrong, having been on both sides of this interview, I understand the point of them - you have to show tradeoffs, start small, scale up, talk about alternatives, etc. However, the interview did not lead the conversation whatsoever. I'm asking the interviewer "I'm happy to talk about XYZ or happy to talk about scaling this up if you prefer" - the interviewer just kinda shrugs.

- This isn't a one-off thing. I've noticed that generally the interviews are horrible :'( -- arbitrary interview loop sizes (4? 5? 6?) - hard pass. Arbitrary success metrics because "I just want to see how you think" - um no.

- I hope I don't sound like too much of a baby HN, but I'm literally on the edge and am thinking maybe after just 7 years of software (during the golden easy money years) maybe it's time to switch to something else? I simply cannot continue to subject myself to these extremely ambiguous, grey interviews where it seems determining my ability to write production software is the _last_ thing on the list they're checking for.

- It would be helpful to get a kick in the ass from someone, or to get some perspective because I simply don't understand how I can get new job, if I can't even find an interview loop I actually want to do.

- Mind you, the worst interviews I'm referring to above tend to be from medium to large size companies. For smaller companies/startups I've noticed the interviews are still pretty fair and decent.

- Any advice is greatly appreciated.


  👤 harryquach Accepted Answer ✓
Software engineering interviews are broken. I have been casually looking and interviewed a few places. All of which have been terrible experiences.

I recently applied for a startup who is active on HN. The first step was a take-home challenge which I spend a decent amount of time completing. My solution executed all provided test cases and I thought it was pretty clever. I received a rejection saying it didn't pass an internal test case, no other details provided.

Not sure what the solution is to a better interview and hiring experience but I commiserate with your sentiment.


👤 ttymck
I'm not sure what you want to hear. (but I know I want to hear the same thing)

Most software companies are terrible places to work. If I try to have a conversation with an interviewer and they shrug, I probably don't want to work there. And it turns out that's most companies.

What do we do? There's nothing to do. There's no alternative. It's just utterly depressing.


👤 hnfong
I read your story and the only thing I can think of is: I have no idea how to "properly" interview you, and I don't think anyone knows how to either (except maybe just reading your CV, having a pleasant chat with you for 30 minutes, then handing you the job).

All this ranting seems to be against a one-off event into a (presumably) multi-year gig.

Switching careers just because of a couple bad interview experiences is a really interesting line of thought, but assuming you actually act upon the idea (instead of just dwelling on it because you thought software interviews are bad), maybe in the process you'll gain a bit more perspective of how good or bad the software industry is doing w.r.t. interviews as compared to other industries.

Don't worry about sounding like too much of a baby on HN, it seems everyone else here also wants to be fawned upon by random strangers in the interview process and have a list of a dozen things they would absolutely not tolerate during the process.

Madness, if you ask me.


👤 techdragon
My very biased advice is leverage your public work, and just go freelance. You have to develop some other skills like networking if you want to avoid the meat market freelancing job sites… oh and don’t do websites unless there’s something other than the website involved, or they agree up front to a minimum hour per week maintenance deal (like they will pay 1 billable hour per week regardless of if they talk to you at all, to cover your time spent keeping on top of patches and security) there’s so little value add in website building that you quickly find people constantly using up your time asking for trivial changes that without a maintenance deal will start to make the customer resent paying for them and it’s not worth the headaches…

There’s a lot of good money out there for people with experience who are willing to help small businesses who have sufficient IT skills to have reached the point where they want to automate and improve their workflows and management processes, who don’t feel the off the shelf products like excel, Airtable, etc, are a good fit or do the job they need, and who are willing to either pay either hourly for the work or enough per contact that it’s worth the risk you’ve estimated wrong…

This is obviously much harder in the USA due to the symbiotic (being generous about the positive connotations) nature of employment and healthcare.


👤 atleastoptimal
I am probably in the minority but I actually like Leetcode style interviews and to a lesser extent system design interviews. I think they stick to this style, even if it isn't ideal, because

1. Easier to judge general capacity to break down problems/think on a smaller problem that doesn't require as much prior knowledge

2. Easier to distribute the range of people who can conduct interviews, rather than needing a specifically competent senior engineer whose time is more valuable

3. Consistent style and non-leading interviewers make it easier to compare interviewees on a case-by-case basis rather than there being a risk that certain interviewers style lends candidates performing better/worse

As bad as it is, one good interview round and you're set for a very high paying job for the next 5+ years at a company with great benefits. Even with the shittiest interviews I think it's a good trade off.


👤 clarity20
Offer to streamline the recruitment/interviewing pipeline for the company(s) in question. Tell them you will give them a technical introduction to your public projects (choosing just the 1 or 2 projects that present your skills in the best light). Additionally, tell them you are happy to analyze and evaluate any code they might be interested in presenting to you.

Be prepared to discuss the good, the bad and the ugly concerning the evolution of your projects over time.

A company willing to sideline their generic process or at least adapt it in light of these suggestions, is a cut above as an employer, and they should understand that an approach like this makes it easier for you and them both.

A company unwilling to at least tweak their process a little bit is a company you probably don't want to work for.


👤 tacostakohashi
It sounds like you don't really understand how companies and recruitment work.

Companies are machines, and the employees are cogs. When recruiting for a new cog, they will cast a net, get a few hundred applicants, then whittle it down using their process (which probably includes a bunch of interview rounds and some dumb exercises).

They are not looking for unique snowflakes, so your thoughtful application just creates extra reading and work for them.

Of course, they are not looking for robots either, so if you have some extra abilities on top of the basics that will make you stand out, but you cannot side-step the usual process and have to jump through the basic hoops and to get that far.

The exceptions are at smaller companies / regional locations, or if you have some connections or unique and deep skills (e.g. you invented X, wrote the book on Y, etc.)


👤 diwcoder
I have been interviewing intermittently for a few months and I can completely empathize with what you are experiencing. It has been around 10 years since I had to do any real interviews. What is expected and accepted now is way over the top, and really feels disrespectful how much time some of these companies expect you to spend interviewing with them. Some companies are definitely better than others though.

For the worst ones, the interviewers act like you should know what they want you to do already. I'm guessing because there is so much information about tech interviews out there. One of my first interviews they opened an online IDE with 15 minutes left in the interview, showed me how to write code it in and use the command line there, then told me to build a GitHub clone with such and such features. That left me completely flustered because I took what he was asking quite literally.

The best interviews I've had so far they send information about the interview beforehand that explains what it will cover, what they are looking for, who I will be speaking to, etc. I don't know if we are allowed to name names here, but I would like to give a shout out to Cisco Meraki. They definitely had the best interviewing process I've been through so far.

Mainly, the problem is that things are so competitive right now as far as getting jobs. If things were normal I would just focus on the companies that had a sane process and ignore the rest. My strategy right now is to take any interview right now and treat it as practice since I am really bad at interviews, and hope I do well with the companies that actually seem like a good fit. I don't think I would accept an offer from a company that put me through the ringer though.

I run my own business right now, and I really like having to tackle all aspects of it, which has led me to also consider trying a different field of work. The problem is that none of them seem to pay nearly as well as being a software engineer. In your case, I would just keep doing whatever interviews you can. Do the terrible interview loops with the knowledge in the back of your mind that you would never actually accept the job offer. Then when a good interview loop comes along, it will seem all the sweeter and you'll be ready to ace it.


👤 nextos
I have attended some cool interviews for niche openings in business and academia, where there were one or two stages only, no LeetCode, and no other strings attached. These were all EU-based or remote. Basically, I had to discuss some my prior work, including architectural and implementation decisions, with particular pointers to code.

For example, one was at a new Haskell group in a Swedish SME based in Skåne. Another one was for a permanent scientist position in a prominent UK university.

Questions were constructive, interviewers had clearly gone through my CV in detail, and they were also interested in selling me the advantages of the job opening. Since I also have quite a lot of experience and some public code, they had neither time nor interest in testing what I know through coding problems.

Pay at EU is a bit lower than what you are used to, but these might have other kinds of benefits.


👤 paulcole
Do you like working as a programmer and being (presumably) very well compensated for it more than you dislike the interviews you’re doing?

Either way, there’s your answer.

Or you can always start a company and interview/hire people The Right Way.


👤 Dig1t
>I don't take the "kill spray" approach to interviewing

Sadly this is the only option nowadays if you seriously want a job. Instead of the interviewee being picky and only selecting the jobs they think nicely fit their personality, the right approach is to just apply to all jobs that fit your skill set. Interviewing is a skill that you have to practice, and the best practice is by just doing a lot of real interviews. A good strategy is to front-load the companies you are not very excited about, practice on them and if you get turned down it doesn't matter. Then when you get to the companies you are actually interested in you will have had lots of practice interviewing and have better odds.

At the end you'll hopefully be left with a few offers and you can decide if you want to actually work at any of those companies. If you don't then just politely turn them down and keep interviewing at more companies. It also helps to have offers in hand from other companies when applying at new companies, you'll get better/faster treatment because they know you have a deadline.


👤 ktpsns
I run two software companies and we don't do any of these interviews there. I see no need — any normal discussion and probably a code review done together can cover it. When you apply for jobs, look out for these companies. And write that you won't participate in any of these gone-mad interviews.

👤 thebigspacefuck
Maybe it is time you start a company where anyone that has written OSS or worked at a company you’ve heard of gets a free pass to join the company? If you can be successful I’m sure many people will adopt this as their hiring process.

👤 Souzana
I've had the same thing happened to me, were the interviewer was asking arbitrary and sometimes very general questions without much care to discuss anything, which looked quite strange to me. He didn't want to be there, that was my impression.

I believe the reason is that he/they don't really want to hire, they just have to do the interview for some reason. It's this kind of company were the job ad stays up for like 6 months straight, it becomes obvious at some point that they don't want to hire anyone.


👤 pg_1234
If you're good, freelance/contract.

The companies don't need to vet you as thoroughly as a permanent hire.

Once they know you're good, and you know they know, the power balance changes because they don't want to loose you.

After the end of the first contract cycle, line up competing options and be prepared to walk away, but you may not need to, because from there on you dictate what it will cost to keep you.


👤 badpun
> - Mind you, the worst interviews I'm referring to above tend to be from medium to large size companies. For smaller companies/startups I've noticed the interviews are still pretty fair and decent.

Why don't you, instead of changing fields, just apply to those smaller companies?


👤 b20000
i have 20 years of experience and probably 100k lines of code across 40 repos and i have found no way around the leetcode BS so i have decided to no longer apply for anything and focus on my business.

👤 meiraleal
Work for yourself. It is easier to create a product that makes money nowadays than find a job so create products.