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...
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.
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
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.
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.
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!
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.
Yes I did the mistake of getting all these books, I even made a schedule, I was going to study one book on mondays then another on tuesdays and so on but I always fail I can't teach myself anything, it sucks and it makes me angry with myself.
Learning multiple programming languages, concepts or theories at once is a recipe for disaster. I tried it with something as simple as Ruby and JavaScript and never finished either one. One at a time.
I have several ideas for side projects, at first I am really motivated and very excited but very soon the motivation wears down and by then it stops being fun, I lack the will power of sticking through to the end because in the end I constantly fear that I will fail and if I am going to fail anyway, why try it?
This is ruining me I know I can't be like this but I don't know what to do to stop having these thoughts.
I've done that a million times. The trick is to have the right goal. Usually you'll have visions of how it will turn out in the end and not even half way through you give up because it seems that vision won't come true. Think of these projects in terms of years, not months. Then break them down into the very smallest possible parts. Im talking about thinks like making an entire day's goal to just write a single function that does something really small like connect to a database or something. That's how I've managed to finish despite having the same issue.
Sadly HN has become like a drug to me... I have tried several times to ignore and stop coming back here but it has never worked and when I procrastinate I always end up coming back.
No I didn't know about HN back then...the only reason I stayed in that job was because I had to pay for my education, I worked and went to school at the same time.
I am thinking one of the most common sources: Mercury toxicity from amalgam fillings. They can test your hair for it. I'd look at getting some tests done although I've never gone down that route myself so can't advise. Do you have a passion for anything, or only feeling bad about yourself and your situation? Have you read the Power of Now, it says to separate your life from your life situation?
Oh I see...what makes you think I may have that? It might be possible...I have had fillings.
I don't really have a passion I am obsessed with being successful, I feel I've wasted 6 years of my life that I will never get back, I feel that I have not accomplished anything worthwhile and for some reason I constantly feel jealous of everyone else's success, this has made me bitter too.
Yes, yes, could well be Mercury toxicity, especially if you've had many large ones, for a long period of time.
I was reading that: "Amalgam Fillings Since 1970s Unstable: The type of mercury fillings that began to be used during the last couple of decades, non-gamma-2 (high copper), releases many times more mercury than the older style of amalgam fillings."
Start getting into health is my tip, you can't lose. The Paleo diet is very popular right now, check it out.
"With raw in general, I have noticed more stamina and energy, and less need for sleep, greater clarity of thought, faster healing, looking younger, fewer joint problems, etc. the usual."
Seeing "someone professional about your thoughts of suicide" is a good idea if the thoughts are very bad and pervasive and you are in danger to yourself or others, I think. But in the end they'll offer only two things: psychotherapy or psychotropic medication - is that a long-term, sustainable and smart solution?
We've already got a written statement that exhibits most of the classic warning signs of depression. Does the poor guy need to submit it in triplicate before you'll take him seriously?
The OP should worry about the long run, but only after taking every necessary measure to get through the short run.
Meanwhile, whether or not any course of treatment is a long-term, sustainable, smart solution depends on the patient, of course. Therapy, both short-term and sustained, has markedly improved the lives of multiple friends and relations of mine, and drugs have very definitely saved the lives of a few, and that's just the ones I know about.
Don't undervalue the benefits of some short-term usage of medication to get back on your feet! I'm a little surprised that no one in these replies has suggested it, but please do consider it - it is a very smart solution! You'll feel better and might make some progress on your goals and then feel better about yourself again. And, heck, even if it is long-term, that's fine, too, don't let these folks be a judge of that for 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...