
Ask HN: How to overcome strong feelings of worthlesness and inadequacy - dazedconfused
I need help HN.<p>I have been stuck in a dead end job for the past few years and I've forgotten what's it like to have a passion for development,
I've forgotten what's it like to have the ability to create something.<p>A bit of background first:
I have been programming for the past 6 years, mostly I've been doing pretty much the same job for the past six years (1 year repeated 6 times) even though I somewhat enjoyed it I never learned anything besides the typical CRUD apps. Very few times I had to develop something from scratch, my job consisted mostly of fixing bugs and the new feature every now and then, so even though I have 6 years of "programming" experience I feel unable to build stuff, I am far far away from being a truly experienced developer.<p>I graduated with an information technology degree where I was not exposed to a lot of computer science, however I never really saw it as a flaw, until now. Most of my programming knowledge I learned "on the job", at least I learned enough to do the kind of Job I've always done, but not much more than that. Sadly I realize now that I lack a natural curiosity for how things work and that most of the time I was blindly copying/pasting code from the Internet, I've fooled myself into thinking that I am a programmer.<p>I started reading HN since last year, and ever since I've become anxious and depressed.<p>Anxious because HN has introduced me to technologies, people and ideas that I find incredibly amazing and inspiring, so much in fact that for the first time I feel that a programmer is much much more than just fixing bugs, that you can create amazing things!, this started a revolution in my head, I now have a goal: I want to be like these guys I want be admired by my peers and start amazing projects or maybe launch a cool startup, who knows? for the first time I feel that the sky really is the limit, all the tools that you need are there for the taking for FREE all the knowledge you need is right there! look at all the amazing technologies like node, backbone.js, coffeescript, redis, riak, neo4j, hadoop, clojure, scala, django, rails, android, look at all the cool things you can do with linux, bash ...I mean it's all over the place and they are open source...I have no excuse.<p>Depressed because I feel worthless compared to all the amazing hackers of the HN community, I feel that no matter how hard I work I will never be at the same level
as any of you.<p>I have tried telling myself that its alright, that its all about hard work that I have to stop feeling sorry for myself and just do it and start working, but no matter how hard I try I keep having these feelings of inadequacy and pretty soon I'm back to feeling sorry for myself, "it doesn't matter how hard you work, you'll never be like them"
says the little devil in the back of my head, and this time the feeling is twice as strong because I've failed once more.<p>This is indeed ruining my life.<p>To make matters worse I lost my job two months ago and I can't find a new job, I fail every interview time and time again, I have applied for junior positions but I am rejected because of my age and profile...even though my experience is useless and meaningless.<p>I have a gigantic list of ideas and technologies and "stuff" that I have compiled throughout the time I've been reading HN of things I want to learn, things I SHOULD know to save face and call myself a programmer again.I keep adding and adding items to that list but I never finish anything, I lack too much knowledge that I don't even know how I can call myself a programmer anymore, let alone how am I going to get through the interviews, how can I ever reach my goal of becoming a hacker?<p>I bought a few books for instance Introduction to algorithms and SCIP I get motivated, I start reading doing the exercises, watching the lectures and then boom! I lose motivation, and worst I never end up doing anything useful, whatever little I learn I forget.<p>I have tried to start side projects I have a cool idea set up I start thinking about it and then again I lose motivation "that's too hard, too much work you'll never be able to finish that, why are you even trying?" again say the voices in the back of my head.<p>I can't finish anything.<p>I'm 30 years old and I do not know what do anymore I am thinking of seeing a therapist because I truly feel there is something wrong with me and sadly thoughts of suicide have popped up every now and then... I'm seriously thinking of quitting development altogether and doing something else. At 30 and with a wife this is a big risk but I can't keep living like this anymore.<p>If anyone can give me any pointers that can help me overcome these feeling I'll really appreciate it.<p>Sorry for the long post, and thank you for reading.
======
d_r
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.

~~~
dazedconfused
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...

~~~
mechanical_fish
_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!

~~~
msutherl
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.

------
cpt1138
While youre waiting start exercising, preferably outdoors, running, cycling or
whatever. Force yourself and although I'm in California and we don't have
miserable weather, I find that weather has that "whatever doesn't kill you"
aspect to it.

Don't give up on finding another job. It will happen, just keep at it. Some
people (me included) can only stay enthusiastic about a job for about a year.
Then it becomes a paycheck and whatever else I can get out of it until I can
move on to the next one.

I don't believe the mantra that idea's are a dime a dozen. Keep looking until
you find an idea that really grabs you and get as much as you can out of it.
If nothing else, do it and brush up on your tech skills for that next
interview.

Please do see someone professional about your thoughts of suicide. Good luck,
you are not alone.

~~~
dazedconfused
Thank you.

~~~
adrianwaj
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?

~~~
mechanical_fish
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.

------
larrykubin
I'd probably spend less time on Hacker News. The percentage of programmers in
the world who have actually finished SICP and CLRS is really small. I have
copies of both sitting here next to me and have only finished a couple of
sections. No reason to feel bad about it. Also, plenty of people have been out
of work for over 2 months.

I also recommend getting outdoors and doing things besides worrying about
whether you are the best hacker. Last year I was working with a small company
with an uncertain future and was really anxious and worried the whole time.
This year I quit and moved to Oregon. Since then, I have spent a lot of time
visiting parks/waterfalls/the gorge, and lately the goal of being the
richest/greatest/most elite programmer hasn't seemed very important.

~~~
dazedconfused
Thank you.

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.

~~~
beaumartinez
Edit your hosts file to block news.ycombinator.com—

    
    
        127.0.0.1 news.ycombinator.com
    

On Unix-like systems it's _/etc/hosts_

------
adrianwaj
Sounds like you're depressed and jealous. Not a good thing. You might want to
ask yourself why you worked in that dead-end job for 6 years, did you not know
about HN during that time?

You can start by getting some sunshine for Vitamin D, and do some physical
exercise of some sort, beyond that, you have to set yourself some goals,
however small.

What sort of person do you wish to become when you become That Hacker? Perhaps
you could give something to charity or start answering some questions on SO to
feel better about yourself, or at least chrystalize your current knowledge.

I would also look at any heavy metal toxicity you might have.

~~~
dazedconfused
Thank you.

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.

What do you mean by heavy metal toxicity?

~~~
adrianwaj
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?

~~~
dazedconfused
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.

~~~
adrianwaj
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."

<http://www.holisticmed.com/dental/amalgam/>

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."

<http://old.rawpaleodiet.com/michael-grogan/>

------
mburney
Think of a creative side project that you would really enjoy doing. Then do
it. And take your time on it. Slow down. Tune out from what everyone else is
doing. You have to give yourself time and space to breathe. Don't put pressure
on yourself, make it fun!

Don't worry about reading SICP or becoming an expert at some technology. That
will come automatically over time. Just choose one stack for your side project
and go with it.

It doesn't matter if you code your project in C, clojure, or ruby. What
matters is that you produce something that you feel good about. If you make a
goal to produce something good, you _will_ learn the technologies and you
_will_ become a good hacker over time.

I write all this because I was in the same position as you a couple years ago,
so I scrapped my ambition of reading theoretical CS books and learning all the
latest hot new technologies (I will do all that stuff later). I decided I'd
make a game, and learn what I need to add the features that I imagined. And I
progressed. It was so much more fun that way.

~~~
dazedconfused
Thank you.

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.

~~~
billpatrianakos
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.

------
geekagirl
You sound like me two years ago -- just replace "people on HN" with
"classmates". I had clinical depression.

It had very little to do with my ability and everything to do with stress
levels, brain chemistry and horrible feedback loops.

My advise for you: You need to stop beating yourself up. You're not worthless.
You're not inadequate. Stop saying you'll "never" get there. Don't let that
inner voice tell you anything you wouldn't tell your wife/child/best friend.
I'm not saying it's an easy thing to do, but it's worth the trouble.

------
doktrin
Hey there! I'm in much the same boat.

I have to admit I'm rather relieved reading your post because at least I'm not
the only one who is rapidly developing an inferiority complex here ;)

For my part, I'm 28 with a Philosophy degree and currently in a junior role at
a late stage startup. I'm not a developer, more like "guy who hacks together
Perl and queries MySQL all day".

So, you at least have an edge on me - for what little that's worth! In fact,
stepping back to take stock of what you do in fact have might help. I realize
it's not much consolation to know you're neither homeless, politically
oppressed or living in a war zone - but keeping that perspective has helped me
through some moments of self-doubt and pity.

I totally know what you're saying about having no excuses with all the free
and accessible information out there. Believe it or not, I find the plethora
of choice a little crippling in its own way. When I spend 5 weeks debating
which language to learn, and 5 days actually trying to learn a language -
there's clearly something wrong!

I don't know where you are in your life, but it might be worth considering a
bold leap. I've seen a few programming boot camps promoted here on HN - one in
the Bay Area and the other in Chicago. If you're between jobs, this might be
something to consider.

Dev Bootcamp : <http://devbootcamp.com/apply>

