During the start of my career, the interviews were in such a way that people give a set of questions to the candidates and expect their answers to those questions. Even today most of the companies work that way in finding the right candidate for their company. I’m a bit different in that. When I try to hire someone for my team, I mainly look for criteria to see if the person is inquisitive or not. The candidate need not have all the knowledge that is required for the job but at least they should know where to find the knowledge from.
In the ideal world scenario, every IT company provides internet access to all the employees except a few companies that restrict internet access. Most of the developers across the world will have access to the internet that has details about all the technologies and everything that we need. Finding the right thing that we need definitely a skill for every developer. When we are working on a particular problem, though we have to apply our logic to solve the problem, it is quite obvious that we may not be able to solve the problem by ourselves. In such cases, we either seek help from experienced colleagues or go to the internet.
In today’s world, most of the IT employees survive only with the help of internet. One of my mentors used to tell me something that only 5% of software engineers are actual engineers and everyone else is just developers. They either develop from existing code or they get the code snippets online and modify it based on their requirement. There is also no harm in doing that because the whole world is currently moving in that direction. At the end of the day, we want a solution and product working.
Internet is the source of information
When I conduct interviews I prepare questions in such a way that the questions are not straight forward and require any preparation. All I expect from the candidates is some logical thinking and capability to find answers for that from any source. The reason why I believe in this model is that in a real-world scenario the candidate is going to have access to the internet and they are free to get the code from any source. Whether it is an optimized solution or a better solution is a different story. If they are capable of completing the project by at least finding the code from somewhere, I would be okay to hire them.
The next filtering I do will be based on their understanding of the code they took from online sources. It is important that we understand the code very well even if we get a code from online sources. This one important thing that I always look. If we don’t know what we have implemented in the project then we are easily exposing ourselves to many misunderstandings and bugs.
I still remember that before 10 to 20 years software engineers used to rely so much on books for knowledge. For fundamental knowledge, even today books are very good but for survivability, I don’t agree that knowledge from the books will help us. We have to understand the power of the internet and use that as the best knowledge base. There is also a funny saying that “If there is no StackOverflow, many software engineers and developers would lose their job”. People grab most of the ideas and code snippets only from there. But ideally at the end of the day if we are able to build a very good solution for our clients, nothing more than that.