Ask HN: What do you strive for when you are programming? - hoodoof
======
DyslexicAtheist
"flow", which is a concept / phenomenon studied by Mihaly Csikszentmihalyi. It
is not just limited to software engineering: [http://blog.valbonne-
consulting.com/2014/09/24/flow-the-addi...](http://blog.valbonne-
consulting.com/2014/09/24/flow-the-addiction-behind-programming/)

~~~
afarrell
In contrast, I strive to avoid flow. I find that when I get into flow, I skip
over things and write overly-clever code.

------
angersock
To drive developers before me, and to hear the lamentations of their users--
that is what is best in life.

~~~
chao-
Hot water, good dentistry, and high coverage in unit tests.

------
greydius
My highest priority is writing code that is maintainable, so I strive for
modularity, appropriate abstractions, and comprehensive tests.

~~~
droidist2
Exactly this. Too often I see people focusing on performance as their top
concern for no good reason.

------
siscia
It depends on whom you write the code for and why.

If I write code so that other people can use it I strive for coming out with
the best API possible (for whatever definition of "best" makes sense for the
project) if I write for experiment or fun I just want to get thing done and
see if it works so I write in the most fastest way possible, if there is some
change that I need to work again with the code I try to write it in the most
maintainable way possible.

------
r2dnb
I strive for simplicity: Producing a maintainable and extendable solution
being the simplest possible solution to the problem.

Simple means both easy to understand APIs, healthy internals and judicious use
of abstractions (no overkill).

Producing a complex solution for a complex problem is by my standards mediocre
engineering.

When you focus on simplicity everything follows (and your technical skills
skyrocket because it requires to be extremely skilled to make things simple).

------
afarrell
Clarity, both on my understanding of the problem and in my understanding of my
tools.

Simplicity and readability of my code, my tests, and the notes that accompany
my code. That way someone (including my future self) can understand the
system.

And writing tests first. I've become convinced that there are very very few
cases when I can afford the luxury of _not_ insisting on writing a test first.

------
GFK_of_xmaspast
A paycheck.

~~~
SyneRyder
This made me laugh... but as a solo/indie dev, a primary concern when I'm
coding is that I'm making something valuable that customers will actually pay
for. I might really want to refactor some of my code and make it more elegant,
but that in itself provides no benefit to customers, so I have to remind
myself not to spend too much time on it. The code I write has to be something
that makes customers more money, saves them time, fixes problems, or delights
them even more than previous versions.

------
baccheion
I enjoy coming up with clean and elegant solutions. I enjoy solving the
problem, and producing code that works, works well, is fast, and is
therapeutic to read. I like everything separated out and grouped as
appropriate, I like when there isn't any unnecessary code or complexity, and I
like when the problem is solved completely, precisely, and without any
compromises.

Clear, clean (simple, compact, readable, etc, while still being correct and
complete), elegant, efficient, well-formatted, properly separated and grouped,
optimal (no unnecessary or premature optimizations), etc.

------
probinso
Minimal branching Factor and then fewest lines of code finally modularity

------
bbcbasic
Good abstractions

------
willcate
As few mistakes as possible.

------
vmorgulis
Fun!

