Live data from Hacker News

Ask HN: How to handle interview when you do not think like other programmers?

news.ycombinator.com

1–10 of 24 posts

Ask HN: How to handle interview when you do not think like other programmers?

#1
Throwaway account for obvious reasons. I've had a lifelong passion for coding. If I hit the lottery, I would be coding. Since about 4th grade, it's all I've known.

I've never felt that I had the same "goals" as other programmers. I like to make stuff that solves a real, concrete problem. I like it when my code runs for a long time and doesn't make any logic errors. I'm great at docs, debugging and code maintenance. I love to learn, but I love to make stuff work.

I'm really good at reverse-engineering. I'll use netstat to see who is talking to what, and on what ports, and at what times. I like to create documentation when it doesn't exist or it is wrong. I like to share what I've learned. I'll go to great lengths to get factual information.

I feel that I can do almost anything. If I don't know something, I'll go to great lengths to learn. If I need resources, I'll find them. But I struggle to get my knowledge, talents, and passion across to other programmers.

For example:

Interviewer: Tell me about a project you did.

Me: I saw a need in our business. There was valuable data in a system that no one could get to. The data was of great use to the business if the right people could see it. I wrote a Java program that connects to API and loads the data into database. I wrote some PHP pages to display charts and graphs based on my knowledge of the business problem domain. I profiled my code for memory leaks. I made it very fault-tolerant. The code I wrote stayed up for months at a time. I wrote several layers of monitors for the application. I get paged immediately on my phone if anything goes wrong. Everyone was thrilled.

Interviewer: What version of Java did you use?

Me: 1.7

Interviewer: Why didn't you use Java 1.8? It has lambda expressions. Why PHP? Why didn't you use AngularJS? Clearly you don't know how to code and are useless.

-----

I don't know how to "defend" myself when the interview goes this way. What should I do?

Re: Ask HN: How to handle interview when you do not think like other programmers?

#2
Don't bother. Target your applications toward the companies and roles that value the same things you do. If an interviewer harps on Java 1.8 vs. Java 1.7 while you want to talk about reliability, netstat, and performance problems, that's a sign that it's probably not a good fit for you.

"Not thinking like other programmers" is very often a good thing, but remember that the world is very broad, and there are probably programmers out there who think like you do. And even if you can't find them, there are also organizations out there that respect and need different talents, and you should find those.

Re: Ask HN: How to handle interview when you do not think like other programmers?

#3
You should say "I used PHP because I wanted to use something I knew completely, rather than learning something new with unknown properties wrt fault tolerance." "I used Java 1.7 because Java 1.8 wasn't around at the time for the platform we're targetting."

If you can't come up with answers like that on the fly, you have bad "people skills" and are fucked. Interviewers doesn't care what technology choices you made, they just want to see that you'll fit into whatever little herd of programmers they are managing.

Re: Ask HN: How to handle interview when you do not think like other programmers?

#4
Wrong company / interviewer for you. Just move on.

That said, here's how I would answer: 1.7 because of legacy and potential stability reasons, and I will evaluate 1.8. I need to make a case for upper management and demonstrate there's a significant performance increase to justify the time required.

Ask the interviewer what he's refactored recently with lambda expressions.

For PHP/AngularJS, you can always joke about PHP and how much you want to switch to the next hip language. Unfortunately the mysterious previous developer picked it and you have to stabilize it. You will switch.. (eventually.)

For Angular, just say there's 30 other frameworks and you will get to it in due time. You can mess around and point the interviewer to that Todo list examples (http://todomvc.com/) and ask him why not the other 29?

You can always turn it around and ask them why they went with AngularJS instead of some other framework.

When I interview engineers, I do ask why AngularJS? I do this because I'm curious about their choices. Was it driven by hype or did they have a legitimate problem that was solved by the framework? I'm trying to have a technical discussion here and I'd rather do this than ask some random coding question. Given the limited context of your experience, I can't tell if the interviewer was being malicious or genuinely curious.

Hope this helps.

Re: Ask HN: How to handle interview when you do not think like other programmers?

#5
Ask the interviewer if he wants you to use your employment at his company to learn the latest technology while working there so that you can leave for higher-paying work, or does the interviewer have actual business-related problems that need solving? Does the interviewer want to turn his company into "programmer university", or does he actually want to get shit done? Does the interviewer realize that the same problem can be solved in multiple other technologies and techniques? Is the interviewer using HIS time there to turn it into "personal programmer university" for himself so that he can bail soon, and is looking for a co-dependent rationalization? Does the interviewer have ACTUAL DATA showing that using the newer technology is: 1. faster to code, 2. less risky to code with, 3. less expensive to find developers who know it?

Does the interviewer want to make the answer to the question that nobody asked, or does he want to contribute to a company that has revenues?

Re: Ask HN: How to handle interview when you do not think like other programmers?

#7
They just want you to explain your reasonings. They aren't really interested in if you're "right" so much as how you got to your conclusion (e.g. "I decided to use Java 1.7 because of XYZ.").

Random aside: You should look into Aerospace Engineering/programming. You sound like you'd enjoy that type of development (functional programming, huge amount of docs, huge amount of testing, entirely fault tolerant end to end, etc).

Re: Ask HN: How to handle interview when you do not think like other programmers?

#9
> I don't know how to "defend" myself when the interview goes this way.

Don't.

In the example above, I would not want to work with coders who think like that, and it sounds like you would not want to either. So if you don't pass their interview process, consider it a win!

Keep looking, and if you are capable, you will eventually find an environment that fits.

Re: Ask HN: How to handle interview when you do not think like other programmers?

#10
post #6

There exist many companies which quietly make an awful lot of money and which employ people much closer to you than to the stereotypical Silicon Valley Mobifotosocialgame Hipster Programmer. Get a job at one of them.

Absolutely. There is nothing wrong with the interview that you describe. You are learning exactly what you need to learn. Better to learn it today than six weeks into the job.

It is important to be polite, though, so to make it out of the room the usual talking points are:

1. "Our lousy platform was [mandated by management/chosen before I arrived], but I cheerfully got the job done with the inferior tools at hand."

2. "Our mission-critical legacy codebase made change difficult, but at least it was stable and made the company millions of dollars."

3. "I've heard of [interviewer's favorite magical tool] but I was so busy holding the widget factory together that I never had the time to research it and be sure it would solve my problem. Tell me more about [magic]! I've always wanted to work with the sort of brilliant yet sensitive person who uses [magic]."

Then shake hands, smile, leave the room, turn them down the next day, and get a job with a company that values you.

(You may find, however, that talking point #3, a tactic that comes straight from Dale Carnegie, makes your interviewers fall over themselves to hire you. Everyone loves to be invited to explain their favorite things.)

Post reply on HN