OOP - Differing Perspectives of the Interviewer and the Interviewee
--
I have been part of the interview panel for quite a while in my organization i.e Bazaar Technologies, and was curious to understand what people actually perceive when asked about Object Oriented Paradigm
To my surprise, I came across two main perspectives:
The Studentās Perspective:
Students are mostly interested in OO concepts for exams or class projects. They are not inclined towards implementation or even the depth of OO concepts. They want OO definitions and diagrams for their class assignments. Pretty understandable, we all have somewhat been there.
The Job Seekerās perspective:
People who were looking for a job, are only interested in what goes around in the interviews, they lookup things like āOOP interview questionsā, and hence are always quoting examples of shape and car classes when asked in an interview. They miss out on the core of it, and are not able to relate these concepts with the real world.
The second perspective surprised me more. So, I dug deeper to find out why.
The Dilemma:
I have noticed that job-seekers have created shortcuts for understanding OO concepts. They only brush up on their Object-Oriented concepts before an interview with online content such as articles, videos, and courses that are designed to help in giving better interviews, so they somehow want the easy way out.
It turns out that many interviewers like to ask questions about object-oriented programming, design patterns, and OO principles. This is logical, it shows that candidates have sufficient programming experience and have intentions to create a better code structure.
The Bad Approach towards conducting an interview:
Now some of us may think that If job-seekers can fake OO concepts, why donāt interviewers ask questions about technology? Well some of them actually do, but should they?
I was giving an interview to a panel of interviewers. They were asking a very specific technical question about configuring a framework. I said, I donāt remember but it can be looked up on the internet.
You see, in my opinion a good engineer would be someone whose basics are strong, framework knowledge is always secondary and can be learnt while working in it.
In my opinion, with technology and framework related questions, the right answer is āIt can be looked upon Google/Stack-overflow/internet.ā.
The Good approach towards conducting an Interview:
I have noticed this at Bazaar that we do not focus on any specific technology while taking interviews, at-least the people I know are not doing it. We focus on core fundamentals of computer science. Which, in my opinion, are the most important part of any software engineering job. I mean, you can be good at a specific framework, but if your fundamentals arenāt strong then it will be hard for you to adapt to another tech stack.
Therefore, asking any question related to any specific technology is non-productive in an interview setting. This is the reason why OO concepts are asked in interviews.
Hence, practical Object-Oriented skills are different then interview knowledge.
Therefore, for programmers, we always promote the following concepts.
Develop Competency Over skill. Skill is something that I ask someone to apply a certain design pattern to a cluttered piece of code. They can apply for it without any hesitation.
On the other hand, the real question is when to use them, or should they use design patterns or not?
Competency in object-oriented design comes with experience ā real-world experience.
To summarize, object-oriented thinking doesnāt come to you by reading articles online. It comes with time. Time spent designing, thinking, and implementing your solution to tackle the problem. Also, it is a skill. A skill that needs years of practice to master. To the reader, I encourage you to take a sample problem and start thinking/designing objects around it, their communication, etc.
You can look around the room, and see how many objects you can make, and how they are communicating with each other, is it a IS-A relationship, or is it a HAS-A relationship. Try living into the object oriented world and You will develop a much better understanding.
Disclaimer:
Bazaar Technologies believes in sharing knowledge and freedom of expression, and it encourages itās colleagues and friends to share knowledge, experiences and opinions in written form on itās medium publication, in a hope that some people across the globe might find the content helpful. However the content shared in this post and other posts on this medium publication mostly describe and highlight the opinions of the author, which might or might not be the actual and official perspective of Bazaar Technologies.