I’ve been conducting tech interviews, primarily focusing on backend and frontend technologies, for quite some time across my current and previous companies, as well as working as an external consultant. While I don’t claim to know everything or have encountered every scenario, I’d like to share my perspective and offer my recommendations.
Although I haven’t personally interviewed or been interviewed at large FANG-like companies — where the technical interview process is typically a multistep affair — my experience is rooted in small to medium-sized companies, such as digital agencies and startups. In these environments, personal attributes can be just as important as technical skills.
It’s crucial to acknowledge that no single approach will work in every situation, as each interviewee is unique. Different qualities may be prioritized based on personal preferences and specific job requirements.
Personally, I prefer not to conduct “quiz” style interviews, where I ask questions from a list expecting a precise definition or correct answer. I could make these questions challenging enough that candidates wouldn’t stand a chance, but the goal shouldn’t be to highlight what someone doesn’t know. Instead, it should be about gaining insights into their knowledge and skills and if those match the expectations of the company. I much prefer steering the interview into a discussion about topics we are both presumably passionate about. While knowledge and experience are always more important than a pleasant conversation, a good discussion provides candidates with the opportunity to guide the interview’s direction and present themselves in the best light.
TL;DR
Express your enthusiasm for the role, the technologies you work with, and your overall interest in the tech industry.
Note: This article focuses solely on the technical aspect of interviews, excluding HR interviews, which are outside the scope of this discussion.
Before the interview
Do your homework
The outcome of a tech interview is influenced not only by your knowledge but also by how prepared you are. It’s crucial to do your homework beforehand. Try to find out who will be conducting your interview. Often, this information is included in the meeting invitation, or you’ll be informed when the meeting is arranged.
The internet is an invaluable resource for researching your interviewer. You can often discover what technologies they specialize in or what projects they have worked on. For example, if you learn that a database expert will be interviewing you, it would be beneficial to review some articles or watch YouTube videos about databases. Similarly, if your interviewer is a Java Tech Lead, it might be helpful to brush up on design patterns.
Being well-prepared not only demonstrates your interest in the position but also helps you tailor your responses to align with the interviewer’s expertise, potentially making a stronger impression.
Remote or In-Person?
While most interviews today are conducted via video calls, I personally recommend attending in person if possible. Traveling a significant distance, such as 200 kilometers, can demonstrate your motivation and commitment to the role. Although making the trip won’t automatically secure you the job, it can distinguish you from other candidates in a close decision. Such efforts can be persuasive, and sometimes companies may even reimburse your travel expenses.
Additionally, visiting in person allows you to get a sense of the company’s environment. You can observe the workplace atmosphere, see how the team interacts, and gain insights into the company culture, which can be invaluable in determining if the company is the right fit for you. Moreover, being there in person gives the interviewers a chance to get to know you beyond your resume and digital presence, allowing for a more personal connection.
Of course, this advice is more practical for regional travel and not intended for situations that require international flights.
You Will Be Judged on What They See, So Get Ready
If You’re Doing It Online:
1. Turn on the Camera: Make sure your camera is on. Interviewers want to see who they’re talking to, as body language is often more telling than words. If they can’t see you, it’s like filtering out much of what you want to convey.
2. Clean Your Space and Optimize Lighting: Ensure the area visible on camera is tidy and well-lit. While no one expects a YouTube studio setup, having a pile of dirty laundry in the background or bright sunlight obscuring your face won’t help your case.
3. Dress and Groom Appropriately: Dress as if you were attending an in-person meeting. Comb your hair and wear professional attire to make a good first impression.
If You’re Doing It In Person:
1. Punctuality: Arrive on time. Being late can create a negative first impression.
2. Dress Appropriately: While a white shirt and tie may not be necessary, aim to present yourself in a way that reflects both your personality and the role you are applying for. Dressing appropriately shows respect for the interview process and helps you represent yourself well.
During the Interview
Small Talk
While I’m generally not a small-talk person, I’ve been working on improving in this area :). Small talk isn’t inherently bad; in fact, it can be a great way to ease into the interview and create a more relaxed atmosphere. Typically, the interviewer will lead with small talk, perhaps asking about your day or an interesting detail from your CV.
However, don’t hesitate to initiate a non-interview-related question yourself. For example, you might mention a newly released app the company has developed, which you noticed on LinkedIn. This shows that you’re informed about the company and engaged with its work. Just make sure your small talk is genuine and not forced; if it feels unnatural, it’s better to skip it altogether.
A Good Interview Is a Discussion, Not Just Q&A
A successful interview should feel like a discussion about topics you both are passionate about, rather than a simple question-and-answer session.
Here are some tips to keep in mind:
• Expand on Your Answers: Avoid giving one-word answers. Each question is an opportunity to demonstrate your skills and knowledge. Even if you’re unsure of the answer, ask for clarification or for the question to be rephrased. Sometimes you might know the answer but under a different term. If they explain it, you can engage in a discussion that might lead to a topic you are familiar with, and you might even learn something new in the process.
• Avoid Monologues: While it’s important to showcase your expertise, long monologues can be counterproductive. If your responses prevent the interviewer from asking more than a few questions, you might not be effectively communicating. Aim for a balance — if your answer sparks an engaging discussion, that’s a positive sign. However, if you’re the only one talking for an extended period, it might be time to wrap up and keep it more concise.
Nobody Knows Everything — Don’t Pretend You Do
Interviewers don’t expect you to have all the answers. They do, however, expect you to have a solid understanding of your field and the specific area in which you would be working. The tech world is vast, and it’s impossible to know everything.
Be confident in your knowledge, but also aware of your limits. Don’t let imposter syndrome take over, but equally, don’t resort to pretending you know something when you don’t. If you’re unfamiliar with a topic, it’s perfectly acceptable to admit it. Honesty is valued, and acknowledging what you don’t know can also open up opportunities for learning and discussion.
Get Ready to Show Your Work
Demonstrating your past work can effectively highlight your skills and strengths, allowing you to focus more on what you know rather than answering quiz-like questions that might expose gaps in your knowledge. While this approach isn’t always applicable — some interviewers may not be interested in reviewing your work — it’s beneficial to be prepared to showcase your abilities if the opportunity arises.
• Side Projects: If you’ve been working on an application as a side project, be ready to present it.
• Freelance or Personal Work: Have you created a website for a family member’s business? Share it!
• Challenging Features: If you’ve implemented a particularly challenging feature in a previous project, mention it!
Always be mindful of confidentiality and ensure that any work you present does not disclose sensitive or proprietary information.
Don’t Present Others’ Work as Your Own
It’s tempting to discuss a fascinating project you’ve been involved in, even if your role was limited to fixing minor issues or creating an email template. It’s perfectly acceptable to talk about the project, but be honest about your contributions. Claiming more than you did can backfire, especially if the interviewer delves deeper with questions.
Instead, focus on what you actually accomplished and use that as a springboard to discuss what you might have done differently if you had more involvement. Proposing ideas and demonstrating your understanding of the project can show your enthusiasm and insight.
If there were aspects of the project you didn’t enjoy, it’s okay to mention that, provided your reasons are professional and not personal. For instance, saying, “I didn’t enjoy it because it was built with WordPress, and I felt it wasn’t the best choice because…” can be appropriate. Just be sure to keep the conversation constructive and focused on technical or strategic reasons.
Ask Questions
Engage with your interviewers by asking questions related to the technical topics discussed. For instance, if they inquire about your experience with a particular technology, it’s perfectly acceptable to ask if the company currently uses it or plans to incorporate it into their projects. This not only demonstrates your interest in the topic but also your willingness to learn and adapt, while giving you insight into what you might be working with in the future.
Don’t hesitate to ask non-technical questions as well. Inquire about the team you’ll be working with, the nature of the project, and the tech stack involved. These questions reflect your genuine interest in the position and can help you better understand the work environment and expectations.
They Should Want to Work with You, Not Just Your Skills
Ultimately, you need to convince your interviewers that you are not only skilled but also someone they would enjoy working with daily. The personal side of the interview is crucial, especially if the interviewer might be your future team lead.
Even if you’re an expert in all the relevant technologies, other factors can negatively impact their perception of you. Being late to meetings, having a messy background on camera, taking credit for others’ work, or failing to complete assignments can all signal that you might not be the ideal team member. It’s important to demonstrate professionalism, reliability, and a collaborative spirit, as these qualities are often just as important as technical expertise.
Assignment — Yes or No?
Definitely yes!
Although an assignment might seem like a tedious task that takes up several hours of your free time, it provides a valuable opportunity to showcase your skills. Invest the time to demonstrate what you know, your capabilities, and how you approach tasks and problems.
If you know the role you’re applying for involves working with a specific framework, use that framework for the assignment if possible. This shows your initiative and readiness to work with the tools you’ll use on the job.
Interviewers understand that your time is limited, and it’s generally acceptable if you don’t complete the entire assignment — but of course, it is better if you do. However, be sure to mention any incomplete aspects in the README or summary email. Explain how you would approach the task if you had unlimited time.
More important than checking every box on the feature list is ensuring that what you submit represents you as a developer in the best light.
Approach the Assignment Like a Real Project
The most important thing is to approach the assignment as if it were a real project that might eventually require additional features. Structure your project with future expansion in mind, considering best practices, design patterns, and separation of concerns. While there’s no need to overcomplicate your solution, it’s beneficial to think big. This mindset will not only showcase your technical skills but also your ability to think strategically and plan for the long term.
And mention all that in the provided summary! So they understand your vision.
What Your Assignment Should Include
First and foremost, adhere to the assignment specifications. Ensure you meet the requirements as outlined.
Here are my personal tips:
Real-World Approach: Treat the assignment as if it were a real application. Read the provided specs and consider potential future requirements. Avoid cramming all the code into one place just to make it work; instead, structure it thoughtfully with scalability and maintainability in mind.
Functionality Over Completeness: While it doesn’t need to be complete (although better if it was), what you implement should work correctly. It’s understood that you may not have 100 hours to dedicate to each assignment, so focus on delivering a working solution.
Best Practices: Adhere to best coding practices, including proper naming conventions, avoiding hardcoded variables, using design patterns, handling errors appropriately, sending correct HTTP status codes, and returning clear messages.
Documentation: If you don’t implement everything, mention it in your README or the summary email you send with the assignment. This transparency helps set expectations.
Ease of Setup: Make the application easy to run. Avoid requiring the interviewer to dig through the code to find necessary environment variables or database schema setups. Don’t assume they have a specific runtime installed. Include all necessary steps in the README.
README File: The README is crucial as it’s the first thing the interviewer will see.
Include:
▪ How to start the application.
▪ A description of how it works (e.g., API endpoints and how to call them).
▪ The original specifications and what has been implemented.
▪ Optionally, mention what’s missing and what you would implement with more time.Running Example: If possible, provide a running example of your application. Many cloud solutions offer free or inexpensive hosting for a few days.
Provide Additional Resources: Anything that is related to the project — UML diagram, Postman Collection …
Tests: While writing tests can be time-consuming, include at least one test for a simple method or endpoint to demonstrate that you understand testing practices. Mention in the README that due to time constraints, you’ve provided only one test.
Version Control: While it’s unlikely that anyone will examine each commit individually, having a clean and well-organized Git history can be beneficial if they do. I personally do, and it’s not necessarily a negative point if your commit history isn’t perfect, but a tidy and logical progression of commits can positively reflect your familiarity and experience with version control.
Quality Over Quantity: Focus on implementing fewer features with high-quality code rather than many features with poor implementation.
Go the Extra Mile: Implement one extra feature, even if it’s small, to show your initiative and dedication. This demonstrates that you treat the assignment seriously and can be expected to do the same in real projects.
Prepare to Discuss: Be prepared to discuss your code in detail during the interview. This readiness can lead to a more engaging conversation and allow you to naturally transition into other topics and projects you are familiar with. If you used an AI tool to assist with your code — though ideally, this should be minimal or none— ensure you thoroughly understand the code to avoid being caught off guard.
Conclusion
As I mentioned at the beginning, every interview, company, and interviewee is unique. While applying these general guidelines can improve your chances, ultimately, it’s about showcasing what you can do and presenting yourself as both a capable developer and a personable candidate.
I wish you the best of luck!
If you have any questions or feel I’ve missed something, feel free to contact me.



