I’m starting to think I should just do something else other than software dev for my career. I used to like this stuff, but now algo questions just make me feel dumb and stressed out.
I felt like I was at least average in college and had solid internships, finding I sort of hate this stuff post college - feeling lost?
Any advice is appreciated.
If you are doubting your capability ... don't. You are capable of this, period. You know the drill: study Sedgewick/whomever, do LC problems, make sure you understand graphs and DP, etc., etc. The interview process these days is bullshit, it just is. Build those interview muscles.
Also, make sure you properly are managing the usual life stuff: diet, exercise, sleep, meditation, etc. Don't discount those factors.
Now, that said, if you are questioning whether spending the next 6 months of your life studying algorithms -- or, for that matter, the next 30 years of your life doing the software engineering hustle -- is the best way to spend your time/life/energy, that's a very important question, and I can relate. Time spent doing one thing is time you won't spend doing something else. You have one life to live and you have to get real with yourself how you want to live it. If you eventually pivot, OK, but pivot thoughtfully, and for the right reasons. But I don't think you should make the mistake of thinking lack of capability is a factor here.
How much time do you spend preparing for non-technical phone screens & behavioral interviews?
When I interview a candidate what I'm looking for is creative thinking, ability to solve problems. I like to hear about programming challenges you have faced, and how you solved them, or creative ways you've found to make processes more efficient. I'll ask you to describe some complex system you built in simple terms. I'll ask about ways you've found to save the company money, or use fewer resources.
Even if your interviewers don't ask you these, you can work them into your answers and really set yourself apart from other candidates who only know algo and nothing else. An easy way to word these if you're no Shakespeare is to use the SAR (situation, action, result) format. For example:
Interviewer: Tell me about a major project you led [that saved the company money|made operations more efficient]
You: At my last company, we had a series of 100 web crawlers running on EC2 at a cost of $5000 per month. I realized that they sat idle 80% of the time since requests were unpredictable. I changed the architecture to make use of AWS Lambda instead, and reduced overall compute costs by 40%, while reducing a potential security risk.
First, if you aren't looking up what questions they are going to ask on the internet you're doing it wrong. Obv, not every company has had people post the questions online, but if they're up you should read through them.
When you tell your stories, make sure each story has a beginning, middle, and end... too often people lose track of their point towards the end and just keep on going on.
Depends on the company, but dropping the names of packages and frameworks gives companies some familiar ground to evaluate you. The guy that hired me at my last company actually referenced that as a deciding factor for him. I think we can all admit there is a trendiness to our work sometimes.
It's also really important to force the interview into a conversation... you need to be asking questions throughout the process as well, and making them have to think about how they should be impressing you too. You should be "Interviewing the Interviewer"... This is important because talented people are more worried where they will end up for a few years. It's also a signal that you aren't desperate.
These are good places to start:
https://www.keyvalues.com/
https://github.com/poteto/hiring-without-whiteboards
I’m actually a bit relieved to read this, a few weeks back a third-party recruiter submitted me to a pretty well paying Senior DevOps role at a massive fintech company. Their overview and write up of the role was pretty minimal, so I agreed to be submitted hoping to learn more.
The very first interaction from them was a no-reply@ email from HackerRank. I didn’t even know who the internal recruiter was, not even a “Hi my name is blah you, we got your resume from agency” email from a warm blooded human being. Straight to coding test.
If it weren’t for an email address in the HackerRank invitation to contact their recruiting team if the test failed to load or some other issue taking said test, I would have had no means of contacting them.
I sent a polite email thanking them for considering me, and that I’d be happy to help them assess my skills but only after learning more about the company, the team I’d be hired into and having at least a nice to meet you conversation.
They declined, I removed myself from consideration.
Wondered off and on if that was the right call, eventually got over it...but that practice just didn’t sit well with me at the time.
I do genuinely enjoy building things, just had a run of bad luck with my team at a FAANG being gutted and losing my job without a year under my belt. Algo was never a strong suit - still trying to figure out better ways to improve solely to make it through interviews.
Fortunately I can get interviews and make it through provisional screens. Most of my let downs have been in second round screens or on-sites.
There's an enormous github repo <https://github.com/poteto/hiring-without-whiteboards> dedicated to highlighting companies that don't do "whiteboarding", which means "the kinds of CS trivia questions that are associated with bad interview practices."
I didn't read through this reddit post but it might also have some good resources: <https://www.reddit.com/r/cscareerquestions/comments/532yjp/w....
I don't have a CS degree, I did some self-teaching off-and-on for about 5 years, did a bootcamp 3 years ago, and have had a decent career since then. I say that to say this: you're probably better than me at this stuff, so to repeat, the problem isn't you, it's the interview process.
Don't be discouraged, stick with it and make sure you push back against this screwed up culture when you gain experience and have the opportunity to make hiring decisions.
And even when they are specific, it's not very accurate since there's a game of telephone from the person administering the test and the recuriter.
I study hard, I learn new languages and skills, only to get a completely different test. If I'm studying for the LSAT and am handed the MCAT, it's not a realistic indication of performance.
Same here. Anytime I'm put on the spot in any context, whether it's interviews or when a teacher calls on me in class, my brain goes blank. Fight or flight? Or just panic? ¯\_(ツ)_/¯
Some companies (for example Apple) won't even give you any hr interview they just call and say "let's go through some tech questions" and some guy starts asking you everything you've learnt in uni over 30mins. Others ask you to do a project at home and present it to them. Most commonly they send you a hackerrank which even if you smash there is always the chance you won't hear from them.
Last bit brings me to my next point, recruiters don't see you as anything more than a resource and will change their mind at any point during the process. Recently I had a call with a company's HR they were super impressed and wanted to invite me in for face-to-face and said they will inform me their availability asap... well that was 3 weeks ago and haven't heard back.
My advice is don't get discouraged or believe anything a recruiter tells you. Once I asked for a very reasonable salary for my experience and the recruiter got pissed off telling me even seniors don't make this in their company. Well guess what the next recruiter that called I got offered position for this exact money I asked for with no questions asked.
Just keep applying and slowly improve your problem solving skills and eventually you will land the right position. Most Interviews are extremely unrealistic anyway and even if you fail it doesn't mean anything about your skills, just means they found someone who would work for them for less money... Keep trying and best of luck!
Stay strong, OP.