
Programming and Depression (2012) - larrys
http://www.robsheldon.com/blog/depression-programming/
======
cuca123
As someone who has struggled and is currently struggling from depression,
posts like this scare me because I think they are spreading a misunderstanding
of what depression is.

The article explains some ideas about why programmers as a whole are _under-
appreciated_.

But having your work be under-appreciated has very very very little to do with
being depressed.

I am an engineer, and almost my entire social circle is technical as well.
I've found that it's hard for friends to understand just how utterly
_irrational_ depression is. Being sad because something bad happened isn't
depression. Being tired because you haven't been sleeping well isn't
depression. And being un-motivated because you are under-appreciated isn't
depression.

Yes, bad things happening, poor sleep, and under-appreciation can trigger or
contribute to depression. And I don't doubt that the author is hurting and
struggling and needs and deserves our help.

I'm just scared when we oversimplify depression, and try to explain it away.
Depression is as nuanced as it is awful.

~~~
mikeash
People's general understanding of mental illness is still stuck in the dark
ages.

Imagine if this article was about brain cancer, but all the rest was the same.
The overwhelming reaction would be, this is stupid, brain cancer happens due
to genetic factors, exposure to carcinogens, radiation, etc., and obviously
has nothing to do with people _appreciating your work_. Only the fruitiest of
the alternative medicine fruit would even write such an article in the first
place.

But make it depression instead of brain cancer, and then not only does the
article get written, but gets a lot of "hmm, maybe he's on to something"
responses.

It's wrong, it's dangerous, and it's terrifyingly common.

~~~
ssdfsdf
I don't agree. I was clinically depressed in my early twenties. There is a
temptation to reduce the world to simple bite sized physical causes. With
something like brain cancer this may be appropriate - but perhaps not, it may
be that stress levels induced by a working environment may influence the
chances of developing the disease. The point is there is a complex network of
interactions which include emotional reactions to your environment, which can
drive a person into a depressed state. It may be that for some proportion of
those that suffer from depression that the cause is purely chemical imbalance
driven by phenotypic makeup. But I suspect this is rare, we are a complex
system of interacting components and these components include our own internal
way of viewing the world.

There is something tempting about reducing complex issues which have
implications about the way we live our lives (like ADHD, Depression, etc) to
simple physical reductionist causation. It is not a correct way of viewing the
world and should be resisted.

------
dfc
I have yet to meet a person not employed in one of the fields mentioned below
who says

 _" Yeah, so like I was..._

• taking my medication the other day and I noticed it was working so I looked
up the formula and the background research

• eating out of this microwaveable and biodegradeable bowl that is made out of
soy the other day and I was amazed that it held together so well so I looked
into the manufacturing process

• watching this guy get out of a car with a prosthetic arm and leg and it was
really neat the way the joints moved so I looked into the background
kinematics/kinesiology

• watching the painters next door and I realized that the red was very vibrant
and that it only took one coat for full coverage so I looked into the
interaction between the binders and the pigments

 _...whoever did it came up with this super cool approach. "_

I think a little less introspection and a little more extrospection might be
in order.

~~~
waterlesscloud
Really? I assumed there would be a lot of people on a site like this who do
exactly those things...

~~~
Consultant32452
I had to re-read the OP because I originally read it as having never met an
unemployed person that is curious about the world around them and makes a real
attempt to learn how things work. I find very few adults still have that
child-like curiosity about the world but the ones that do are generally very
well employed.

~~~
dfc
I am confused about the unemployed comment. The employed/not-employed
distinction was merely pointing out that lay people do not (and often are
unable to) look under the hood of things they do not understand. The implicit
thesis was that I disagreed with the author's concept that programmers are
special and that there is something unique about outsider's appreciation of
programming. (There is an air of elitism to "grocery clerk" example that I was
not comfortable with replicating.)

I am an adult with a child-like curiosity about the world and I am hardly very
well employed. To be honest I think an interest-in/knowledge-of a wide range
of fields complicates career choices.

------
yankoff
I got a friend of mine who is a very good guitar player, with classical
musical education and very sophisticated musical taste. He used to complain
that although it is easy to impress general public with your guitar skills,
but they will be equally impressed by something much simpler. Like a guy
playing a 3-chord pop song. If you have no musical education, if you don't
really understand the structure of music and how it's composed it'll be hard
for you to fully appreciate it. And those who do understand, professional
musicians, will often criticize it just like, you say, programmers on a github
will criticize your code. It happens in any professional area and absolutely
normal.

I think the problem is that you are looking primarily for extrinsic
motivators. Of course it's an important part and it's hard to exclude them at
all, but you gotta have something more then that. There should be an interest
in doing things just because you like doing them and you _interested_ in them
even if you couldn't share it with anyone else.

~~~
w0utert
And that's putting the article in perspective by referring to someone with
talent and experience in music, a universally enjoyed skill that also happens
to combine very well with typical feel-good scenario's where people are more
inclined to appreciate your work anyway.

Like someone before me, I can think of hundreds of jobs that require skills
with exactly the same opaqueness as programming: high finance, fundamental
science, designing and fixing machinery, wiring electronics/floorplanning
piping, genetics, law making, the list goes on and on...

There may very well be reasons why programming increases your chances on
depression, but the fact that its hard to explain, hard to appreciate by
outsiders, and doesn't get you laid, really aren't the root causes. If that
were true, almost everyone would be suffering from depression.

One side note I have about the guitarist analogy is that looking at the music
industry, it seems to me that incidence of depression, addiction, suicidal
behaviour, etc is much higher among pop stars than it appears to be among
high-profile technical people, which also invalidates the premise that
'recognition of skills' is such an important factor for depression.

~~~
Sambdala
_> There may very well be reasons why programming increases your chances on
depression, but the fact that its hard to explain, hard to appreciate by
outsiders, and doesn't get you laid, really aren't the root causes. If that
were true, almost everyone would be suffering from depression._

Maybe they are.

------
S_A_P
For me, a problem eats at me when I can't solve it immediately. Or say it's
not that I haven't solved the problem but I have to write all the gold plating
code to polish everything up and I don't have time. Or I have to demo a
feature with known bugs. It's an incredibly stressful feeling. I think it
boils down to what I want to finish and the time I have allotted. This can be
defeating and depressing. For me I have way more ideas than time. I love
designing Apis and architecting projects but hate the last 10% that takes 90%
of the time to get right. This sort of thing is what depresses me regarding
programming.

I don't need accolades or recognition. The reward is the resulting awesome
code for me. Knowing I built something useful is really all I need.

*edit autocorrect error

~~~
sirmarksalot
Couple that with a situation where you do have a solution, and you manage to
implement it, and then later on somebody takes over your codebase, rips the
solution out because they can't be bothered to integrate their new idea into
your architecture, and all the bugs that you thought you'd solved "once and
for all" come right back.

------
rsxzi
I think Rob fails to see the guy playing the guitar has the mindset to take it
upon himself to go and find his own audience that will appreciate his work.
The guitarist could be a session artist, locked away in a studio providing
minor contribution to someone else's masterpiece; putting him on par with Rob
and his lack of vocal appreciation he receives as a programmer.

Rob could find the same fulfilment and admiration if he was to go and create
his own work to display his talents to an audience. For example releasing an
app to one of the mobile markets could draw a decent parallel to the attention
the guitarist receives. The first piece of feedback about your work feels as
good as the thousandth. It may take a little more to get the cute girl home
but having your own project that's openly admired by X amount of folk is a few
steps up the ladder.

~~~
vlasev
The problem is that it's a lot easier for a musician to find an audience than
a programmer to find an audience. Music is nearly universal but programming is
quite obscure for people who don't know how. Everybody has seen a guitar or
even plucked the string but not many people have seen a source code or written
a few lines. Just because one can find an audience in theory doesn't mean it
is easy. People are more likely to complain about his app's functionality than
show appreciation. Now, if he really solves an annoying problem for the users,
there will be genuine appreciation but those problem as rarer and harder.

------
HolyLand
You must love what you do, that's the only real satisfaction you will get from
any task in life.

If you are suffering from depression you'll probably won't be able to focus on
your job or you can get obsessed with it which is also bad.

Programming is building things, you can in a way create something from
nothing, you can get rich, you can create art, help others create things, if
you are stuck building some godforsaken Linux library then get a guitar, you
are not all day programming right?

------
fogleman
Good analogy, but I think it might have something to do with sitting at a
computer all day and not getting enough exercise and having a shitty diet.
Myself included, sometimes.

~~~
andrewfelix
I agree, emphasis needs to be put on 'sitting at the computer'. I cycle 300km
a week, am married to a dietician, and take medication but I still suffer
severe depression.

