Hacker News new | ask | show | jobs
by mechanical_fish 5296 days ago
I don't really know the feeling of what is like to create something.

Take a cooking class.

I'm absolutely serious about this. You learn to build things by building things, and you build things by following recipes, recipes that are very slightly above your skill level, but no more. Go get some recipes, and use the techniques they tell you to use, and build some pancakes, and eat them. [1] Then you will "know the feeling of what it is like to create something." Something tasty.

I can hear you already: "My pancakes are just pancakes! They are not amazing and original pancakes." This is true. You need to get over that. Trying to amaze yourself is generally a waste of time. You can't do it consistently – that's what "amazing" means: something that doesn't happen every day. If what you want to do is create things, lots of things, every day, you've got to realize that it's not going to feel amazing while you're doing it. It's going to feel normal.

But: It will be tasty. Oh, there are worse fates than being so good at making pancakes that you can make them without even thinking. For one thing, other people will eventually start talking about your amazing pancakes, and even though you'll know in your heart that they're flattering you - hey, they're just the same pancakes that you've made a hundred times, from a recipe, with only a minor tweak or two - it will still be gratifying.

And maybe in thirty years you'll be the next Anthony Bourdain, and you'll be out drinking one night and suddenly you'll look at yourself and your own life and be amazed: You remember starting off with the pancakes, and you just kept trying a little more every day, and then there was the day you got a job cranking out those pancakes on the line, and man was that an educational experience, but now it's years later and you're shocked to find that you're some kind of breakfast legend, people line up for your amazing cooking, and at that moment you'll actually be amazed at yourself for everything you have accomplished. You'll be amazed for at least five minutes, maybe even ten minutes, depending on how much you've been drinking. [2]

Then you'll wake up the next morning and go back to work, just like we all do.

Anyway, programming. Throw SICP away and try something like Zed Shaw's Learn Python the Hard Way, something with a lot of exercises. Do all the exercises. Then do some of those programming-contest-type problems. Do little problems, ten-minute problems, thirty-minute problems. Practice the art of small victories.

---

[1] No, do not use a pancake mix. That's like copy-and-paste.

[2] Incidentally, alcohol is a depressant, so don't think I'm seriously recommending it to someone who is already depressed. Coffee! I meant coffee!

2 comments

Learning to cook is one of the most important things I've ever done for my creativity. Not only does it help you get into building things, but it's a great way to blow off steam and boost your self esteem with small successes. I learned from a friend who taught me his "no recipes" approach, but I'm sure a cooking class would do the trick if you're not an improviser.

A meal or two per day and suddenly everybody is complimenting you.

I really like this advice. Even if you're not doing super-duper, crazy creative "disruptive" things all the time, one can get a huge sense of satisfaction by approaching some platonic ideal of pancakes, or whatever. Even if your code (or copywriting, design, or whatever it is you do) isn't groundbreaking, you can still strive for the ideal form of whatever it is you're working on.

I heard a really good piece of advice, in the form of metaphor: If you install carpet for a living, you don't have to like the carpet you're installing, but you should be damned proud of how well you laid it down.