Code Academy : <http://codeacademy.org/>

I know how incredibly difficult it is to find the time and motivation to work
on a side project. In fact, if you're looking for a learning partner - I'd
certainly welcome it. I'm currenly interested in the following : Python, Perl,
Django, Dancer, Ruby, Groovy, Rails/Grails, JS, coffeescript, design
principles, NoSQL, Big Data, Hadoop. I can be reached @ esoteric.doktrin at
gmail.

Good luck - keep calm and carry on, as they say.

------
ryanmarsh
"Depressed because I feel worthless compared to all the amazing hackers of the
HN community"

Someone is lying to you inside your head. They are saying, you are a worthless
human being because you are mediocre/sucked/failed at x. "You aren't good
enough" is a tool used by Satan to destroy good men.

I recommend you read "Wild at Heart" by John Eldridge. I'll send you my copy
if you'd like. I was going through a very similar time, only I felt worthless
because I wasn't a successful entrepreneur like take-your-pick-from-Tech-
Crunch. That book set me on a new path that has made my life so much richer
and has freed me from the depression of failure, and allowed me to enjoy what
I do again.

I'll be praying for you brother, God bless.

------
nprs
Most of your doubts and concerns were already answered by the wise old edw519
here: <http://edweissman.com/53640595>

Also please understand that self-pity is the worst use of your imagination.

I've been in your situation too and some of the things that helped me are: 1)
Having a habit of exercising daily for 30 minutes. No compromise on this. This
is a good antidote for depression. 2) A habit of getting up at 5 daily and
doing the most important thing at that time. This habit alone can change your
life and to cultivate this hard habit in a ridiculously easy manner please
check this article: [http://www.stevepavlina.com/blog/2006/04/how-to-get-up-
right...](http://www.stevepavlina.com/blog/2006/04/how-to-get-up-right-away-
when-your-alarm-goes-off/) 3) Having a Vision Board. I use text instead of
images. They are more direct. I change it every week to keep it fresh and
inspiring all the time. As a part of the morning ritual, I stare at the vision
board for about 5 to 10 minutes and is also close to where I sleep. It gets in
my way whenever I’m distracted and not working.

I'm an aspiring Hacker too - currently at the 'aspiring' level only though.
I'm learning Ruby by straightaway trying to implement the algorithms found in
my college book - Design and Analysis of Algorithm. My work is hardly
inspiring. But I start my day with some satisfaction that I’m one step closer
to becoming someone like ed519 even if it would take me years!

Remember that the 10000-hour-rule is BS. I realized that I can have fun 'while
in the learning phase' and I could hit a wonderful break even before that.
Just develop a couple of life-changing habits and you’ll do great.

------
four
I'm sorry to hear that you feel so crumby.

In coming to us, asking for help with your problem, you demonstrate strength,
in spite of feeling badly.

Since you mentioned thinking of suicide, I must strongly recommend you talk to
a mental health professional. If you don't already have an appointment, tell
us your city and we'll come up with a resource for finding one in your area.
These can narrowly constrain your opportunities. If we know, we can perhaps
offer more realistic help.

Do you have: money? car? housing? physical disabilities? Legal problems? (Of
course, you're not required or compelled to share any personal details with
us.)

Once all that is addressed: You need to focus on success in the place of
focusing on failure. You need to see that you can accomplish, yourself, a
goal.

Not knowing anything about you and your life, I recommend: Goal: walk for an
hour every day - in any number of shorter walks, if you'd like or have to.

Steps:

Preparation: P1. Cancel broadband service at home. P2. Get a small, blank
notebook as a daily log.

Daily actions: D1. Go for a walk. Out the door, or a bus or car ride away.
Mall, abandoned train tracks, park, city streets, airport, your driveway -
doesn't matter particularly. D2. Immediately after your walk, log your walk:
date and time. D3. Shower, shave, dress neatly. No excuses on this one. D4. Go
to a busy place for an hour. Bring pad and pen. No phone or computer allowed.
D5. Immediately after your visit there, log it: date, time and place.

Follow-up: F1. Repeat this everyday this week. F2. Next Monday, check back
with one/all of us.

Hint: The goal is accomplishing the action, not having a feeling ("Happy!"
"Fulfilled").

I look forward to hearing from you.

------
ahelwer
Go slow. Pressure is anathema to self-improvement, you just implode. I've been
trying for the last six months to get into a routine of teaching myself
things, and I've only just got to the point where I can look back on my night
without noting that I could have accomplished as much within ten minutes of
motivated effort.

Don't load up on textbooks. Buy one and finish it before devoting yourself to
the next one. I didn't follow this rule, and now I have stacks of books that
I'm trying to read in parallel (this is going terribly).

