Live data from Hacker News

Dev Compass – Programming Philosophy Quiz

treeform.github.io

81–90 of 115 posts

Re: Dev Compass – Programming Philosophy Quiz

#81

I tried to finish this quiz but just can’t. Every question I got was a very big, “it depends on context…” “Do you prefer strong static or dynamic or a mix?” Well… are we teaching 9th graders an intro to coding, writing a quick script to answer a bespoke data question, or writing a data processing library? “On algorithms I focus on…” Okay, well… do we care about performance? Where is it running? How often will it run?…

Avoiding questions just because it depends on context might be a valuable way to signal to other people that you're careful and considerate, and that definitely has value. But quizzes like this are explicitly designed to be contextless. You're supposed to answer with your gut feeling, the first step in the random walk. Someone who actually depends heavily on context and doesn't have a strong preference either way wil…

Experienced engineers will have a gut feeling of ‘it depends’ and if there is no extra context given the question is pointless and any answers are useless.

Re: Dev Compass – Programming Philosophy Quiz

#82
post #81

Earlier quoted context omitted.

Avoiding questions just because it depends on context might be a valuable way to signal to other people that you're careful and considerate, and that definitely has value. But quizzes like this are explicitly designed to be contextless. You're supposed to answer with your gut feeling, the first step in the random walk. Someone who actually depends heavily on context and doesn't have a strong preference either way wil…

Experienced engineers will have a gut feeling of ‘it depends’ and if there is no extra context given the question is pointless and any answers are useless.

It's not useless at all. We expect people whose answer to everything is "it depends" to answer more or less at random, when they don't have enough information to say otherwise.

That is an extremely telltale signature. Put another way, if your assertion is right, then a simple 5 minute quiz like this should be enough to rule out people who are claiming to be senior, but who actually arrive at extreme answers. A 5 minute quiz like that would be worth tens of millions in improving hiring practices.

So either we're all leaving millions of the floor by not building a company around this, stat, or your assertion is just wrong. There can indeed be senior engineers who are nonetheless very principled even in low-context situations.

Re: Dev Compass – Programming Philosophy Quiz

#84
post #53

I suspect this test gives central values to many test-takers because the internal consistency of the questions has not been verified. Anyone can come up with ten questions and claim "these measure a programmer's fondness for abstraction". Unfortunately, we cannot verify this claim. What we can do is check statistically if the answers to the ten questions correlate strongly enough that we think they measure the same t…

> I suspect this test gives central values to many test-takers because the internal consistency of the questions has not been verified. Do you prefer to use: 1. Capital letters 2. Lower-case letters 3. Numbers 4. The characters required for the text I am writing to be correct and legible

I came here to write a similar comment. To me it read more like: When driving, do you prefer to a) turn left, b) turn right, c) press the gas pedal, d) press the brake pedal, or e) execute a sequence of actions that get you safely to your destination? There's a good idea here, perhaps, but it's obscured by very weak questions.

Re: Dev Compass – Programming Philosophy Quiz

#85
post #81

Earlier quoted context omitted.

Experienced engineers will have a gut feeling of ‘it depends’ and if there is no extra context given the question is pointless and any answers are useless.

It's not useless at all. We expect people whose answer to everything is "it depends" to answer more or less at random, when they don't have enough information to say otherwise. That is an extremely telltale signature. Put another way, if your assertion is right, then a simple 5 minute quiz like this should be enough to rule out people who are claiming to be senior, but who actually arrive at extreme answers. A 5 minu…

It’s an easy 5 min screen at most and it’s common knowledge anyway which you can easily fake by answering ‘it depends’ and asking basically random questions. Good enough additional context turns the quiz into a systems design interview, which serves your purpose obviously.

Re: Dev Compass – Programming Philosophy Quiz

#86
This isn't a good quiz. An example question (and there are many similar ones):

> When refactoring code, I prioritize:

> - Reducing complexity and coupling

> - Improving readability and maintainability

> - Optimizing performance and resource usage

> - Extracting reusable abstractions

Each refactoring has some goal, some driver behind it. It could be slow performance, unmaintenable mess, high coupling, too much duplication etc... Choosing a single answers makes no sense from a programming point of view. And this is the case most questions I have seen so far on the site.

EDIT: After finishing and seeing, I think I understand it a little better why was it structured like this. If you are open to do things differently, your answers probably won't weigh in any one direction in aggregate. But if you have certain biases, you might be leaning towards choosing similar answers that shows up in the end.

Re: Dev Compass – Programming Philosophy Quiz

#87

I tried to finish this quiz but just can’t. Every question I got was a very big, “it depends on context…” “Do you prefer strong static or dynamic or a mix?” Well… are we teaching 9th graders an intro to coding, writing a quick script to answer a bespoke data question, or writing a data processing library? “On algorithms I focus on…” Okay, well… do we care about performance? Where is it running? How often will it run?…

I had that feeling about several questions. The one that stood out to me was

"""

When debugging, I typically:

* Write tests to isolate the problem

* Reason about the code logically first

* Add print statements to understand data flow

* Use a debugger to step through code systematically

"""

and I typically do all 4 of those things. If I don't understand the dataflow yet, I'll start with either print statements or the debugger to understand that. If it's code where I already understand the dataflow, and I can reason about the code already, I'll do that. Otherwise I might first write tests to help me reason about the code. But I generally do all of these things and the order depends on my specific problem.

Re: Dev Compass – Programming Philosophy Quiz

#88

This isn't a good quiz. An example question (and there are many similar ones): > When refactoring code, I prioritize: > - Reducing complexity and coupling > - Improving readability and maintainability > - Optimizing performance and resource usage > - Extracting reusable abstractions Each refactoring has some goal, some driver behind it. It could be slow performance, unmaintenable mess, high coupling, too much duplica…

I finished it anyway:

Your Programming Philosophy

You value clarity and directness in code. You prefer explicit, step-by-step solutions that are easy to understand and debug, even if they require more lines of code. Abstract ↔ Concrete: 0 Neutral Human ↔ Computer Friendly: +6 Human-Friendly

The compass is almost in the middle, just a little up from center towards human friendly. That's fine, since most code you write is for other humans to read, the compiler is writing for the machine, only in critical perf sensitive paths you write for computer-first... The rest was mostly neutral, because what I wrote in the parent, it depends on the situation and it can go either way depending on the project.

Post reply on HN