~~~
cLeEOGPw
Exercise in a way that your muscles would hurt. It will at least lessen
depression because of lactic acid that gets to the brain.

------
larrys
Quick comments, wish I had more time.

I don't suffer (and never have) from depression so I can't know what you are
going through (I do know people though who have so I do have many years
exposure in that way fwiw.)

Programming is definitely one of those things that are harder to get
reinforcement from the general public on. If that is what someone needs they
will have a hard time. Not like in music (as you say) not even like in art,
not like getting good grades and/or getting into a good school. Not like
making wads of money.

That said early on I realized that many of the things that I did nobody cared
about. Rc Helis? Did that in the 80's (gas powered) nobody cared back then
(they barely do now) it was super niche. Photography? Really the same "he
takes pictures". "He's a photographer" (almost with a laugh). Many would get
annoyed actually. (I didn't care).

Likewise when I do negotiations and deals now (for clients) they have no clue
of the effort that goes in. I once sent someone a picture of an each (an inch
in height) of emails that I had printed out. To make the point (you have to
toot your own horn as uncomfortable as that is). Otherwise the only thing they
care about is the result. But you have to show why you charge what you do.
Otherwise they think it's really easy.

But it's something that I have always dealt with with things that "I do" so
I've just learned to accept it. But I've definitely recognized it and yeah it
would be nice if people acknowledged what you did for sure. Luckily my wife
will listen to my war stories on things. But if I show her a script that I
wrote to automate things she glazes over "he does computer things" (like the
guy who does woodworking I guess).

In a sense this is why some people need the trappings of success (nice house,
nice car) because that way it's a marker that "they must be doing well if they
could afford the expensive Porsche" and yes you do get treated differently.

~~~
thaumaturgy
> _In a sense this is why some people need the trappings of success (nice
> house, nice car)..._

I'd never considered that, but that sounds right. It might not even be to show
it off to other people so much as to remind yourself of your own success.

------
rinon
Unfortunately, even in programming, there are fields where programmers can't
even share their work with many other programmers they know. Responses like:
"Oh that's low-level x86 assembly, I don't touch that stuff." "Ugh I hate GUI
programming, give me something real." or "Web programming? I only know about
databases, sorry." Programming is such a varied field that discussing your
work might require online discussion of the handful of people spread across
the world that actually care about the problem you solved.

------
cursork
For this comment I'll try to stick to one specific thing. I'll focus on the
mechanic analogy, but I do think the premise of the article is flawed. I have
some thoughts about burnout in programmers etc. but they aren't well enough
formed for a 1am UK time post...

I actually think the analogy of car mechanic is really appropriate. Many
people (myself included) could not fix even the most trivial of problems. I
have fixed some very very trivial problems by poking around / research, but as
a general rule the car has just gone into the garage, and _someone else has
fixed it for me_.

I've also once had a car in the garage for over a week. I briefly mentioned
the problem, over the phone, to my non-mechanical grandmother, only to have
her diagnose _exactly_ the issue at hand. Simply: She has had the same thing
happen to one of her cars. Those mechanics hadn't seen it. So she was correct.
But that anecdote doesn't really mean anything. It was just one of those
things. Experts can't know everything and those car mechanics will always know
more than my gran about cars!

'So at the end of several days' worth of programming, and problem-solving, and
forward-thinking, all a programmer might get is a "thanks, now here's the next
thing I need you to do."' \- yes! That's exactly how mechanics (amongst
others) are treated! Who pays a mechanic and says "amazing job" when they
don't understand the original problem? It's meaningless faint praise to say
good job for something you don't have an inkling of the difficulty of.

The whole article sounds like the author wants programming to be treated as
art. I tend to agree that it takes great skill and dedicated learning to
become a good programmer. But I don't think that is what defines art. It takes
skill and dedication to become a good carpenter, a good brick-layer, a good
joiner... But no one gives these guys a round of applause when they do
something subtly brilliant. It's only others in their craft that go "hey,
that's really pretty nice, well done".

* Sorry. Building references just came to mind. People don't notice when they do a good job, but oh boy do they notice when a not-quite-good-enough job is done!

~~~
thaumaturgy
I'm actually not really convinced of the programming-as-artform treatment
that's popular in a lot of programming circles.

The main difference I was trying to illustrate between mechanics and
programmers is that people occasionally get exposed to at least a little bit
of the complexity that mechanics have to deal with. That might not make them
treat their mechanics as well as they should, of course.

But, in programming, we want to hide as much of the complexity from people as
possible. Error messages have to be meaningful to the layperson, interfaces
need to be intuitive, and so on.

I haven't been able to think of another discipline quite like that. If anybody
else can, I'd love to hear about it!

~~~
cursork
All analogies break down. Of course.

How about (staying with the building analogies because I'm in a building right
now and looking around trying to think of analogies...) the electrician who
has wired your flat? You don't think anything of the lights coming on when you
flick a switch. Live in a place that's got slightly mediocre wiring, you don't
really notice generally, But once in a while it bugs you that the light just
blows sometimes. For no reason.

Of course, there's no error messages for a light failing. It doesn't tell us
why it failed.

In truth I think our discipline is a unique discipline. Just like everyone
else thinks theirs is (tell a plumber they're basically equivalent to a gas
engineer or vice versa - but we 'normals' treat them that way). But we tend to
concentrate on our new, unique-ish-ness. Our field _is_ young, it has a long
way to go. But essentially I don't see why programming needs to be, or should
ever be, elevated to a particularly special status.

Point I didn't bother making explicit in my first post: Great music and art
both have an effect on people who are not versed in music and art. Great
programming only has an effect on fellow programmers.

 __EDIT __

I think my basic point is that we should see our jobs as those where we get
our work done. And we do the best job that we possibly can.

That's it. Not over-burdening ourselves for 'just one more push' (I'm
currently failing somewhat with this in my current contract - do what I say;
not what I do..). We as a group need to realise that like other people, we
need to go home sometimes and relax too... That's the most beneficial thing.
Not believing that our job is somehow exempt from the work/play balance

------
scrabble
When I find that my standard coding is not giving me the happiness and
appreciation that I need, then I take a break from whatever I'm working on and
do something else.

For example, I might build a new tool that better automates a part of our
deployment process. Or I'll automate document generation and updates for our
company wiki. I find that these tasks typically don't require a ton of work,
but receive a lot of appreciation from the dev teams working with me.

------
andrewfelix
Personally I think it has more to do with the conditions of work. For example,
working autonomously and not interacting much with others. Validation comes
from shared experiences, but it doesn't have to be limited to programming.
Just having the odd conversation with people about anything mildly
intellectually stimulating helps so much.

------
terranstyler
I think "Programming" is just a word to decribe the representation of the
consequence.

The real value of a programmer is in understanding things fully (in order to
formally articulate them in a program).

The suits I work with don't understand things fully, they just understand it
to some (I'd say superficial) degree. Then they decide something but they
don't know what constraints apply to what element in the process and their
estimates / decisions / ... are regularly completely off.

So I am not only a programmer, but I am the "understander" of the domain (and
thereby of the production part of our business). This creates a lot of
frustration because the suits decide, yet they don't know that they don't
know.

Hence also the tendency for good programmers to become independent or
depressive.

------
frevd
He must be seriously depressed by his daily routine to miss the point of
programming by that much - it's a creative discipline that allows you to bring
something to life - no cheers needed. If you want cheers though, present your
salary or income numbers to people in other professions. Only being a stock
broker allows you to earn more money, you can even freely decide the price
most of the times (and within reaonsable limits and your competition), since
your clients are unlikely to be able to estimate the technical efforts behind.

~~~
boomlinde
To be perfectly fair, I don't think that there is a single universal point of
programming. Doing it for recognition seems equally valid to me, and if
nothing else, recognition generally encourages people to do things.

------
Sami_Lehtinen
I remember that it was said in some research article: "That people who have
realistic world view, will be depressed sooner or later." So I guess
programmers are quite pragmatic and smart people, which inevitably leads to
seeing how wrong things are. I have often thought, that it would be much
easier to be dumb enough, just to be happy and thinking that everything is and
will be alright. I don't need to worry, care, and what will happen will happen
and I can't personally affect it in any way.

~~~
MarkTee
"Ignorance is bliss."

------
E_Carefree
Hey man, I feel ya. Some jobs are fucking thankless. I'm in one myself and I
think it comes from being lead by people who don't respect and acknowledge how
positively you are impacting your company. My guess is that you don't respect
your company leaders either. But look around. I think you'll see that a lot of
your coworkers are in the same place. I blame bad management.

My advice, either demand respect or go find people who you respect and who
respect what you do. Then find a way to work with them.

------
thomas_eh
I don't think it's a recognition; at least I don't see that big of a
difference to other professions/life styles, etc). There may be an element of
solitude, based on how many like minded people are in your life, but I think
that goes for alot of other professions as well (e.g. medicine)

