Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How to interview for good software engineers versus good programmers?
6 points by mfbx9da4 on May 12, 2020 | hide | past | favorite | 3 comments
I will try to make a distinction.

Good programmers are good at algorithms, data structures and even system design interviews.

Good software engineers get stuff done by finding the right tool for the job and piecing things together. Software engineers are great at using google to find the answer, can quickly parse documentation, can quickly evaluate tools, existing solutions and APIs. Good software engineers make good decisions and are able to use an unfamiliar API.

Algorithms tests are great, I'm not suggesting we abolish them. What is a a good way to evaluate this ability to research and use the right solution?

Any example questions you could ask?

System design questions touch on this area but do not have a research component, it's purely memory based.



To me engineering is all about the skill to approach solving problems and how you go about that. Good engineers newer get stuck, unless it’s a very uncommon problem they are trying to solve. Like you say, there is a space to to test whether they can code themself out of a loop, but you really want to see how they would work if they work for you - that is the point of the interview. So make sure you design your tests accordingly - this guy makes the argument and I cannot agree more https://youtu.be/bx3--22D4E4


I think programmers focus on aspects of the program - like memory optimisation, speed, accuracy, correct data processing, storage, database optimisation, etc. Good software engineers focus on aspects of the system as a whole - like the technology with the best memory optimisation, fastest filesystem, most suitable database, etc.

Engineers look at the big picture as a whole, programmers make sure the detailed aspects of it are working in the best possible manner.

For example, a good programmer will tell you to never use nested for loops, but an engineer may go for it nevertheless, if he feels that there is not much difference in the speed and memory consumption. He will make some tradeoffs depending on different factors.


Generally the engineers will get less hung up on semantics.

I'm guessing you're more of a programmer?




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: