
Demotivating a (Good) Programmer - lbrandy
http://lbrandy.com/blog/2008/10/demotivating-a-good-programmer/
======
anthonyrubin
I assume this wasn't meant to be comprehensive, but I believe a big factor for
many developers is their coworkers. Working with people that are your equals
(or better, people you can learn from) is very motivating.

Will I have to deal with people that don't really know the language we use and
ask me questions instead of doing minimal investigation on their own? Will my
coworkers produce code that looks like something you'd expect from a freshman
CS student? Will I spend much of my time putting out fires caused by
incompetent coworkers?

~~~
thomasmallen
I'm the only person on a frontend web dev team who knows:

* Semantic HTML

* Advanced (> Basic) CSS

* Stylesheet design

* JavaScript

* JavaScript libraries

* How to write a reusable function

* How to use a database

* Damn near anything outside of Dreamweaver

Sometimes I really, really think I need a new job, but someone would have to
approach me because the market's too risky for me to justify a serious hunt
right now. In the meantime, I get to teach everyone else as much as I can,
create interesting work for myself, and take care of my responsibilities which
is the easiest part.

~~~
bdr
If you want to be contacted, put your email address in your profile.

~~~
thomasmallen
I wasn't fishing for anything, but I suppose it wouldn't hurt.

~~~
colinplamondon
Why not fish if you aren't happy? People who are looking to hire regularly
read this site.

~~~
thomasmallen
Good point. In that case, anyone who needs a CSS guru/frontend development
expert...

------
gruseom
Here's a point I wish were made more often:

 _The highly motivated people don’t come to work to play xbox._

I so agree. For great programmers working on great projects the work itself is
the fun. Far too much emphasis is placed on extraneous goodies, probably
because they're visible and everybody (including managers and journalists) can
understand them.

~~~
prospero
In my mind the foosball tables and video games are a way of demonstrating that
a company cares more about your actual productivity than whether you appear to
be busy all hours of the day. The times when I'm really productive are more on
the scale of sprints than marathons, and it's valuable to sometimes do
something other than sit in front of a computer if I'm not feeling productive.
Personally I'd never play video games during the workday because they destroy
my ability to concentrate, but I appreciate the sentiment.

~~~
silentbicycle
Lenient-to-nonexistent dress codes and flex time can go a _long_ way here,
too.

Sometimes, having foosball tables and video games around distracts the people
who actually intend on doing work, though.

------
ojbyrne
I think this is entirely true, but as a manager of programmers, you
immediately run into a dilemma. Business is boring. There's a ton of prosaic,
mind-numbing work that has to be done by someone. Personally when it comes
time for me to "hack in where I can" I make an effort to actually choose the
most mundane, boring tasks available. But part of the reason I do that is
leading by example. So if I'm willing to do the shit work, I expect other
people on my team to contribute when the shit is piled highest.

I also think the foosball, xbox 360s, nice chairs, etc are an attempt to make
those basic facts more palatable. And its also true that really great
programmers can make the "shit" just disappear, if they're given enough
freedom. I.e. they can elevate your department or company.

------
lbrandy
Hey Hacker News, author here.

I have a totally unrelated question about this post. Do you see the two
trackbacks? One of them (the first) appears to be a totally legit blog, but
also appears to be spam? What is the proper etiquette in this situation? What
is your opinion on trackbacks?

~~~
sosuke
You run an editorial style blog site, kill the one you don't like and call it
a day. At the end of the day it is still your site and if you don't like the
content of it and have not sold it as a user generated playing field then no
one can complain.

------
wheels
The one that usually gets me is what I call the interest curve -- the things
you've already done a several times at a work place tend to become less
interesting, while management tends to assign you more and more of that
because you're the expert.

------
cookiecaper
While it is true that your developer won't mandate an Xbox, there are many
interesting problems out there, and if your company offers interesting
problems and an Xbox, good equipment, good co-workers, and good salary, it
will be much easier to retain good help.

I'd rather work somewhere where I know that I'll be recognized as more than a
wage slave and I think that everyone else is the same way. The people who are
good at what they do will gravitate toward the companies that offer the best
environment, all things considered, which includes salary, perks, "chill
rooms", etc.

------
a-priori
For me at least, there is a major exception to #2 and #3: it doesn't matter
how peripheral it is, or how many people use it, if it has a great educational
value. Of course, prudence requires you to realize when you have extracted all
the fruits of such educational projects. At that point, you need to stop and
apply the knowledge elsewhere.

------
msluyter
A couple more possibilities:

1\. Tasks that require a lot of repetitive, manual work, but which are
difficult to automate. Example: UI testing.

2\. Creaky legacy projects using outdated tools/code/platforms. Some people
like Software Archeology (I sorta do,) but most developers seem to hate it.

~~~
demallien
Yeah, but you see the problem with both of those is that they have challenges!
How can I build a good UI testing framework? How can I turn this large mass of
spaghetti into usable code? These are exactly the sorts of things that are
good challenges for a programmer.

To give a real-life example, I was handed a project last week to create a new
project - the source code mostly existed, except some glue, but I needed a new
build environment. Now, I _could_ have passed a very boring week manually
creating makefiles, or I could do what I actually did - create an optimised
makefile format, then write a parser for it in Ruby. The actual generation of
the build environment ended up taking about half a day, with the
parser/semantics analysis taking up the rest of the time. It was fun work, and
better yet, the next time someone asks me to do this, I'll just grab the tool
that I developed this time, and it'll all be done in half a day. As an added
bonus I got to play with a PEG parser generator for the first time in my life
(way nicer than your typical yacc-style ambiguous grammar - thanks Chomsky,
you bastard!)