My own theory (at least about myself) is that being a programmer, I spent at
least half of my day looking at complex systems trying to figure out what is
wrong.

Don't get me wrong Programming can be an incredibly rewarding
experience...literally creating using primarily pure thought is about as close
to "creative" as you can get.

But regardless how how rewarding it can be at times (when you get to marvel at
the solution / result), the actual process and significant amounts of time
revolve around solving problems. Essentially we spend most of our day focusing
on negative facts, trying to figure out whats wrong.

When walking around the real world focusing largely on what is wrong, these
thought patterns however are not nearly as effective as when dealing with,
albeit complex, well defined logical structures. So not only does focusing on
negative things itself introduce depressing thoughts and emotions, but the
inability to find "real solution" to problems in the real world the way you do
when programming can also be frustrating.

------
benzesandbetter
The author seems to be frustrated about the lack of rock-star style
recognition for his efforts. I have a few thoughts on this.

If you make something truly useful, and market yourself well, you're going to
make a lot of cash. That's a key form of recognition for your work. It's up to
you how you manifest that into social proof or other rewards. Get yourself a
nice car or two, eat at the restaurants you like, get a decent watch. Give it
away. Date models. Whatever makes you happy.

Or don't. That's one of the best things about the type of work that we do.
Apart from the absolute upper echelon or startup founders, VCs, etc. we're
able to go about our lives unnoticed and unperturbed. If you're Apple employee
#17, or founder of a $100k/mo SaaS startup, chances are you can go about your
life largely undisturbed.

Anyhow, looking for recognition from others is a pretty empty thing. Having
the resources to live the life you want... That's much more compelling to me.
I'll pass on the cheering, free drinks, and groupies. Being able to jump a
flight anywhere in the world tomorrow, huck an M5 around the Nordschleife, or
lay around Punta del Este for weeks. I'll take freedom and lifestyle over
attention and recognition.

------
WithTeeth
Reminds me of an old PhD comic,
[http://i.imgur.com/uLYImfg.jpg](http://i.imgur.com/uLYImfg.jpg)

------
level09
This is a brilliant article. however, I dont think programming can get you
just a "Thank you".it can get you exponential growth in your bank account, it
can buy you first class flights around the world, luxury cars and an elegant
life style. we are at a stage of human history where it easier than ever to
convert knowledge into profit.

~~~
jiggy2011
Most programmers don't get that except a few who win the startup lottery. Most
developers work for a slightly above median wage in a cubicle in some
insurance company somewhere.

------
antirez
Write code for the fun of it: coding is really really really a fun activity,
since you create something out of nothing. You don't need to show others that
you are capable of coding. What you learned is part of you and even when you
talk with your friends about other arguments, your background is part of what
you say.

Most people will want to stay with you and have fun with you since you'll be
able to: relax, make some joke, cook some great food, propose some activity to
do. Focus on having fun with other people, it is your time to _avoid_ thinking
about code and programming.

I hate when people talk about programming to dinners or at the Pub. I took the
habit of saying "Hey... I work all the day, no work talking now my friend
;-)".

~~~
nevir
That seems disingenuous for some people: programming can be a bobby, too.

I'm guessing that you have a completely different reaction to someone who is
telling their friends about their latest rock climbing exploits. (Scaled this
massive chimney, had to use this super awkward crack for a peton; super
challenging climb! Etc, etc).

Why is programming treated differently from other activities your friends do?

~~~
antirez
Because it is mostly at a level of details that without specific understanding
of the topic it is impossible to understand and boring. But, if we would work
as alpine guides, I would not be happy with my friends talking about climbing.
The problem is basically: it's what we do all day + it excludes people outside
of our circle.

~~~
nevir
Ah, gotcha!

------
yoha
> But if you are a programmer, you can't [demonstrate your skills to laymen].

I don't think it is exactly fair to say so. What a programmer can't do is show
off whenever he wants (like “hey, look, I just refactored this whole project
and now is does the exact same thing as it used to do”). This is more a
problem of context: sometimes, people will be faced with problem, or won't be
able to understand something; at this moment, you can demonstrate what you can
have a computer do for you or how well you understand it.

But the point is that some people have less opportunities to show off, I have
to agree with the fact that programmers are some of them. However, there are
not alone (think mathematicians or accountant for instance).

------
chipsy
w/r to the idea of being the guitar player, it's called "the flashy demo." If
you really want to appeal to a crowd, there are some ways to do it with code.
A large cross-section of "indie games" is based around bits and pieces of
exactly this dream - make something very eye-catching that gets attention,
money rolls in, and then later you get up on stage to take your award, so on
and so forth...

But even if it came true for everyone, it just isn't the real reward, even for
the virtuoso guitarists who actually get that kind of attention hundreds of
times a year. If it's not intrinsically rewarding it's going to be another gig
and mean shit-all in terms of how you feel.

------
grrowl
I think a more important message is being buried here. Yes, the work itself
should be rewarding, but there are so many programmers out there who bleed
their heart into code, but as a profession they only work on soulless
projects. There's no "canary in the mine" in regards to positive feedback: you
got what you wanted, a job as a programmer, so enjoy it or suck it up. Even if
it sucks.

Personally I consider taking up my hobby, programming/development/web, as my
all-or-nothing full-time career to be one of my biggest mistakes.

------
hereonbusiness
Well, programming in itself doesn't really have much entertainment value at
least not for non-programmers. Heck even I as a programmer have looked into
the code of only a minority of the myriad libraries and applications I use or
my applications depend on.

But, if you create something that's appealing to a lot of people you have a
good change of getting recognition for it, sometimes even more than you've
bargained for. Just look at Dong Nguyen.

------
innertracks
My friend depression has walked with me for decades. We finally came to an
understanding. I take care of myself every day and depression fades into the
background allowing me to enjoy using the engineering bits of my brain in
balance. Getting enough sleep, eating well, drinking enough water, being
grateful for what I have, exercise, and a community of friends have been key.
Nature walks, yoga, and Argentine Tango work for me.

------
leishulang
Well, if you loving programming and want to be that guitar guy at the same
time, look into Overtone/livecoding.

~~~
Estragon
I haven't yet heard any good music done that way, but I'm looking forward to
it.

------
joesmo
I think "burning out" and "depression" (or "depressive episode" etc.) are
essentially the same thing. "Burning out" sounds a lot better and has less
negative connotations, but the symptoms and effects, in my experience, are no
different.

------
dl8
I think if you do web or mobile stuff, you can easily amaze people as well if
you have some interesting projects, considering how everyone has a smartphone
nowadays - you can just be like "hey check out this side project I've been
working on lately"

------
mark-r
Should we be worried that the last post on the site, about depression, was
almost 2 years ago?

~~~
thaumaturgy
No, I'm right here, I've just been too busy to bother with my personal site.
:-) (And, every time I look at it now, I go, "yuk.")

------
abus
I think the issue is how long it takes to get in "the zone" or have the
problem in working memory. If you go to sleep you know you'll have to go
through that process again tomorrow before you can start being as productive
again.

------
Sirenos
Is depression really that much more prevalent among programmers than those of
other professions? I am quite curious about this given how often you find
depression-themed posts on this site.

If there have been any studies on this, links would be appreciated.

~~~
DanBC
There's a bit of skew in the number of articles here. Some high profile cases
and a desire to de-stigmatise mental health problems means that people are
keen to discuss good articles about mental health problems and treatment.

I suspect that there is some correlation between 'programmers' and 'people who
have depression' because 'programmers' includes many 'people with Aspergers'
and there is known links between Aspergers and depression.

Although I to would love to see good quality research.

(This is perhaps a nice website idea: "Here's a research paper. What are the
problems with it? Is "$Thing@ supported by this evidence? How do I find more
research?"

This would be an attempt to educate the public about scientific literacy.)

------
jvh23
This is one of the reasons I tend to like front-end work; you can _show_
people the fruits of your labor, and they can appreciate it.

------
pikachu_is_cool
This is because 99% of people perceive programming as a job, not an art. The
fucked up piracy and copyright laws extenuate this.

------
danso
> _What you can do is share your code with other programmers. I think that 's
> the real value of things like Github. But, programmers are a notoriously
> savage bunch, and Github attracts top talent from all corners of the world.
> You are just as likely to hear a comment breaking down why your approach was
> wrong, or why you're using the incorrect syntax here or there, or why
> there's already some library by some other Joe Schmuck that does the same
> thing, only better._

