Live data from Hacker News

You’re not writing code, you’re solving problems

lanraccoon.com

141–143 of 143 posts

Re: You’re not writing code, you’re solving problems

#141

Earlier quoted context omitted.

I think it's a reaction to programmers' particular tendency to focus on things that aren't best serving the goal of solving the problem at hand. Programmers often have a "pet" focus that relates to what they enjoy: performance optimizations, writing "clean" code, using some particular pattern or technology they like or want to try out, etc. None of those things are bad as long as they don't take precedent over solvin…

> Programmers often have a "pet" focus that relates to what they enjoy: performance optimizations, writing "clean" code This seems like preventing new problems from happening. Which is indeed a wrong thing to do if the metric for evaluating employees is "number of problems solved". If you create a fizzbuzz application with good performance and clean code, you have solved one problem. If you create a fizzbuzz applicat…

> If you create a fizzbuzz application with good performance and clean code, you have solved one problem

You haven't necessarily solved a problem if the definition of "clean" is subjective and not actually associated with any real benefit to the client/user. In that case you've just scratched an itch or wasted time. Same goes for optimizing something that happens rarely or wasn't prohibitively slow to begin with. Crucially, it's not about what _you_ perceive to be a problem but what the _user_ perceives to be a problem.

Again, I'm not saying you shouldn't strive to write clean code that performs well but it's important to know what that actually means within the context of that particular project.

Some examples of a "pet" focus:

* The designer gets absolutely up in arms because something doesn't match the wireframes, but doing it as shown in the wireframes is much harder. You show it to the client and it makes absolutely no difference to them.

* A coworker spends time to refactor code to make it more Pythonic, aka rewrite look-before-you-leap code to ask forgiveness instead of permission. The code is now arguably worse.

* A user adds memoization to part of the code that doesn't have any particular performance issue. That code is now harder to understand.

The key is to focus on _real_ problems, not ones you want to work on.

Re: You’re not writing code, you’re solving problems

#142
post #108

Earlier quoted context omitted.

Aren't a lot of jobs about solving problems? A therapist solves psychological problems. A lawyer solves problems between people and organizational entities. A surgeon solves medical problems. The reason I'm asking this question is because a few groups proudly say that they are problem solvers. The most notable groups that I've seen are programmers and the consulting industry. But who isn't solving problems? Why this…

>But who isn't solving problems? Unskilled labor. Unskilled labor is there to execute a solution. Programmers (and others) are expected to innovate. Its important to remember that instead of simply cranking out code for the facet of the problem that happens to be immediately in front of you.

Isn't moving in itself solving the problem of location? I guess one of the issues is that the word "problem" has a broad definition and can lead to a lot of misinterpretations since many people use different definitions. Because it does not feel like the same type of problem solving that would befit solving a math problem, for example.

Other than that, whenever I did unskilled work I had to solve problems like: what to do if too many guests show up and you have too few chairs, because management calculated the wrong amount of people showing up?

Potential solution: get more chairs.

Alright, but how will you make it look aesthetically pleasing? The place is full!

Solution: ask some people to stand.

But some will politely stand, and will then have a bad taste in their mouth of the experience.

So on and so forth.

Re: You’re not writing code, you’re solving problems

#143

Earlier quoted context omitted.

You are missing the point. As is almost everyone else who says this stuff. Most of us get paid to write software other people have requested in order to solve their problems. Every problem software solves can be solved by a sea of pencil pushers or factory line workers or human calculators or office clerks with filing cabinets or telephone switchboard operators or typists. The world used to run that way. It no longer…

> Every problem software solves can be solved by a sea of pencil pushers or factory line workers or human calculators or office clerks with filing cabinets or telephone switchboard operators or typists. The world used to run that way. I know what you mean, but this is the wrongest thing I've seen in quite a while! Because it ignores performance. Try implementing a video game with human clerks.

Like what? A first person shooter/ - try combat or paintball. Fighting game? Get in a fight. Sports? Play sports! Mystery? Detective work, mystery dinners. RPG? Dungeons and Dragons tabletop, magic. Flight simulator- actually flying.

"Reality is the only place you can get a decent meal."

Video games are simulators of things in real life that are taken to extremes because death in the real world is permanent. They do impossible things - like fight aliens - but you can definitely fight using weapons (even airsoft or nerfed counts) in contrived situations in the real world. Imagine a cast of actors and you fight them with an airsoft rifle. No computer needed.

Post reply on HN