------
lpgauth
This is so true, usually when I start a project and there are lots a problems
to solve I'm hyper motivated but by the end of the product development I start
loosing focus and it's a pain to do little bug fixes.

------
known
Asking a Programmer to 'manage' client expectations.

------
rochers
This is so true.

------
alecco
Sources? Not even anecdotal evidence?

~~~
raganwald
Once upon a time I was the development manager for a product that we took from
$100K to more than M$10 a year in sales. The President of the company called a
big meeting, congratulated everyone on the success, and then explained that to
take a company from being "just a product" to a sustainable enterprise rested
on farming its cash cows and investing in developing future star products.

So... He was forming a product research group to think up new products,
starting with looking at the exciting new wireless "space."

Cool, I thought, and asked to get in on the new group action. "Why?" he wanted
to know, "you're doing a great job where you are." he staffed the new group
with managers and developers from other teams with less successful products.

Shortly thereafter, I joined a start up.

~~~
raganwald
Re-reading this, I want to emphasize I am only telling this story to as an
anecdote in support of the idea that the perception of being tangential is
demotivating. The story should not be construed to suggest that the President
was making a management mistake.

The product continued to make them a lot of money after I left, so it's not
like they lost anyone critical :-)

~~~
jrockway
_The product continued to make them a lot of money after I left, so it's not
like they lost anyone critical :-)_

I think what this shows is that products are successful after they become
successful. Once everyone has heard of your product and know that it's good,
they want it ... regardless of whether or not the competition is "better".

If I were Microsoft and one day I replaced Visual Studio with vim, I'm sure
people would like it much more than when it was called "vim".

~~~
ovi256
And that, my friends, is _branding_.

------
mroman
Allow me to add URGENCY for no good reason, it actually hit me once I saw it
articulated on the 37 Signals blog . . . last big project I worked on, my
goodness, I had the WORST neurotic and paranoid (I really do think she uses
drugs) suit woman from hell as a project manager, no clue, all urgency, I
would say "don't do this" or "do that" and she would do the opposite, thereby
starting fires that I had to put out IMMEDIATELY of course, it was one thing
after another, seldom did I ever get to complete a task before having 3 more
hurled at me _ALL URGENT_ it was nuts! After almost a year of that, I felt
burned out for like 3 months. Has anyone had similar experiences? This woman
was crazy, she would call me on the phone 7-8 times a day, ask 90 questions
one after the other (not letting me completely answer a single one before
moving on to the next one of course) write me like 15-20 emails (more
questions, or urgent requests) . . . she eventually ran the small company into
the ground, totally crashed and burned, it was amazing, at least I made some
money, but my goodness, it was insane. And underneath everything I think the
most damaging thing was indeed the urgency.

~~~
Herring
So what you're saying is she liked urgency?

~~~
mroman
Yes, she did, and seemed to generate more situations that actually required
it, apparently because she enjoyed it.

Funny thing was, she NEVER applied that sense of urgency when it was payday,
or when it came to performing tasks that only she could do, yet she certainly
loved to send me scrambling.

Suits are sick people, I actually feel for them at times.

------
ajkirwin
Be nice if this site was up.

~~~
lbrandy
Sorry. You guys killed it :). Working with slicehost to get it back up now.

~~~
ajkirwin
If Hacker News can kill your site, then it has problems.

~~~
lbrandy
It wasn't just hacker news. I disabled caching when messing with the style
sheet and forgot to re-enable it. Wordpress sans caching was eating the low-
end slice I had from slicehost. It should be fine, now.

PS. the slicehost guys were a big help, worth every penny.

~~~
davidw
I'm considering using slicehost. What do you mean 'killed'? What happened?
How'd you learn about it? How are they helpful? I'm quite curious as to what
the parallels are to a 'real' physical server, like the one I have now.

~~~
lbrandy
I noticed my server was sluggish. I ssh'd into it just in time to see some out
of memory errors and notice my top was loaded with apache children. My ssh
terminal became unresponsive.

I went to the slicehost chatroom and said "uh oh" and they told me to use
their local web-based console. It got me to the machine just in time to see an
endless loop of 'out of memory' spam.

They told me I was swapping like crazy and having memory problems. They asked
me about my mysql/apache config.

As per their suggestion, I rebooting the machine to try to get into apache and
lower the number of children, and the machine crashed after reboot before I
could do anything, with more out of memory spam.

They suggested the best next step was to do an upgrade on the slice from 256
to 512, which I did. It took about 10 minutes. It's prorated, so I only pay
the higher price for the amount of time I'm at 512. Once I upgraded, the
machine was stable enough for me to re-enable caching.

Now that the crisis was averted, all the extra apache threads died off, and my
machine went back to normal. They gave me a bunch of links showing how to more
properly configure apache/mysql for low-ram VPSs.

~~~
alex_c
Can you share those links?

~~~
lbrandy
<http://forum.slicehost.com/?CategoryID=7>

...especially..

[http://forum.slicehost.com/comments.php?DiscussionID=853&...](http://forum.slicehost.com/comments.php?DiscussionID=853&page=1#Item_0)

Here's another I dug up: [http://chrisjohnston.org/2008/configuring-a-
lightweight-apac...](http://chrisjohnston.org/2008/configuring-a-lightweight-
apache-mysql-install-on-debian-ubuntu)