I think it's great that you want to do this! Just know that even wanting to
improve yourself is a small victory - too many of my coworkers are happy to
only know as much as their jobs requires them to, or (more accurately) so they
believe it requires them to. Keep me posted on how stuff goes!

~~~
dazedconfused
Thank you.

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.

~~~
billpatrianakos
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.

------
leslyn
In another part of my life, I am a trained therapist and I would like to
encourage you to see a therapist NOW - before the thoughts of suicide return.
In the meantime - even though it is a bit 'off topic' - anyone dealing with
frustration can use this article:
[http://www.marcandangel.com/2011/12/11/30-things-to-stop-
doi...](http://www.marcandangel.com/2011/12/11/30-things-to-stop-doing-to-
yourself/)

So many of the comments in this thread are valid and worth another read - you
will never succeed unless you risk failing, period. Keep trying - shoot for
small success - take a break - find support - and the best suggestion I read
in the thread: stop lurking and start contributing here - be a part of the
community where most of us have failed at something a time or ten!

------
Michael_K
If your thoughts of suicide come back to you more and more frequently, see a
therapist.

As for your lack of motivation, remember what Chis Gardner (pursuit of
happiness) said:

\- If other guys can do it, you can too.

\- The cavalerie is not coming.

\- Baby steps count too, as long as they are in the right direction.

You want to truly become a good engineer/hacker. That's great. Now get to
work, because the only thing that stands between you and your goal of becoming
a great engineer is you and your self doubt. As you said, you have no excuses.
But most importantly STOP feeling overwhelmed an inadequate and START
accepting that the field of computer science is just HUGE. There are literally
hundreds of programming languages, technologies, skill sets (front-end, web
dev, DB etc.). Nobody masters all of them. And further, true mastery of a
skill takes practice and therefore time. What you see on HN is an aggregate of
the best of the best, a community where everyone chips in the best of their
abilities. And that's why it is so great to read HN.

Now, to get out of this whole, simply use divide and conquer. Pick one
fundamental C.S. skill you want to learn (algorithms, data structures,
OS/compilers etc.) and learn it really well. Dive really deep and try to not
just watch videos on academic earth but do the homework, code the samples,
build small projects around it. Once done, pick the next subject. Remember, it
is better to complete one small thing, that to start 10 big ones.

------
AznHisoka
There's plenty of expert programmers who know Node.JS, Redis, CoffeeScript,
Erlang, Scala, with tons of projects in GitHub... that noone uses... and noone
pays for.

Then there's this guy named Mark Zuckerberg, who ppl claim to be a bad
programmer who wrote Facebook in PHP.. and it's probably sphaghetti code.

Stop focusing on being technically superior, and focus on using your current
skills(you probably have enough) to create something people want, and solves a
problem. The 2 are not directly related to one another.

------
papaver
Walk away for a little while.

I've been programming and playing with a computer since I was around 10. There
were a couple times in my life where I completely walked away because I wasn't
sure that it was actually what I wanted to do. The first time was in high
school. For three years I barely even used a computer. I took a course in
Pascal but once I got my assignment done I was doing other things. Before high
school I was pretty much glued to my computer 24/7 hacking this game or that.

The second time was a year into university. My freshman year I was on my
computer hacking all the time. Learning new web tech etc. After my freshman
year I pretty much got sick of everything computer related and even ended up
not going to class and the next year dropping out completely.

The time away allowed me to explore new ideas and other worlds that I never
did when I was glued to my computer all the time. Learning computer tech is
not an easy thing, and it takes A LOT of time and dedication. Some people may
make it look easy, but I think those people are in the minority.

After taking a year off I realized that I really missed working and creating
stuff computer related. It gave me a lot of motivation to go back to
university and start learning stuff again. Suddenly university was actually
easy, who would have though listening in class and taking notes gets one 75%
of the way there.

Leaving computers behind for a while was the best thing I ever did. I look
back fondly at all the experiences I gained during those times.

If you find that there is a hole that programming will fill, you will know it.
Picking it up again is easy. Its like learning to ride a bike, you may get a
little sloppy but it comes back relatively fast.

Oh and stop visiting HN. It is good at depressing people. Realize that HN is
like the rest of the news out there, it focuses mainly on the success stories.
Not many people write articles about projects they never ended up finishing.
Trust me everyone does it. I have around 20 half done projects. HN gets me
depressed as well, and I think i'm a pretty competent programmer and had a
chance to work on some awesome projects.

