Interviewing Sucks

warning: below is some privileged ranting. if you don’t want to hear it, move on along. don’t say i didn’t warn you.

nobody likes interviewing. it’s a stressful, high-stakes situation that can make or break your career. it’s a necessary evil, but it doesn’t have to be so bad. here are some tips to make the process a little less painful.

i’ve been on both sides of the table, as an interviewer and an interviewee. i’ve seen the good, the bad, and the ugly. here are some tips to help you ace your next interview.

:Copilot disable

i was really curious what copilot might autocomplete this blog with, and it came up with that. i am not really impressed, but i’m also not surprised. seems a lot of folks want tips on how to ace interviews—or at least that is what copilot wants me to think, i guess.

i’m not going to share tips. i’m mostly just annoyed with the process, you know, having “been on both sides of the table”.

there are definitely two camps of interviews, the side where they want to know if you think your shit don’t stink. at least, that’s what i call it when they want to just quiz and drill you over computer science fundamentals. to a small extent, i think it’s a good idea, but otherwise, it’s horseshit.

it seems only the big companies really stick to this method of interviewing. which is funny, because a while back, i read somewhere, probably linkedin, about how startups will choose engineers from big tech companies because they’ve already been through the rigorously interview process—they are certified pre-owned software engineers.

i thought that was really funny and it has since stuck with me. early in my career, i had worked at some startups and smaller companies. interviewing for them was usually very practical about the job i was applying to do. for example, i would be working with mysql a bunch in one job, so they had me come in and do some basic things with a mysql db, eg, enable replication or something like that. or if i was writing math problems in java, did i know math? it wasn’t until i got an interview at amazon that things were very different.

in my interview there, it was all datastructures and algorithms. one of my questions that i remember clearly, because i felt i didn’t do “well” on, was create an LRU cache from scratch and describe all the data structures and how you would implement those. i didn’t study computer science in college, i studied math, but i did know amazon would ask questions like this, so i definitely did a lot of studying.

it was a ton of studying, too. i spent basically a month, 8 hours a day, preparing for that interview. i didn’t even do that great, because, there’s a lot of computer science out there to study.

and really, i wasn’t expecting much from that interview. to me, it was an all-expenses paid weekend in seattle. that was really fun for me. so after my interview, i had that to fall back on, and enjoyed my weekend i did, because how often do i get to go to seattle? anyway, a few days later, i was hugely surprised when the recruiter called back and wanted to discuss next steps.

and then i worked at amazon for a little while… it was exciting because machine learning was new, amazon is one of the biggest websites in the world, there were principal engineers discussing amazing and cutting edge topics.

and was i working on cutting edge computer science? i was on a team working a java spring microservice, that would read post data, write to a database, and send a notification on SNS.

i did not use an algorithm ever. not really that i could remember. it was probably one of the least complicated jobs i held up until that point. my job writing math practice problems was more complicated and so much more fun. but at my previous job, i was not getting regular emails from recruiters on linkedin. while at amazon, i was getting emails from recruiters regularly.

i was a certified pre-owned software engineer.

since amazon, i haven’t really gone through too many interivews requiring major datastructures and algorithms. the few times i have, i have not done great because i did not do the studying required to do well in those interviews. some of them, i flat out bombed. but other companies, usually smaller ones, had less technical approaches to their interviews, while still being very in-depth. i much prefer talking about my experience and the projects i’ve worked on than implementing balanced binary trees or path finding algorithms.

and honestly, i feel like those work so much better at understanding someones depth and knowledge in a topic. the few times i did implement some algorithm or datastructure, i never did it from scratch, and there were so many tests and use cases that have to be implemented as well that, doing that yourself, is not really a good strategy anyway.

so it’s kind of surprising and frustrating to me when going through interviews that so much emphasis is put on simply cramming fundamentals that nobody uses.