Live data from Hacker News

Dev Compass – Programming Philosophy Quiz

treeform.github.io

101–110 of 115 posts

Re: Dev Compass – Programming Philosophy Quiz

#101
This was fun. A kind of engineering MBTI¹.

I'm +3 Abstract, +2 Human-Friendly - https://pastebin.com/Y7t4ys3J

At the end I would have liked to see how each answer contributed to the final score, perhaps plotted on the final graph.

It would also be interesting to see how many others took the test and how my answers compared to theirs.

¹- https://en.wikipedia.org/wiki/Myers%E2%80%93Briggs_Type_Indi...

Re: Dev Compass – Programming Philosophy Quiz

#102
post #48

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?…

That's why I hate (and never use in exams) multiple choice questions.

These questions would be better if they were multiple choice. The main problem is that they are single choice.

Re: Dev Compass – Programming Philosophy Quiz

#103
post #99

Software engineering would be far better off if we divided up into factions along these lines, like Hogwarts or Divergent . Sure the author's test is a lossy prototype, but he's got the right idea. So many "best practices" are truly repugnant, like XML, microservices, TDD, Design patterns, DRY, OOP, functional programming, codes of conduct, 75% of "devops" Many of us found those things repugnant at the time and were…

> So many "best practices" are truly repugnant like ...list of things

I have my own love/hate relationship with many of the things you list and I currently share many of your preferences. However I didn't always see things that way. Best practices start as informal approaches to address the problems of the day. After achieving a modicum of success they'll get enshrined by others as languages, features and cultural artifacts giving rise to new problems.

I find the broad tendency of unthinking "best practicification" more troubling than any particular "best practice".

Take OOP as an example. Stroustrup's early C++ presentations argued OOP meant more than "slow graphics" since people at the time were struggling to build graphical user interfaces for machines without much memory. The idea of melding state and behavior made it easier at the time to build complex user interfaces with imperative languages. But OOP isn't a silver bullet. Many attempts to apply the OOP ideas to other domains met with failure.

Fortunately we now have more powerful machines and better tools available to us.

Re: Dev Compass – Programming Philosophy Quiz

#104
Well that was shit. Most questions have answer options that look like:

A) I just do what's best

B) Here's what I think my professor wants to hear

C) Here's a non-sequitur soundbite I pulled from LinkedIn (not always meaningfully distinguishable from B)

D) I write enterprise Java, it's too late for me

I still finished it and ended up somewhere slam dunk in the middle, and I even avoided the A) options

Re: Dev Compass – Programming Philosophy Quiz

#105
post #32

Earlier quoted context omitted.

Oh a bug, surely. How is the quiz supposed to give you insights when it's unanswerable?

By forcing you to make a decision without context. Similar to how when presented with the trolley problem some will ask many follow up questions about the individuals on each track, the train, etc. That’s not the point.

But here, the context is relevant, and the analogy does not change this.

Re: Dev Compass – Programming Philosophy Quiz

#106

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 agree, but would add that it is just one of its problems. Even before we get to the questions, we are told that one of the outcomes will be a score on a “friendliness” axis. What would it mean to be computer-friendly, and why would it matter?

Re: Dev Compass – Programming Philosophy Quiz

#107

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…

The analysis you quote smells of vapid pop psychology. What empirical evidence exists for supposing that the result is reliably objective, let alone relevant?

Re: Dev Compass – Programming Philosophy Quiz

#108

Earlier quoted context omitted.

I have the same issue. For many of the questions my answer is "all of the above, but A in context A, B in context B, etc.". Many are also not mutually exclusive. Take this example: "When debugging I typically:" > Write tests to isolate the problem In the case of math functions, or more primitive building blocks, writing tests can help ensure correctness of the underlying functions, to exclude them from the problem se…

Is the fact that the answer isn’t easy a feature or bug?

It is not primarily a matter of difficulty. The problem with choices like these is that they seem to be predicated on a rather simplistic, formulaic view of software development - a view that experienced developers will recognize as flawed.

In this case, one tacit assumption is that a given developer will typically adopt just one of these approaches. Another is that they can meaningfully and objectively be ordered along either of the axes purportedly being measured.

Re: Dev Compass – Programming Philosophy Quiz

#109
post #99

Software engineering would be far better off if we divided up into factions along these lines, like Hogwarts or Divergent . Sure the author's test is a lossy prototype, but he's got the right idea. So many "best practices" are truly repugnant, like XML, microservices, TDD, Design patterns, DRY, OOP, functional programming, codes of conduct, 75% of "devops" Many of us found those things repugnant at the time and were…

> So many "best practices" are truly repugnant like ...list of things I have my own love/hate relationship with many of the things you list and I currently share many of your preferences. However I didn't always see things that way. Best practices start as informal approaches to address the problems of the day. After achieving a modicum of success they'll get enshrined by others as languages, features and cultural ar…

More powerful machines maybe, but the apps are less responsive

We must still be mindful of hertz, milliseconds , watts, bytes, airtime , watt-hours, thermals

Re: Dev Compass – Programming Philosophy Quiz

#110

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…

Yeah, that stood out to me as a virtual tie also. When I got pretty good at debugging was when I began to recognize which of these approaches would likely be most effective in a given situation, and when to back out and use another approach, or mix approaches.
Post reply on HN