DEV Community

Discussion on: Why do developers have the toughest interviews in the world?

Collapse
 
havarem profile image
André Jacques

Why is this even an interview question for a DEVELOPER?

To test your basic knowledge, and how you think if you don't know the specifics. I would say that for a frontend, at least knowing about HTTP would be the minimum. For a backend, making the link between DNS, then HTTP then HTTPS will be considered correct. How you fill the rest will tell you on how you think.

WHY is it when it comes to DEVELOPERS, we are supposed to know NETWORKING, OS shell/bash/commands, other languages, the WEB, the INTERNET, COMPUTER HARDWARE etc..? I believe, as developers, we are required to know our language (PHP, Java, Python..)

That I would disagree. A programming language is just a tool in the stack. Everything you do as a developer is solving problems, by taking input and producing outputs. So "communication" is way more important than the language. Algorithms too. If you have your algorithm written in C++, then switching to Java and PHP is a few Google Search away. You could train yourself to know all the PHP API from A to Z, it would not make you a better programmer if you don't know what infrastructure will run your code and for what purposes.

For a web developer, HTML/CSS/JavaScript is a must.

I was a web developer for 8 years, project manager for 3 and little I know about CSS. It was usually the digital graphist designer who transform their photoshop maquette into CSS code at least 3 times faster than any programmer I know.

But beyond those, I really don't see why a PHP developer would stuff their head with Networking or OS specific info.

For instance, web developer often develops on Windows but their code is hosted in Linux. Linux has a case-sensitive file name scheme, but Windows doesn't (try to create a file named hi.txt and Hi.txt in the same folder). It can impact you PHP includes, but also if you try (you shouldn't) export your MySQL database from Windows to Linux.

Often, dev environments are different than production. I saw a bug where our clustering tool for MariaDB didn't work with MyISAM and one table hadn't popped up at peer review, half the data was displayed for each refresh.

For backend developer, knowing about proxy/reverse-proxy can help you dodge backend to backend API calls.

And with containerization, your solutions should be shifting towards their premises: a container should run a simple process doing one thing easily, independent, immutable, etc. That would have a great impact on your way to develop your solution.

That is just the tip of the iceberg.

Surely, knowing more is better, but I don't think it makes you better developer than someone who REALLY understands PHP.

Yes, I believe it does, since when you will be confronted on a bug that does comes from your communication protocol, OS-stack, and stuff, knowing how it works will help you find it faster.

I cannot say how MAD I was when I was asked to do so and how HAPPYYYY I was when i did it!

I was exactly like that when I started, I didn't like to depend on software other people had created. When it bugged, I would say to myself "How hard it would have been to make it like this instead???". But then I realized I couldn't do everything and open my mind to the world.

Ask us about what we love to do, what we learned and did for thousands of hours. Don't ask us about the few hours we spent reading an article about Networking

I agree with the fact that you should work in a place you will like to work. Don't take a job that will ask you to do stuff you don't like. Don't forget that they are searching for someone as much as you are searching for a job. If the job doesn't fit your needs, just don't take it.

We are ADAPTABLE bunch, us the developers. We can do almost anything!

That is also true: I always say that a developer that don't like change will have a hard time in his or her life.

On a final note, my most stressful interview (even though I got the job) was for a teacher position for Web Development at a college (I'm in Québec so it is called Cégep, it is just before University). Questions like What do you do if you are proven wrong?, followed by Great, but now everybody is talking and laughing and not listening to you. All of that in front of 5 interviewers.