I won't lie and say that programming is the most uplifting job in the
world...its very physical implementation -- involving the long lonely staring
at a plain text screen -- is a depression-breeding environment. What has
helped me _not_ be depressed about programming is to come up with much more
intrinsic values for why I program. So I'm not programming to write better or
faster code than the many geniuses out there, I write code to satisfy _my own
needs and goal_.

So to the author's point above, I _love_ the debates and criticism that Github
fosters. Submitting a pull request and then repeatedly checking my email to
see if the maintainer has made a comment is even more addicting to me than
checking Hacker News. I don't mind a "thank you", but I really _love_ a
"Thanks, but this is feature creep" or "Why did you use this approach when our
convention is [this]?" or even a "Please clean up your code, it fails
[whatever code quality tool they've grafted on to the test suite]." Usually
the maintainer is right, and I'll have learned a little more about best
practices, and sometimes even if I disagree but am in a decent mood, I'll do
as they say just because sometimes the physical act of writing code helps me
understand it.

But the key is this: I almost never contribute code that doesn't immediately
help _me_...this includes everything from a feature-creepy feature to a bug-
fix that affects my particularly wonky setup. That way, even if the pull
request is rejected, I still have something that I can use and be happy with.

There's nothing wrong with selfish goals in coding, and I believe that
programmers often aren't selfish _enough_...or at least in the right ways (I
suppose wanting to program just because you think it'll earn you money is a
selfish mindset, but it's not immediate enough, IMO).

One of my favorite Woz stories is not _just_ how he built the Apple ][ Floppy
Disk -- regarded as an early Apple Inc. lifesaver and a technical marvel --
without any previous floppy drive experience and in about 20 days, but the
fact that he did it (according to various Apple writers) almost solely because
Mike Markkula had tempted him with a free trip to the Las Vegas tech expo, and
Woz had never been to Las Vegas before. Can't get much more "selfish" than
that :)

------
oakaz
you can demonstrate your skills actually! just make something!

------
thenerdfiles
You know, a girl asked me what I've done. We were at a hackerspace.

All I could think is that I've built corporate sites and worked on great
teams. I mean, I have a github repo with stuff and junk, but those are just
ideas. -- "Hey babe, well, check out this 2KB grid system I can build."

Still: so?

Is that the problem? That socialism gives you no speed dating swag? Really?

Explain what you've written, code or not.

Leave evolution to its mutations.

------
joslin01
The analogy between a guitar-player and a software engineer is a pretty poor
one. You wouldn't go up and say "Hey guitar player, you should do it like this
and that" because there's no absolute "correct" way of playing guitar. It's an
art-form.

Engineering on the other hand has problems to solve, and so each solution (in
code) gets judged on how well it solves the problem. I don't like the idea of
saying "Hey nice try! Let's just go ahead and use it!" if the code actually
sucks. That's the real world -- things can suck.

Look, end of the day, it's not about other people's opinions. When other
people are cheering you on, it influences you to feel good about yourself, but
you can do that yourself. If you're not OK with that, maybe you should be a
guitar player. As for me, I'm pretty happy with the luxuries being a
programmer affords me.

~~~
zedshaw
Wrong on both counts. Guitarists are douchebags who frequently grab guitars
out of the hands of other people and proceed to show them how it should be
done while they blast out blazing idiotic riffs. People who don't play guitar
also frequently have an opinion on how you play, how to play it "right".

When it comes to software development there is a huge amount of opinion based
decision making on what's good vs. bad code despite whether it actually solves
a problem or not. Frequently programmers will pick languages and solutions or
write code that is awful but then promote it like it's the best thing ever.
Even supposedly "perfect" systems for software development end up being
horribly unusable and based on basically the equivalent of mathematical
fantasy and marketing.

So no, you are pretty wrong on both assertions, and I found that the article
had a significant insight I hadn't considered before.

~~~
dorfuss
Very true. But also there is another aspect to it - there is a lot of
admiration for programmers and engineers and what generally hackers can do, be
it Steve Wozniak, Bill Gates, Ted Hoff, Kevin Mytnick, Elon Musk, Kim Dotnet
or Edward Snowden - each one of them is a pop superstar in his own respect, no
less than Madonna or Britney. Most people see only the final effect of years
of dedicated effort, and cannot appreciate Sting's solfeggios that underline
his performences. But people do see and appreciate the big bucks of Zuckerberg
and Jobs, their impact on culture and social interaction.

On the other hand people don't see the simple coder behing an app just as much
as people don't recognise the tuck driver who delivers the groceries.

