Ask HN: How to overcome strong feelings of worthlesness and inadequacy
41 points| dazedconfused | 14 years ago
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.
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.
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.
I started reading HN since last year, and ever since I've become anxious and depressed.
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.
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.
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.
This is indeed ruining my life.
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.
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?
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.
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.
I can't finish anything.
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.
If anyone can give me any pointers that can help me overcome these feeling I'll really appreciate it.
Sorry for the long post, and thank you for reading.
d_r|14 years ago
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|14 years ago
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...
billpatrianakos|14 years ago
cpt1138|14 years ago
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|14 years ago
adrianwaj|14 years ago
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|14 years ago
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?
geekagirl|14 years ago
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.
larrykubin|14 years ago
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|14 years ago
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.
mburney|14 years ago
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|14 years ago
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.
doktrin|14 years ago
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|14 years ago
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.
papaver|14 years ago
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...
nprs|14 years ago
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... 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|14 years ago
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|14 years ago
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|14 years ago
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.
leslyn|14 years ago
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|14 years ago
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|14 years ago
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.
pessi-opti-mist|14 years ago
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|14 years ago
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|14 years ago
http://www.forbes.com/sites/michaelellsberg/2011/07/18/how-i...
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|14 years ago
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|14 years ago
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|14 years ago
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|14 years ago
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|14 years ago
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|14 years ago
PS: I've started off with Python today. :)
ebiester|14 years ago
First, go back and review the basics of web programming. https://code.google.com/edu/submissions/html-css-javascript/... 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|14 years ago
Also, thanks for the link to google code university - it's new to me.
lazyfunctor|14 years ago
jodrellblank|14 years ago
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|14 years ago
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|14 years ago
karmajunkie|14 years ago
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.
_yobq|14 years ago
[deleted]
billpatrianakos|14 years ago
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.