5 ms·
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 rea
by dazedconfused 15y 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...
- d_r 15y agoThat'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.
- jodrellblank 15y 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?
- karmajunkie 15y agoPretty 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 15y agoI 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!
- 15y ago
- bitsoda 15y agoJust 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 15y agoI 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