Hacker News new | past | comments | ask | show | jobs | submit login

> Why can't I do it?

Ah, because your brain is rebelling against having to deform itself to fit someone else's mode of thinking. Most software other people have written is full of WTFs even in just setting it up. I had this problem with Trac recently -- I had set it up in the past, but it had been a while, and I found myself banging my head against the wall wondering why I have to learn its setup and command quirks. It SHOULD just ask me for an initial admin account password and the rest should be all point-and-click. (Not to mention, customization is a pain.)

When you're young and don't know any better, you're motivated to learn whatever arcane minutiae the presumably-expert authors of whatever software you're using have required.

Later, your brain will rebel against having to go through the motions because they are boring, tedious, and stupid.

If you have this problem when working on your own code, it's because something is nagging at you for not being as clear and simple as you could be. Maybe you just need a hash table instead of 100 different derived classes. Maybe the framework you're using obfuscates things too much.

This is the paradox of age: younger people are more motivated to do things because more things are NEW, but they lack experience; older people have the experience so their designs are better, but they lack the motivation to do the parts they now feel are tedious and stupid.

It has something to do with gullibility. When software says, "here's how we do things!" younger people are more apt to go along with it. Older people's brains become very skeptical and will refuse to go along with it, demanding a bigger payoff or a different sort of payoff. (For example, you might find you are able to do something tedious for a girlfriend/boyfriend because your motivation to please someone else is much greater than the very minor impulse you have to do it for yourself, since you don't find it interesting enough.)

Our brains put on the brakes more as we age; we have general pattern-matching brains that CAN do a lot of interesting things, but they aren't really designed for it. The payoffs we get for non-essential things tend to decline; our species evolved so that PRIOR to adulthood you should know everything you need for survival in your tribe/area.

Then we become more focused on the important things, evolutionarily: socializing, finding a mate, raising offspring, etc. We become much better at recombining ideas in the pursuit of improvements, but software that requires thousands of prerequisite steps just in order to have the basis for implementing your improvement is something foreign to our nature. Also, working at it alone is foreign; we like to cooperate (look at the overwhelming popularity of team games vs. solo play), and younger people who are excited about something help keep our own motivation up (younger siblings, friends, or teaching our own children who naturally would help take up the reigns more and more as they grew up).

Going off into an ivory tower alone with dusty tomes is just a good way to bore yourself to sleep.

You need a compelling reason WHY that will actually work for you. Finding some way to have fun or at least not suffer in the process of doing whatever the tedious parts are is essential. It needs to feel enjoyable somehow or you won't do it long-term. (Pain can get you to do something short-term but isn't a good way to produce your best work, and as soon as the pain drops below threshold you'll just put it off again.)

You know how you could do this already, because you know what things motivate you. The trick is connecting something that DOES motivate you to doing something that doesn't. This can be hard to talk yourself into because you become skeptical even of yourself.

Besides motivation, one trick is to just turn your brain off. Just think about what you're TRYING to do, not about why you should or how you should do it; don't think about rationalizations. Then you can do it step-by-step almost like blind evolution (works for sysadmin stuff; it does make for pretty ugly code, but it gets done at least; and is only really needed for boring parts which tend to be too simple to interest you anyway).

Basically, our brains aren't really designed for software, which is why so many people have good ideas but so few people IMPLEMENT them. This situation is very, very natural. We think in patterns, in general senses, with specifics only for the KEY innovations; when every single effin' step is specific for thousands of mundane tedious steps, that is NOT what we are made for.

Another trick that might help is to work backward -- start doing the key part first, even though there isn't enough scaffolding around it to do what you want. Then start putting in the minimum amount of scaffolding to make it work.

It's much more natural to make changes to a project than to do a project from scratch.

More as I figure it out...




Very good description! Yes that "software full of WTFs" thing is absolutely part of my problem. But I don't want to be like that - I want to be able to decide on something and do whatever it takes to achieve it. It just seems that my mind doesn't work like a simple machine...


Wow! Just wow! I see myself in all of that (i.e., I'm getting older) and it just hits the mark.


The church speaks in latin because it makes common people look foolish and inadequate.

The computer "programmer" speaks the most needlessly complicated language because it makes him the focal point.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: