Being a software developer these days is both good and bad. There are a lot of jobs available out there but there is a lot of competition too. If a company is known for looking after their developers well, a lot of developers naturally want to work for that company. So as a developer, you want to make sure you not only have the right skills, you also make a really good impression at every interview. And this includes not saying things that are arrogant, ignorant or inconsiderate.
In my role as an engineering manager, a hiring manager and an interviewer for more than 300 developers in the past few years, these are the things that I have witnessed developers say in their interviews which make them less favorable, even if their resume looks good and they did well at technical test(s). I'm sharing them with you here so you can avoid saying them and ace your next face-to-face interview.
There is always a reason why certain things were done in the way they were, especially in technology. Technology moves fast and things change very quickly. There is legacy code that hangs around for a long time especially in large organisations. You can voice out your opinion in a diplomatic way, but don't be arrogant about it and don't make fun or belittle those who are still using old technologies. Unless of course you are willing to rewrite and refactor that legacy code base in a week, then you can talk.
Firstly, code reviews are a good thing. If you have never had a commercial experience with code reviews before because you have just graduated or your previous companies didn't use it, it is ok to say so but as a technical person and a developer, you are expected to at least understand why it exists. Code reviews are not there just to detect code smells. It is also for knowledge sharing and for ensuring that coding standards and requirements are met.
I have heard of this statement way too many times, and a lot of the times, these candidates are contractors who chase out greenfield projects and their contracts finish when those projects go live. I understand many developers want to work with a blank canvas and build things from scratch using latest and greatest technology but it does not mean they do a better job or they are a better developer. You can learn a lot from fixing bugs (whether they are your own or of other developers), optimising and scaling existing systems.
When you are asked about your approach to testing, don't think and imply that testing is not your job. You are a developer. You develop features and you build stuff. You have to test what you have built. Your approach to testing might be different to another developer's approach, you might not use Test Driven Development (TDD), you might not know about the latest testing tool in the market, but you must have tested your code in your career as a developer. If not, then you are not really a developer, you are just someone who cuts code.
When an interviewer asks you a question about a technology or an app or a software or a design pattern, it is usually because it is important to the role that you're applying for.
Say you're a front-end developer and your interviewer asks you an opinion on what you think about Internet Explorer. She probably already knew most developers don't like it, but she wants to know what you think about using it, building for it and what are some of the quirks that you've learned and so on. Why? Probably because it is one of the browsers that the company supports and their customers use it. If you say you don't want to use it ever, it means you are not going to be a good fit for the role.
And with that, I hope you learned a thing or two about what not to say at interviews and increase your chances of being hired for that awesome developer role. Always remember that,
What you say matters and what you don't say speaks volumes.