Your not alone... don't let the successes on HN get you down. Learn to program
because you yourself get off on it, not because you care what anyone else is
doing...

------
pessi-opti-mist
Hey, OP.

I see a lot of good responses, and then sometimes people thanking the
responders. (and I agree)

But really, I'd like to thank you. Thank you so much for writing this.

I feel the same way you do a lot, and I'd bet that there are others too who
have these struggles.

I too had irrelevant experience and could not get even an entry level job
because of the fucked up way our industry works. I've seen my classmates
strike it rich at Google, and I see all the programming.reddit.com and HN
posts of people's blogs and their wonky projects, and sometimes I feel like I
could never do what they do, and I'll never get a job.

Right now, I'm about halfway up the curve of something happening for me. I
wish I could tell you that it was quick, and I wish that I could tell you what
the outcome is going to be for me... Maybe I'll let you know when I get there.

But I just wanted to thank you, and I wanted to tell you that there are a lot
of people who feel this way too.

There are some who never feel this way, and I envy them.

The best response I've seen here is to pick a project that you can do in 3
weeks. But I'll go even further: pick one you can do in a day. Then a couple
of those. When you've done a few, I'll bet that you are able to easily pick
something that's 3 weeks, and get it done in 3 weeks, and feel damn satisfied
that you can do _something_.

Good luck, and solidarity.

------
DanBC
1) You're in luck, there is a lot of evidence to show that this kind of
thinking responds very well to Cognitive Behavioural Therapy. There are a
number of ways to get this; you can do it from a book ( _"Mind Over Mood"_ is
one recommended book) you can do it online (the Australian _"MoodGym"_ is
often recommended) or you can buy therapy. Look for someone experienced and
registered. In the UK you can go to your GP and mention IAPT (Improved Access
to Psychological Therapies) but keep pushing it, some GPs say there isn't any
when there is - you may have to ask your local MH trust about talking
therapies.

2) Remember that tech invites high performers, and HN has a bunch of VERY
SMART people. Don't compare yourself to them; you'll always feel lousy.
Compare yourself to the people behind you on the bell curve. You are above
average, and for the moment, that's good enough. Now you just need enough
motivation to plug away at the good ideas, and keep producing them until you
get the awesome ideas.

3) Make sure your food and exercise are good - there's lots of evidence to
show that good exercise helps with mood. And eventually it may lead to team
sports, which have a bunch of social life benefits. Alcohol will lower mood.
Some people find that even small amounts of alcohol will lower mood for days.
Being careful with sugar, caffeine and alcohol should help.

4) Learn a time management technique, like pomodoro (but there are probably
others) and keep at least one project going.

Most importantly, good luck, and keep going. If you find things getting worse
it's a really good idea to see a doctor. Depression sucks, and sometimes the
worse it is the harder it is to treat.

------
TimSchumann
I think that a lot of people on HN would identify with aspects of this, it's a
good read regardless. Don't take this as me diagnosing you or anything, I just
think there are elements of truth in this that can help better anyone's life.

[http://www.forbes.com/sites/michaelellsberg/2011/07/18/how-i...](http://www.forbes.com/sites/michaelellsberg/2011/07/18/how-
i-overcame-bipolar-ii/)

Second Part - Easier said than done...

Stop comparing yourself to others and start comparing yourself to yourself.

Humans basically have 3 states - Think, Feel, Do.

If I had to guess, ever since finding HN you've been bouncing between thinking
and feeling, with very little doing. It's not healthy, everything needs
balance. Try forcing yourself to set a really simple goal of just doing
something for a week. Walking 2 miles every other day, playing guitar 30
minutes 3 times a week, something physical. (The reason I say physical is
because you're prone to thinking and feeling a lot, keep it simple and avoid
going back into that rut)

You need to start finding little rewards and reinforcements for yourself on
the 'do' side of things, I suspect even small ones will open doors to greater
successes.

Something I find almost impossible to do physically is not think. Sit on your
floor, lay in your bed, at your desk chair, whatever, and start counting your
breaths, slow, metered even breathing. 5 seconds in, 5 seconds out. As soon as
you hear a thought pop into your head that isnt just focused on the in and out
of your breathing and on what breath you're on, start over. See how high you
can get. Not thinking is an incredible way to train your focus.

------
adaptives
I know it may not be much consolation, but many people go through such phases
at least once (or even more) in their life.

Think of it as a phase, which will leave you more skilled and happy when it's
done.

When passing through a phase of feeling worthless, it is common to become
inundated with things and not being able to take tasks to completion. The
trick is to set small achievable goals. Make goals that will take no more than
a couple of hours to couple of days to accomplish (start small if you can).
Every time you complete something, cross it off your list. Every time you
cross an item, it will give you a feeling of accomplishment and confidence.

Try using the Pomodoro technique to stay focused. It has helped a lot of
people (myself included), and it may help you too.

I have a website for peer based learning of various computer science topics. I
will be glad if it helps you in any way. You can check it out at
<http://diycomputerscience.com/>

Remember that such phases often happen to bring about growth, and you _will_
come out of this better off.

Take care.

------
robyates
Move to Silicon Valley. Seriously. I started reading Hacker News last year as
well and decided back in September to leave my job and move here. Definitely a
big decision but I don't regret it. The demand for engineers here far exceeds
the supply, so you can work at almost anywhere you like.

If you can't move, then attend a Startup Weekend near you
(<http://www.startupweekend.org/>). It's a great way to meet startup oriented
folks. I thought there was no startup community in the midwest. But at Startup
Weekend in Des Moines, IA and Kansas City, MO I met well over 100 people. Then
I found out about Startup Digest, Silicon Prairie News, etc. If there is no
startup community, create one. Find everyone you know that might be
interested, create a Facebook and Meetup group and organize some startup
meetings. You never know who you'll meet.

------
petrichor
1\. do go see a therapist. seriously. just talking to someone who will listen
to you without judgement is healing in itself, but a therapist will also be
able to help you set goals and work towards them. and that is not even to
mention the depression.

2\. see a naturopathic doctor. a lot of people suffer from non-pathologic
illness that are not typically diagnosed by by conventional medical doctors.
here's some common things:

* adrenal fatigue * vitamin D deficieny * sub-clinical hypothyroidism * blood sugar issues * food/environmental allergies.

i could go on. the mind can often be greatly affected by the health of the
body.

3\. start attending technology users groups. interacting with real people
will; give you much more perpsective thatthan reading about the great things
that bubble up to the top of HN.

best of luck. know that you are not alone; a lot of us have been in your
place. it feels horrible, but it is temporary, so hang in there.

------
teja1990
Start from the scratch, its ok.

Create simple html page for a login. Once you finish html , add some css to it
. Try linking with a backend. Make sure you do these small things properly ,
not just thinking its too easy. The things like this will help you with
confidence, once you finish up with your site , add more functionality to it .
Use JavaScript , make your page dynamic. Try using javascript to just make
small things. Once you are fully done with these go in for python/ruby.There
are really good tutorials out there.Implement a small thing and post it here .
I'm sure people will appreciate it. That day you'll get back your confidence ,
till then try lurking less into HN . Good Luck man, I'm sure you'll get back
to us with your comeback story :)

------
daskraken
I can TOTALLY relate! I'm in pretty much the same position with a depression
that grows stronger with every day I'm not doing something to break out of the
situation. Making things worse is the fact that I've solely been doing Perl
web development for the last 12(!) years at the same company. When I started
web development in 99, it was all fun and play. I had the feeling I was at the
forefront of technology and only few people could do what I did. Then I got
stuck with Perl and had to see it going out of fashion (nevertheless, I
seriously still think it's a wonderful language that gets the job done and
with the Modern Perl tools available in a very maintainable way as well, but I
digress). Years passed, and here I am. A Perl developer in a country where
Perl has completely vanished off the surface. I'd never go so far as to call
myself a Perl expert either. Neither have I written a couple of frameworks or
libraries (like the pros you mention) nor have I poked around in the internals
of the interpreter. I'm just a web guy, who is equally good at front- and
backend development, but neither a rockstar in one of them. Jack of all
trades, master of none fits my person best. Once sought-after in the internet
hay days, nowadays replaced by an army of experts and specialists.

I'm thinking about leaving development as well, but what are the alternatives?
Going into management? I don't have the experience to apply for such a
position at another company and I don't see this happening at my current
employer because we're rather small. Similar to you, I lost my motivation over
the years and find it hard to justify learning new stuff (like Ruby, Rails,
Python, node.js, maybe Cocoa development, etc.) because it'll go out of
fashion soon again anyway and takes me considerably more time to digest than
those prodigy developers the internet seems to be full of. But maybe, things
aren't like they appear. What's the percentage of rockstar developers among
all developers? It's most certainly not close to 90% as the internet and all
the cool blogs make us think ...

Sorry I couldn't be of more help, just wanted to let you know that there are
others out there in pretty much the same situation. All the best!

------
thebakaguy
I read this post, then reread it and wondered if my alter ego wrote this one
while I was asleep. I'm in the similar job with more or less similar
experience level and age (of course minus the wife). Thanks for posting this
question, I would never have posted it myself. And thanks to the ever awesome
community for such motivating and thoughtful responses.

