top | item 3346422

(no title)

d_r | 14 years ago

What you see on HN/TechCrunch/whatever has a strong "success bias." What this means is that you only get to see/read success stories. But there are also many people just like yourself who are just starting out. Many have failures under their belts. Even the people who are successful today have failed in the past!

It sounds like you're practicing too much "theory" and reading, instead of creating. This will make anyone feel bad. The people you admire did not get where they are by reading HN/books/etc. alone. They got there by doing things.

As others have said, pick a side project and hack at it -- release it, fail, and try again, and again. The beautiful thing about the tech community is that failure is encouraged and embraced. By doing things over and over is how we learn and establish ourselves. Your projects will suck at first, you will get no users at first, you will make no money at first (if you care about $). And then you'll iterate and improve. It's only normal.

Finally, as far as picking projects goes, don't pick a pie-in-the-sky-idea! Pick something you can finish in two or three weeks, or maybe even shorter. Anything longer and you'll get disappointed at your lack of progress. You don't have to create the next Facebook. Create a throwaway app for the app store (and don't be discouraged if you don't make much from it.) Learning how to ship small projects will be incredibly painful but that is how you will grow and become happier with yourself. HTH.

discuss

order

dazedconfused|14 years ago

Thank you.

Yes I don't really know the feeling of what is like to create something, this kills me.

I am constantly disappointed by my code, it sucks, it's really bad and that also makes me lose motivation whenever I try to build something, for some reason failure is a permanent constant and the fear that I am going to fail anyway keeps me from actually getting trough building something to the end...

bitsoda|14 years ago

Just out of curiosity, were you a good student throughout your life, and told you were smart or bright? I ask because there was an interesting article on HN a week or two ago that showed a correlation between crippling fear of failure and self-doubt, and those with above-average IQs who were lauded for their academic prowess in school rather than their work ethic. Anyways, thanks for posting this question. I've found myself in this situation, and the advice shared here is rock solid.

safetyscissors|14 years ago

I used to be in your situation and then I read this.

"I do not write tests for my code. I do not write very many comments. I change styles very frequently. And most of all, I shun the predominant styles of coding, because that would go against the very essence of experimentation. In short: all I do is muck around.

So, my way of measuring a great programmer is different from some prevailing thought on the subject. I would like to hear what Matz would say about this. You should ask him, seriously.

I admire programmers who take risks. They aren’t afraid to write dangerous or “crappy” code. If you worry too much about being clean and tidy, you can’t push the boundaries (I don’t think!). I also admire programmers who refuse to stick with one idea about the “way the world is.” These programmers ignore protocol and procedure. I really like Autrijus Tang because he embraces all languages and all procedures. There is no wrong way in his world.

Anyway, you say you want to become better. I mean that’s really all you need. You feel driven, so stick with it. I would also start writing short scripts to share with people on the Web. Little Ruby scripts or Rails programs or MouseHole scripts to show off. Twenty lines here and there, and soon people will be beating you up and you’ll be scrambling to build on those scripts and figure out your style and newer innovations and so on." -why

d_r|14 years ago

That's fair, but who actually cares about how good your code is? Make it work. Hack things together. After you practically code for longer, patterns will emerge, you'll refactor and rewrite as necessary. At any point in time, if I look at code I have written earlier, I shudder at how awful it was.

Finally, "fear that I am going to fail" is silly. It's the other way. You're starting at the point of failure. You have nothing right now. Accept that, and then you won't have to hold yourself to such a high standard. Start somewhere (and remember that you "suck" at first), and keep at it. Seriously.

karmajunkie|14 years ago

Pretty much everything sucks when you start it. Its only by working on something sucky that you figure out A) this sucks and B) how to fix it. I've got a couple of gems that are embarrassingly bad in spots—they (mostly) get better over time.

Remember that software development is much much a procedural skill than a memorized skill. You have to do it, and you have to do it a lot, before you'll be great at it. Get started making the mistakes you need to make, and don't let them get you down. We've all got projects we didn't really get off the ground.

mechanical_fish|14 years 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!

jodrellblank|14 years ago

* fear that I am going to fail anyway *

That's a shallow explanation; what does this fear of failure mean, to you personally? Fear that who will say what? Fear that who will think what?

Why is it that you associate failing in these tasks as such a bad thing?

billpatrianakos|14 years ago

Yes! You said just what I was thinking. Thank you for being able to articulate it better than I could.