If you asked me for interview advice as a software engineer, this is what I would have told you. To be honest, this is what I would have told my younger self if I could go back in time.
This may sound like weird advice but speak confidently. If you feel like you have to practice public speaking and speaking confidently, go ahead and do so. One tip is to speak in front of the mirror and yourself preaching.
Now, you may wonder why?
To be completely honest with you, when someone speaks confidently, it just makes me trust and like what they are saying even more. If someone is nervous, that can come across as:
I'm not sure
I'm lacking the knowledge
I don't know what I'm talking about
I'm not saying this is always the case, however, when speaking confidently, you come across better.
Be honest. Admit when you don't know things. Don't come up bullshit on the fly when you're asked something you don't know. It makes you come across as dishonest, and people will probably conclude that you're a liar.
By being honest, you're demonstrating that you're an honest individual, even when asked questions on the spot and you're expected to answer them.
You can admit that you don't know something, or that you're lacking knowledge. However, never stop there, always proceed explaining what your next steps would be to figure out the answer to the question.
Admitting that you don't know and replying with a nice question is also a good counter, it shows your eagerness to learn and understand that the interview is a conversation, not an interrogation.
Ask, then answer
When being asked a question, make sure you understand the question thoroughly. You don't always have to ask before answering, however, when a question is asked where it requires a solid answer from you, it is good to ask a question.
Make sure you and your interviewer are on the same page
Don't answer the question wrongly
Demonstrate that you don't blindly answer things and try to thoroughly understand before answering
Again, this isn't suitable all the time, but keep it in mind during the interview.
Should you prepare?
How much should you prepare?
Honestly, I'm not a fan of interview preparations. It is kinda like UFC fighters cutting weight just to make the weight during that hour.
I highly recommend using ChatGPT to give you different types of questions to test your knowledge.
Research the company
Research the company. Dig into their domain. Dig into what problems they are solving. Pick out the bits you like. Learn about their culture.
When being asked the question of why you would want to join the company, you should be able to answer it in a way that shows you genuinely believe in the company and wants to join it.
I'm not recommending joining companies you aren't interested in joining, however, if you do find yourself in such a situation, do the job on your part.
Of course, it is best if you can join a company whose domain you already know and the mission you legit believe in.
By the way, demonstrating your knowledge of the company's domain goes a long way, it will make you stand out compared to those that don't know much about the company.
Are there red flags to be aware of?
A good question you can ask yourself: Are you genuinely excited to work at this place? With these people? Do you think you would be happy working there? Removing the salary, is it a place you'd still be happy to work for?
In my opinion, here are red flags that wouldn't make me want to join a company:
The interview process isn't practical or anywhere close to what I will be doing at work
The questions I asked are not being thoroughly answered
The interview feels like an interrogation rather than a conversation
I don't get to see my future team members during the interview process
The interviewers are rude or make fun of me
The culture isn't collaborative. Fun fact, I once had a VP in an interview telling me he doesn't want his engineers to chit-chat but instead get shit done when I asked him about how pair and mob programming looks like in the company.
If a candidate asks questions, especially good ones, that demonstrates that they care about their careers and aren't just looking for another job.
If a candidate doesn't ask questions, that's a red flag on their side. Therefore, make sure to research the company and ask good questions.
Here are questions you could ask:
Where do you see your company in 5 years?
How are people working together, how does a typical day in the life looks like?
How do you make sure to build the right thing and work with the customers?
How have people grown in the company?
What's the most exciting part about working at your company?
How do you make sure team members get to connect, have fun, build relationships and prevent them from burning out?
After each interview, I strongly recommend you take notes and reflect. This is something many don't do.
What did you like about the interview?
Was there anything you didn't like?
What would you have done differently if you were given another week before doing the interview?
Would you have done anything differently on the other side of the table as the interviewer?
What do you need to learn? Did you discover any gaps in your knowledge?
Interviewing isn't easy. It can be stressful for many. However, crushing your interviews isn't impossible. Everything goes back to how you approach the interview and the strategy you take.
Go and get your dream job!