PS: I've started off with Python today. :)

------
ebiester
First, there is nothing to be ashamed about for being an enterprise
programmer. So, you've been working as an assembler. Now is the time to look
at the tools themselves.

First, go back and review the basics of web programming.
[https://code.google.com/edu/submissions/html-css-
javascript/...](https://code.google.com/edu/submissions/html-css-
javascript/#introduction) is a good start. It is probably below your level,
but do it anyway. Get some confidence. :) Do the same with a decent book on
your programming language. Get an understanding from the ground up. Make sure
you can program 100 lines without looking anywhere.

Next, start learning your tools. Were you using jQuery? Oracle? Start delving
into what those tools really are. Watch screencasts and follow along, typing
the exact code in as you go. Make a basic to-do application in the
technologies that are on your resume. Don't be afraid to look on the internet,
but there's one rule.

No copy and paste.

No, every time you find an answer, you're going to type it in directly. Every
line you type in, you're going to think about what each thing means, and if
you don't know, you look it up in the documentation.

Learn how to write a login page, how to connect to a random single signon. How
to logoff. How to write each piece of the app. You will soon have a simple
application. It's not much, but it's yours. Write unit tests and integration
tests. If you think code looks messy, clean it up. This is your template.

Now, add some ajax. See how others are doing it, but again type it in
yourself. Put in all the features you want to learn. Keep updating the tests,
both front end and back end.

Now, try implementing the front end in backbone and jQuery, or whatever front
end technology you want to try first. Keep the back end the way it is, and
keep the look of the front end how it is. Just port the code over.

Now choose a back end you're interested in. Port the back end. You know how to
make the simple case already, it's just a matter of learning how the new one
works. THEN you take your todo app and start making things from that, now that
you know how everything works basically.

Now, for interviews, take a month off and do all this. (Block reddit and use
aggressive noprocrast on HN.) Then go back and interview for mid level
positions. Many coders you are competing against are in the same position as
you are, but you've gone back and taken the time to really learn your set of
tools.

I really believe the difference between a bad and mediocre web programmer, in
many cases, is about 100 hours of dedicated training about how the web works,
and how their programming language works. The difference between a mediocre
and a B- programmer is being able to rattle off the basics really quickly and
knowing their toolset.

Getting to the A level, that takes more time. But you can do that as you have
a job. :)

~~~
dholowiski
Good call on no copy and paste. I'm in constant learning mode and the
difference between copying and pasting code, and typing in code, even if it's
code that someone else has written, is huge. Same goes for reading a
programming book vs reading and doing all the examples. Sometimes I think that
when you program you're thinking with your fingers or your fingers are an
extension of your brain. Exercise them!

Also, thanks for the link to google code university - it's new to me.

------
lazyfunctor
You should give course(s) offered by Stanford a try. Rule is you have to
finish them (including assignments and exams). They are really interesting and
will add to your CS skills <http://algo-class.org/> <http://jan2012.ml-
class.org/>

------
jodrellblank
You want a huge list of generic internet advice to feel intimiated by, ignore,
then feel bad about?

 _you can create amazing things!, this started a revolution in my head, I now
have a goal: I want to be like these guys I want be admired by my peers_

Sleigh bells ringing... No wait, alarm bells. What does wanting admiration and
to be like others have to do with creating things?

 _I have tried telling myself that its alright, that its all about hard work
that I have to stop feeling sorry for myself and just do it and start working,
but no matter how hard I try I keep having these feelings of inadequacy_

You keep telling yourself that you aren't working hard enough, that you keep
failing, and that this is OK, and then you're surprised when you feel bad
afterwards?? Hello, McFly?

 _and pretty soon I'm back to feeling sorry for myself, "it doesn't matter how
hard you work, you'll never be like them"_

What are you trying to prove, and to whom? I don't ask to hear an answer, I
suggest you ponder it though.

 _This is indeed ruining my life._

Indeed. What if you never ever become a great hacker, would you still code for
fun? Could you ever really feeply admire and like yourself in that future?

------
mohsen
everyone has said what needs to be said, but this post is a few days old now
so i'm going to say it again, in case you went back to your normal self.

