I wonder why IT developer interviews are so strange most of the time. It feels as if the people are looking for computer science teachers, not engineers. All those theoretical questions that have no relation to the working reality. It is strange to be looking for eloquent teachers, who can perfectly explain any term or pattern, and then ask them to do the actual work. Maybe it is the imprint from the years spent in university when the teachers looked like all-knowing gods and seemed to solve any issue in your life. May be, may not. Anyway, these teachers stay in unis and don't do the work.
You know, what would be my universal answer to all interview questions? “I have no idea how and why it works, but I can use it, and I can use it for good”. This is the reality. Actually, no one knows exactly these hows and whys. What is a computer? What is electricity? What is an electron? No one knows for sure. But it works and we use it.
Imagine a famous author, like Stephen King, been asked a question about the difference between deus ex machina and Mary Sue. Would his answer change the quality of his books? He may or he may not know all those scientific literature terms, but he can use the language and use it for good.
Every time I turn on my computer it is a wonder. I have no idea what is going on, but it awakes, it becomes alive, and I can communicate with it in its own sublime and subtle language.
Have you ever realised that all these electronic devices are monsters, Frankenstein's monsters? Some pieces of dead matter were put together, and then, with some electricity involved, it suddenly awoke. “It's alive!”. Had Frankenstein any idea why it turned alive? Of course not, or why he was so surprised? Every developer experiences this feeling almost every day. “It's working!”
Now imagine, this world is full of Frankenstein monsters. They speak, they sing songs, they draw arts. What a wonder! Some bips and buzzes mixed with a generated word ‘Satisfaction’ and we have a Frankenstein's worldwide superhit.
No surprise that many people are scared of them. And when the fear overwhelms they call for a modern digital druid, for a developer. To tame the monsters, to tell them fairy tales, to sing them lullabies, so they will lose their anger and become peaceful and friendly and cooperate to implement the one's will.
What can I do about it? Nothing. So on more time I should repeat the sacred mantra:
OM. SOLID SOLID SOLID. Fabric, Decorator, Dependency Injection. OM.