just pick something, anything, and not major (as to discourage yourself),
break it down to small parts and each part into a set of tasks. for that you
can use [<https://workflowy.com>], i like it a lot. just tackle them. DO NOT
stop when you're stuck. bulldoze through it, then stop at the middle of a
printf or something (again so you will jump back on it because you know how to
pick up where you left off).

just pick an idea that you love, and go with it. and never forget who you are.

take care, bud. i promise, you'll be just fine.

------
Kliment
Hey, where are you located? Maybe meeting up with some people from here can
help.

------
karmajunkie
I went through something very much like you're going through several years
ago. Over the course of about six months: Fiance left me. Lost my job.
Relative died. Family dog died the next week. It was a mind-numbing, spirit
crushing year of defeat. Eventually I decided to return to school with the
intention of going to medical school, which for the next couple of years got
my back on my feet. I learned that despite an abysmal first attempt at a CS
degree (abysmal because of an utter lack of effort on my part) I was actually
a much better student than pretty much any of my classmates. I regained my
mojo, so to speak, leading up to a semester I took off in order to go code for
a friend's company on a short-term contract that was supposed to give me
enough cash to pay off some bills and finish my last semester. That was five
years ago this month, and I still haven't finished that last semester.

What I have done, however, is rediscover how I enjoyed development. For me it
was a combination of Ruby, the Ruby community, and the problems I worked on
that did it, along with a healthy dose of perspective and maturity. For other
people it might be python, javascript, or any other platform that became
enjoyable, and some probably discover that they're happier not being
developers at all. I still have a bit of Imposter Syndrome to deal with, but I
cope. Today I recognize there are things I'm good at, things I'm bad at, and a
lot of in-between. The things I'm bad at I make myself do more often so I can
get better at them. The things I'm good at I teach to others to help them
along.

I'm not dumping this out there as some sort of victory—more that you need to
know that you're not the first to deal with problems like this, and you can
come back from them.

If you want to be a hacker, for gods sake find some to hang out with. The best
thing you can do for yourself when you're in a rut is have someone pull you
out—offer yourself up as a free pair for someone doing what you want to learn
to do. You're not getting paid anyway right now, so use the time to learn
something. Go to language groups—preferably one with a large community
friendly to new developers. Make friends in the tech community around you, and
you are all but guaranteed that one of them will eventually have a job for
you. In the meantime, work on OSS projects, and if you don't feel confident
about your coding skills, help write tests or documentation. (BTW, its a
poorly-kept secret that tons of OSS code is written by people who don't really
know what they're doing—they just figure it out the hard way. So don't be shy
about contributing.)

Get some exercise. Stop trying to work your way through SCIP and read
something interesting. Most of all stop beating yourself up. Everyone deals
with motivation problems at one point or another. And turn on the no-procrast
feature of your HN profile.

------
billpatrianakos
I'm often right there with you. I'm 25 and I often feel like shit because
everyone else seems so much smarter and doing much greater things than me.

After feeling miserable about myself for some periods of time I end up meeting
some cool people who are in the same line of work and I found that my thoughts
were just not true. Honestly, it's close to impossible to know everything
about programming like you want to. You probably know far more than a lot of
people who are trying to do startups already! No joke! There are people who
think knowing HTML and CSS is enough for them to make the next
Facebook/Google/whatever.

Then there are always going to be people who know far more than you. Most of
those people are here on HN. You can't feel worthless because you're not as
good as you think you need to be. You'll never be good enough if you keep
thinking this way.

I'm just like you and I was inspired by the community here to start my
business and I love it but I still feel like what I've done is total crap
compared to what a lot of folks here are doing. That's okay. The thing about
programming is that you need to break things up into manageable chunks. It
sounds like you're trying to do too much at once. One feature at a time. One
database call, one AJAX request, one link to a CSS file at a time. Go slowly,
work your way up and one day you'll look back and be amazed that all those
tiny incremental implementations added up to this one huge app or whatever
you're trying to build.

Remember too that everyone specializes in something. You know CRUD apps. Other
guys know design. Others are generalist. You know what we all have in common?
_Everyone_ copy/pastes code from online from time to time! It doesn't mean
you're not a programmer. It just means you haven't learned one specific part
of programming yet. Honestly, working your way up from those stupid Hello
World examples is the way to go.

I wrote a lot because I often feel just like you and I know how much it sucks.
It's okay. There are so many people out there who would be astonished at what
you know already that you wouldn't believe. When you hang around HN you're
hanging with the best of the best and you don't want to be comparing yourself
with them just yet. Be inspired, learn as much as you can but remember that
there is so much to learn that you'll be learning to program until the day you
die. My best advice would be to focus on one single skill you want at a time
and work your way up from the damn Hello World examples even though I know it
seems like you know enough to skip them. They will help.

Good luck to you, man. Feel free to get in touch by email, maybe you and I can
build something cool together and prove yourself wrong about not being a real
programmer.

