8 ms·
Ask HN: Underperforming, feeling stuck
What do you do if you feel you have all the advantages when it comes to programming -- intelligence, experience, passion, knowledge -- and yet they seem to desert you when you sit down to code?
One possibility is that I'm not as good as I think I am -- but I have had lots of validation. In the recent past (5 years) I've succeeded at some of the hardest interview processes in the world. I've written things that I'm proud of. I can speak as intelligently about code as any HNer.
Despite all this every time I sit down to code my brain turns to mush, somehow, and nothing gets done. I can always give my managers an intelligent explanation of why progress is so slow, but the thing is, progress is still slow. Lately I find myself making more and more beginner mistakes.
The weird thing is, I don't even feel burned out or depressed. I couldn't be happier with my current job. I'm just… stuck.
If something about this sounds familiar, feel free to offer advice. While psychological diagnoses may be right, at this point though I feel like there's something wrong in my practices.
I need some sort of professional help that doesn't exist. Someone to sit next to me all day and tell me what it is I'm doing that's burning up 8 hours a day without actually achieving anything.
- aboodman 16y agoI used to have something like this problem, and it turned out to be very simple: hunger. I had a bad habit of not eating when I was deeply into something (or deeply stressed), and my body would simply run out of fuel. I think there is something weird about my physiology that causes me to not notice hunger as much as others. So I wouldn't feel super hungry, but I'd get this spacey, apathetic, faded feeling and have trouble focusing. The longer I waited, the worse it got. But I'd already wasted so much time, I'd feel bad 'wasting' more by taking a break and getting something to eat. So it would go on like this, sometimes for a couple days at a time. After a few years of this I happened to meet a beautiful, loving girl who also liked to cook. She made sure I ate at least one good meal a day, and lo and behold, the focus problems largely went away. I put two and two together and nowadays when I feel the fadey feeling kick in, I know what it is and get up and get a string cheese or something. I imagine this probably sounds ridiculous, and I think I may be the only person on earth to have this specific issue. But I just wanted to reinforce the _practices_ bit. It could be something simple. Maybe find a trusted friend or coworker to watch your work practices for a few days and tell you if anything seems odd?
- aboodman 16y agoAlso, I once worked in an office that I had trouble focusing in. I couldn't figure it out for like months and ended up doing all my work at home after hours. It turned out my office had bad ventilation. Working with the door open fixed that problem. Simple :)
- tfs 16y agoSame thing with me. My mind just cannot pin point that it is hunger that is bothering me. Other than that, simple things like bad ventilation,or inadequate sleep can also be the cause. I think just some simple health neglects add up and you end up being like this. There might be no deeper cause to what you are facing.
- ma2rten 16y agoI think I might also have that problem.
- Natsu 16y agoI'm the same as you with respect to not noticing or responding to hunger. I just worked for 16 hours on nothing but a hot dog, a candy bar, and a granola bar. Even though I feel almost dead right now, I'm still not very hungry.
- krschultz 16y agoI have a very similar problem, especially where you said "my body would simply run out of fuel ... I'd get this spacey, apathetic, faded feeling and have trouble focusing". Somehow a doctor figured out I was mildly hypoglycemic, basically you have to eat consistently and everything, but if you haven't eaten in too long you get that long crash where you end up just being almost exhausted for no reason. I always make sure I eat at least something for breakfast lunch and dinner and grab a small snack in the afternoon, an it helps a lot.
- SanjayUttam 16y ago++ Breakfast. I won't even try to do anything that requires thought without my breakfast...usually just some non-sugary cereal.
- 8ren 16y agoEvery new problem is hard. You are a beginner every time. Every dragon is a new dragon. If you already know how to defeat it, you should have built something to do it for you. Your first line is revealing succeeded at some of the hardest interview processes in the world. That means you're supposed to be good, doesn't it? That's paralyzing. How can you know you'll be good at solving a problem you've never seen before? You need beginner's mind™. The heaviness of being successful was replaced by the lightness of being a beginner again http://www.freerepublic.com/focus/chat/1422863/posts http://www.freerepublic.com/focus/chat/1422863/posts (note: just because he's incredibly successful doesn't mean it we should all try to be like him; but this quote does chime in with my own experience.)
- jaddison 16y agoBurnout takes a lot of forms, has many stages and is felt differently by everyone. Are you happy with your job - or just the salary that you get paid? Take some time and think about your motives for staying where you are. Maybe you can look for advancement (challenge) that will help you to be renewed in your current job; maybe you simply need a change. If you do decide to move on to something new, I highly advise taking an extended break between the old and new... reset, refresh and revitalize. You have to know what the problems are before you can solve them. Seems simple, but it's surprisingly common to overlook this one simple truth. Just ask yourself - what do you like about your current job?
- throwaway_stuck 16y agoThis is serial. I've lost a couple of jobs in a row from this. Luckily I still have a reputation earned from some years ago. Plus, I interview well. People still give me jobs. Managers don't seem to have a response here. In my experience most managers only have one bit of information devoted to programmer ability (ROCKSTAR xor SUCKS). They have alternately told me to try harder, or threatened then fired me. I had felt like I was deceiving employers so I took a nine month break and did an artistic project. However even with a whole day to do nothing but that, I wasn't able to achieve much. I worked with a small number of people and lef that project, and it got done, but not very well, even though it was my "full time" job. Still, I felt that I had had enough of a sabbatical, and also had made some progress in psychotherapy, so I returned to the workforce, only to run into the same problems I had before. I now think the psychotherapy was not addressing the right problems -- it's more about what I do than how I feel. And it's clear my attempt at a sabbatical didn't clear up the fundamental issues. I have friends that are able to learn programming languages on the side or take blacksmithing courses and otherwise have full and exciting lives. In other words they have reserve energy. I am so behind on just the basic requirements for my project, I feel I can't do any of this. I schedule more and more and more and more time for work and yet still nothing gets done. As for happiness with work; I have a pattern of working with codebases that are in great need of refactoring and I am feeling a great need to stretch out and do something more original. So that is a problem. That said, the guy who sits next to me has enough energy to actually satisfy those needs both at work (gets managers to agree to major refactorings) and also code up some great things in his spare time. Whereas I'm perenially playing catch-up and my code is ugly.
- lsc 16y agoseveral strategies that have worked for me: 1. get yourself checked out for ADD. I'm not saying this is the problem, but it's easy to check for, and if it is the problem, there are drugs that can at least temporarily make the problem just go away. Now if this is something you've never experienced until just now, it's probably not ADD. But if you've had these sorts of problems on and off forever, (I know for me, my performance falls off a cliff after I've had a job for about a year.) ADD is something to check out. 2. Try pair programming. It works really well for me. 3. Move into management. Even if your organizational skills are not great, having the knowledge of the field gives you a pretty good leg up. If you manage your own company, you can hire people specifically to take care of the things you are no good at or hate. You can get a CS student to watch you code and kick your chair when you stop for under ten bucks an hour.
- lisper 16y ago> it's easy to check for Really? That's news to me. How do they check? > Move into management +1. The tech world needs more managers who actually know tech.
- willcannings 16y ago> Really? That's news to me. How do they check? Typically diagnosis is made after an interview (about an hour) and questionnaires. If there's some doubt about the diagnosis you may need to bring in old school reports. It's also possible to diagnose using brain scans now (e.g http://www.sydneydevelopmentalclinic.com.au/brain_scanning.htm http://www.sydneydevelopmentalclinic.com.au/brain_scanning.h...), and medication can be trialled and selected on the basis of an individual response to the medication (shown with another brain scan, or using testing, e.g http://www.sydneydevelopmentalclinic.com.au/medication_testing.htm http://www.sydneydevelopmentalclinic.com.au/medication_testi...).
- MaOEZKmzhG 16y agoMy experience with a neurologist specializing in ADHD treatment: 1. The doctor will interview you and ask you about your history, all the way back to childhood. If you haven't had problems focusing, concentrating, etc. throughout your whole life (even as a child), the doctor might be skeptical. 2. They'll test you to make sure you're not having seizures. 3. They'll also test your focus, concentration and short term memory with a computer test called CPT (continuous performance test). Assuming you have a history of ADHD symptoms, you currently have symptoms that are interfering with your life, and you do poorly on the computer test, the doctor will probably start some kind of treatment, probably using prescription stimulants. That said, I'm sure there are a lot of other medical conditions that cause symptoms similar to ADHD's. You might end up learning you have some other problem entirely.
- klaut 16y agoWhen I feel as you describe above I know it is time for a change (new job). The thing that bugs me though is that you say that you are happy with your current job - but maybe you are just lying to yourself (without realising it) because you feel comfortable?
- throwaway_stuck 16y agoMy job is about as good as it gets. I believe in the work, the people are great, it's interesting and affects lots of people. The downside is the codebase is old and has problems, but I've seen far worse. Part of me is itching to strike out on my own but if I don't have the discipline to even do halfway well at a job like this, how am I going to deal with a startup?
- klaut 16y agoBut maybe programming is not your real passion? I am in a similar situation right now yet again. I saw that after a year (two years max) I get bored with my job and couldn't care less and then I start looking around, change jobs and the circle begins again. This time I realized that I need to break out of this pattern because it is leading to nowhere. I am scared to start on my own, but maybe it is just what i need? Maybe if I am out of my comfort I will be actually forced to be active and do things instead of thinking about them and complain. So, maybe starting on your own is something you actually need, as well?
- RBerenguel 16y agoWhen was the last time you disconnected from programming? Holidays? Have you taken a halt and re-started? If you are getting nowhere, try to get two weeks off. If you can manage, a month. And keep away from programming for that time. You will crave coding after 2 weeks :D
- throwaway_stuck 16y agoSee "this is serial" above. I took about 9 months off. Didn't really do any coding at all.
- alanl 16y agoI agree, I always take one long holiday a year. 3 weeks when possible.
- staunch 16y agoOne of the spookiest things about burn out or stress of any kind is just how incredibly stealthy it is. It's impossible to self-diagnose in many cases. You can't trust your own evaluation at all.
- ob 16y agoI've had similar stuff happen to me. One trick that has helped to get me out of the rut is to go back to the basics. When I'm stuck I would find a textbook problem, from the very simple (reverse this array, etc) to the more complex (implement a red-black tree). I find these problems help get me back on track and give me useful tools that I might use some day. I think there are two pieces to being effective at programming. If you have a clear idea of what you are trying to achieve, you can just bang out the code. Unfortunately, most of the time you are understanding the problem while you code it due to very ambiguous specs, so you just can't code as efficiently. Last, but not least, tweak and tweak away. Write some code, take a walk, come back and take a look at it again. Review your own code thinking about where you are making mistakes, it'll give you a map of what to watch out for.
- sambe 16y agoThe classic advice: http://projecteuler.net/ http://projecteuler.net/ Helped me get something done.
- albahk 16y agoI can identify with elements of what you are going through, but I cannot add anything to explain the why behind them. I remind myself though, that what you see in others around you is the polished exterior surface of their lives, which many times hide the tangled mess of cabling and crap inside. My point is you are comparing your messy insides to another person's polished exterior - hardly a fair comparison for you. Best of luck
- dlsspy 16y agoI get this sometimes. For me, it takes the right balance of something I'm excited about, having a lot to learn, and having drive from people whom I feel are pushing me in a direction that's better when I'm having trouble ramping up, but not in the way when I'm really rolling out code. I've been doing most of that lately, though I can get into a dream state quite a bit where I want to make something really awesome that will slow things down a bit too far.
- kevinelliott 16y agoYou're really lucky people are pushing you. I'd love to have that! Some of us are less fortunate, either because other associates are not interested in the projects you're working on, or because they're super busy in their own. I don't get a lot of friends and associates asking about my progress, but I always make sure to reach out to them every so often to see how they are doing and offer myself as a resource if they need it for anything.
- kenjackson 16y agoThe beginner mistakes line stuck with me. What types of mistakes (specific examples)? This might be useful for me to know what is going on ewith you.
- throwaway_stuck 16y agoBig things like agreeing to start coding without requirements. Little things like inconsistent return conventions or code disagreeing with documentation comment blocks. People are referring me to classic coder texts like Code Complete. Okay, maybe I do need a review but I fucking read that book in the 90s. It's incredibly galling.
- JesseAldridge 16y agoReminds me of that study which found giving checklists to surgeons improved survival rates in a hospital by a significant amount. It had basic stuff on there like, "Wash your hands before operating." Maybe something similar would work for you. http://www.washingtonpost.com/wp-dyn/content/story/2009/01/14/ST2009011402914.html http://www.washingtonpost.com/wp-dyn/content/story/2009/01/1...
- lisper 16y agoDefinitely familiar. What I would suggest is to figure out what it is you're really getting hung up on. It has to be something more specific than "my brain turns to mush." Try writing down a description of the problem you think you're having. The act of rendering a thought into writing will often break a logjam for me.
- throwaway_stuck 16y agoI get hung up in a number of ways, but the most severe is when I'm trying to learn how the existing system works. I'll be listlessly paging back and forth between spaghetti code classes, and things get all fuzzy, and then it feels like I've spent enough time on this, and some sort of strategy to do my project occurs to me. And then I try it, but it doesn't work because I still didn't understand the existing code. Rinse, repeat. However, just the other week I decided somehow to FIGURE OUT HOW IT ALL WORKS, DAMMIT. I actually kept a glass of ice cubes next to my desk and pressed one to my head if I felt I was drifting, which worked surprisingly well. I realized that this codebase always had a lot of the functionality I had always wanted, hidden away in a particular method. I'd been staring right at it for months and it didn't click in my head. I felt ashamed.
- Tichy 16y agoHm, trying to load a huge ball of spaghetti code into your head is maybe not the best idea. Personally I would only try to understand the parts I currently need. Yes, in theory it would be nice to understand everything before you start. It would also be nice to understand quantum physics, and all sorts of other things. In real life, though, sometimes you have to compromise. I've had the same experience with specifications, btw. Yes, I'll read the whole document before starting. But usually I only really understand it once I start implementing the details. (I am also not convinced that specs of several hundred pages are any use at all).
- lostdog 16y agoThis sounds very familiar... > Luckily I still have a reputation earned from some years ago. You've been capable of doing good work in the past, but you're deeply critical of your current work: > I felt ashamed. ... and my code is ugly. When you try to work, do you start on an approach but then doubt it and lose momentum? It could be anxiety. Here are some thoughts: 1. Remember that programming is difficult and takes time. Adjust your expectations to accept slow progress. 2. Refuse to churn, even if it means writing crap code. Consider everything you write at the outset of the project/day/feature to be a rough draft. You will return to revise it, so the rough draft can be utter crap. 3. Keep your focus on a small corner of the project. Seeing the big picture can help you design a higher quality system, but considering the big picture for too long or too often allows your mind to despair. Todo lists help, but the attitude of ignoring everything but the current task helps more. Pay attention to what you're thinking about when your mind fuzzes out. Are you worrying about something? Learn to recognize the beginning of your focus dropping away. You said this: > it's more about what I do than how I feel ... at this point though I feel like there's something wrong in my practices. I think you're wrong. You knew what to do in the past (you told us so) yet you fail at similar tasks today. Your "brain turns to mush" and you think it's practice that's lacking? Not doing TDD? Too many templates? Not knowing the latest design pattern? It's in your mind.
- bartwe 16y agoTry to build the simplest, crappiest thing you can think of. Leave perfectionism at work.
- pantulis 16y agoI wouldn't be so sure that perfectionism at work is such a good thing. Sooner or later you're going to hit the bottom line.
- sunkencity 16y agoWhen I get this, I add extra constraints to make the problem harder. Switch to using VI editor instead of using Emacs like I normally do. Do an ambitious rewrite/refactoring, make it harder just to to add more FACTOR X. Having more unknown in a projekt makes it more rewarding imho, especially if you're turned on to constantly learning new things. It can be as simple as developing from a new platform (running some weird ass OS inside a VM and developing from that), or it can be (depending on project, writing it in some weird little language just for fun). You probably don't need less of a challenge, you need more of a challenge to get you really motivated.
- crizCraig 16y agoFew things that have helped me: 1. Tim Ferriss's 4HWW suggestion to focus on one or two things a day and when you're doing one of those things, do it in one shot. Don't take any breaks, ready any news, or get lunch before you're done with it. 2. Scrum. The daily meetings and sprint demos have highly motivated to show what I've done. It's also hard to explain away bad performance when the burndown chart is falling behind because of you. 3. GTD tip: What's the next action? It feels great to boil big projects down to a next action. Sometimes great enough to actually start doing it. :) 4. Listen to some music. Sometimes this boosts my mood and motivates me to delve into a project. The trick is turning off the music once you get to the first problem that requires some deep thought.
- guynamedloren 16y agoWhy did you post this on a throwaway account? Are you afraid that HN will think less of you if you posted on your real account? Not trying to be critical - these are honest questions here.
- Figs 16y agoThis is a public forum, not a closed community. Posting about a problem you are having publicly can put you at a disadvantage if your regular account is linkable to your real life name. For example, if a prospective employer googles his name and finds a post about how he's having trouble working, they may be less likely to hire him, even after he figures out the solution to his particular problems.
- robryan 16y agoI think it's more to do with employers usually, might not be to happy about an employee that is admitting they probably shouldn't be getting things done at the rate that they are currently.
- wlievens 16y agoSometimes, when you learn new things, your expectations of yourself grow faster than your practical skills. You read about great things, and then you want to be able to do those too, but your practical skills and experience hasn't caught up yet. Maybe it's that?
- moonpolysoft 16y agoSame shit was happening to me for a while. I have 1 word for you: modafinil.
- varjag 16y agoI think it's a common pattern, only perhaps the magnitude is worse in your case. I observed it on myself as well on other programmers back when doing a project management stint. What helps me personally is having a notepad where I jolt down TODO items, to the most atomic level if possible. To give an idea what's on it here now: - probe for activity on the I2C bus - find the SIGCHLD problem - remove rectangle in the logo on web interface - follow up to a customer on his RFI I.e. tiny bits of work that do not present much challenge separately, yet are actual, necessary things to be done. No deadlines, priorities, long descriptions, etc. No grand items like "add feature X" or "do complete test coverage". They are easy enough that I can complete at least one (but usually a bunch) in the day, and strike it out. Each time you do that, there is a modest tingle of gratification, so it helps to maintain working mood. Also, looking back at the list of completed items is reassuring.
- derefr 16y agoWhen you know you need to "add feature X", what do you do? Write "itemize feature X" on your list, and then, when you come to it, sit there and think of a list of things to replace it with?
- tomh 16y agoWhen you get to that point, you need to get input from the people that you are coding the feature for in the first place. Have a productive meeting with your manager to discuss what they want for feature X, for example. Then the more atomic parts of the todo list should become clear-er.
- varjag 16y agoNo, I don't do any meta stuff in the notebook, that would be silly. It's not a progress report, development plan or a Gantt chart. You don't show it to your peers or supervisors, you don't need to decieve anyone with it. The main purpose is self-accountability and keeping (loose) track of the things you need to approach. Micro-managing myself, so to say. If I need to add a feature, I just come up with first obvious things that have to be done, and expand it as the problem works out or new circumstances arise. E.g. I had to add a protocol support (Modbus TCP & UDP) to the product, the list ended up like this (editorializing a bit): - get green light from the manager - read the spec for minimal conforming implementation - implement conforming request parsing - implement register read command - add application-specific bit X to a register - add application-specific bit Y to a register - implement UDP recv/send loop - test UDP part - implement TCP listener - test TCP part - fix zombie issue with TCP handler - test TCP part - build of product with the new feature - test the build - test the build vs real PLC Perhaps everyone has at least some ideas what you should do when you begin on chunk of work X, so you just write them down, no matter how trivial.
- Rrrrttt 16y agoBecome a farmer and grow your own veggies
- nside 16y agoIt sounds like you're "under-stimulated"; try running your onw co for few months and come back on this thread. Maybe you're a lion in a cage?
- rishav 16y agoEven if you are not good as you think. You may atleast know what usually can get done. Try doing the easiest things first. That motivates you to do the next and the one after that. It also helps get you into some rhythm Also, Try taking a break :). It helps
- deleted 16y ago[deleted]
- bluethunder 16y agoI think this could be one of the 2 things: 1. There is something else which is pre-occupying your subconscious mind. Probably something which you are trying to sideline as not a big deal, but subconsciously it is a big deal. Find out what that is and take care of it head-on. This will fix itself after that. 2. You might not see yourself being 'successfull' in this job over a longer term. For example, you want to do a startup and even though you need this job for the money, you still understand that your longer term interests are better served by quitting right now and doing a startup. It could be something else but essentialy what could be happenning is that your subconsious realizes that you doing this work is not getting you any closer to your longer term goals and hence it is revolting. Do not seek to change yourself or your circumstances right now. Only seek to understand yourself - once you have done that these things will go away by themselves.
- gaustin 16y ago#2 is exactly what I've been going through for the past two years. I'm on my third job in that time, and I'm still miserable. All three jobs are ones most sane people would be THRILLED to have. Three very different environments, all with really great people. But it all comes back to the simple fact that it's not what I want/need/should be doing.
- dytrivedi 16y ago#1 is very true. This is beyond usual thinking and logic, but what's deep inside your subconscious plays a major role in your current state. I've ignored examining it for quite a while and BOOM! - I was unproductive, procrastinating, not able to concentrate, and what not. You'll be quite amazed by the fact that how irrelevant a thing could be lying in your subconscious. I suggest examining your life in great details and find out what's going wrong. And then immediately fix it!
- maxklein 16y agoMaybe you're just a bit lazy and somehow justifying it to yourself with some complicated theory. Spend time doing the mentally difficult tasks and stop being lazy.
- Neputys 16y agoIf I were you I'd think that I'm missing something important. Skills and work is not the only existing thing in life. Judging from what you wrote about your self I don't think you have a problem there. In fact I'm sure you don't. Try to look at a bigger picture. There's definitely something missing in your life. Find out what. I bet it's not work related, but work is probably pointless without it. How old are you? What's next? Want family, kids? Climb Everest?... And forget about this ADD crap. You are absolutely normal living thinking person.
- moconnor 16y agoYou says it feels like there's something wrong with your practices. I'd agree. What are they?
- kqueue 16y agoSeriously, take a 2 weeks vacation. That's all.
- Jach 16y agoI wish. Maybe a year vacation would do it. Perhaps it's because I'm still a college student, but 2 weeks does not seem like long enough to wind down nor stop worrying about everything that needs to get done when you come back. I've known teachers who couldn't stand not having their summer breaks. Of course, to each his own.
- robryan 16y agoIt depends what technologies you are working with to, when I had to pickup the .NET stack I found a large portion of my days taken up just researching different little unintuitive bits and pieces. It's possible that your day becomes to compartmentalized that you don't really have time to build up some momentum on anything? Possibly staying back longer at work might help get a bit of flow happening, I know personally if I was working a 9-5 job it would at times kill productivity with the stopping and starting the next day again overhead.
- gagi 16y agothrowaway_stuck: 1. Is programming the right job for you? If you feel uncomfortable or dismissive of this line of thinking, consider a quote by Jefferson: "Question with boldness even the existence of God; because, if there be one, he must more approve of the homage of reason than that of blindfolded fear." If programming is the profession that truly satisfies you and complements your abilities and personality, then it should withstand critical probing. Is this something you're doing because it's comfortable and you've never looked elsewhere? Are you truly competent? 2. Build something. Something simple and tangible. Get an $10 point & shoot camera, go into the woods and take 20 pictures of wild flowers. Print the pictures and make a physical album. Do as many of these small, creation-oriented, achievable "distraction projects" as you can. In my experience, they provide a great boost of self-confidence, and this allows me to think about personal problems with perspective and calm. This allows me to introspect in a healthy fashion. Heavy weight lifting and long walks seem to provide the same boost to my thought process. I hope that helps.
- markkanof 16y agoYour second point has always been really helpful for me. Since. I spend all day basically living in my own head and moving bits around to create intangible products. I find that it helps to do some activity with more tangible results, to avoid burnout. My current activity is cooking. I make the time most nights to make a real dinner from scratch. I've gotten in to bread baking too. The part that I think is most beneficial is both that it produces something that you can actually touch (and taste) and I can finish preparing a meal in an hour or two, so I don't have to wait for months to see the outcome of he thing I am creating. Plus it doesn't hurt to have a solid healthy meal everyday.
- teyc 16y agoHave you considered it a problem of committing? Sometimes, when you have bucketfuls of experience, there doesn't seem to be any good choices, and you are paralysed by the fear that you might incur a technical debt that will be expensive to pay later. Secondly, is it your development environment. Some tools have gotten very large and can disrupt the flow of reasoning. Thirdly, try doing as much of the design work away from the computer. Then when you are there, you are just writing code.
- jacquesm 16y agoConsider a complete change of career, if that is at all an option. I know that sounds pretty dramatic and drastic, but you've already changed jobs several times within the profession and that does not seem to solve anything. Apparently your inspiration is at a very low tide and you don't seem to derive much enjoyment from your work. This is not something you are going to 'fix' (unless you're just looking at the short term) through technical measures or tricks, your body is giving you a pretty strong signal and you really have to take it serious. In the long term your inspiration and energy will return but you need to conserve what energy you have left to maintain your health and your relationships with other people, not to pour it in to some chunk of code unless that would give you the energy to do more. It's very tricky to give you any solid advice without knowing you much better, please be careful. I do not second the ADD responses in this thread, they do not mesh with your analysis of yourself in some particular respects, the thing that jumps out most at me is this: "every time I sit down to code my brain turns to mush" and the second is this "One possibility is that I'm not as good as I think I am", that means that even though you may not be 'burned out' you are definitely in the risk group for burning out.
- robotblake 16y agoConsider a complete change of career, if that is at all an option. While this may be a huge change to think about, don't underestimate it as a real viable option. I actually was having the same problem as OP and have been in the process of switching careers to screen printing of all things. I've noticed myself having more energy both in and outside of work and a feeling of accomplishment that I'm actually getting shit done in a measurable way. When I actually do sit down to write some code in my off-time, I've felt much more inspired and have actually had the drive to finish the things I start. Obviously this is all heavily YMMV, but certainly something to consider.
- maxawaytoolong 16y agoI too do not think you have ADD or depression or any of those things. You are just not really meant for this career. I am in the same boat. It's a bit of a tough pill to take, as this is an exciting space to be in, but if your body and brain are trying to override your will at every step, you're not in the right occupation. I don't want to get into specific advice, as I don't know you, but don't forget that there are many types of programming. If you are doing web stuff and are super bored, maybe you really should be programming robots or video games. Personally, this didn't work for me. I do like the thought processes in software, and I like typing in code, but I greatly dislike sitting in front of a computer for longer than about 2 hours. Someone on HN mentioned a couple of self-help books by Barbara Sher. I've found them very useful, they are not flaky or very "self-helpy" just more practical advice about career changing and trying to figure out what I'd rather be doing. Good luck.
- wooster 16y agoThis may be a long shot, but have you tried Vitamin D supplements?
- iliketosleep 16y agoit sounds like you did well before, got too comfortable and now your mind has gone stale. you've lost that raw "do or die" motivation. i'm afraid it's not a problem you can think your way out of. you need to put yourself in a situation where you are forced to do what needs to be done, where you literally cannot AFFORD to slack off. it will bring you back in touch. you'll feel hungry.
- SePP 16y agoTry to draw out (schematically) what you want to code on a day. Throughout the day keep progress on where you are on your schedule. It'll help you GTD and also helps structure your thoughts.
- nait 16y agoDoes the problem only occur when you're writing code at work? What I mean is if this is work related, perhaps you want check your mental model of the work and the results expected from you. For example: I spent too much time considering (most of the times unconsciously) what kind of solution is expected and how people would react to it. This sounds like an odd thing to do but it wasn't like I chose to do this. But it was a conscious decision to get rid of it and regain the initial (for lack of a better word) playfulness. And live with the consequences. Somehow it nests easily in a mind that serious work shouldn't be fun and is all about mindlessly meeting requirements. I find that it is important to not let this happen. So far the results have been pretty good for me.
- klon 16y agoI can really relate to this. For me it happens mostly when I have too many projects at once or the projects are chores which do not resonate with my interests.
- windock 16y agoI found myself in the same problem when I've become web developer - my attention was weakening from month to month, even having healthy work and rest, probably because of lots of distractions that internet brough. End up using Pomodoro Technique. http://www.pomodorotechnique.com/ http://www.pomodorotechnique.com/ (site is down currently, however it seems to be temporary). In short, from http://en.wikipedia.org/wiki/Pomodoro_Technique http://en.wikipedia.org/wiki/Pomodoro_Technique 1) decide on the task to be done 2) set the pomodoro (timer) to 25 minutes 3) work on the task until the timer rings; record with an x 4) take a short break (5 minutes) 5) every four "pomodoros" take a longer break (15–20 minutes) That way, after a few month of working that way I could make about 8 pomodoros a day (comparing to 2 at start) and it made me merely 4 times more productive, also attention after that kind of training started to improve.
- berntb 16y agoI'd guess the guy talking about burn out might be correct. Try working less for a while and take up a totally different hobby. If you don't get exercise, start doing it. [Edit: The advice below to go Voltaire and get a garden might be good.] Some other possibly reasons, from mine (and others) lives. Check physical health. "Random" examples: Sleep apnea. Bacteria infection. Some weird allergy/food intolerance. Change where you work, eat and sleep. [Edit: From comment below it seems you've had this long enough and in enough jobs to know this isn't true.] You might have problems relaxing when not working, try a course in meditation. [Edit: You took time from comment, so this is probably not it, either.]
- aniket_ray 16y agoThis has happened to me a few times. These are the tips that I follow. -Don't worry about it. Its just a phase and it happens to the best of programmers. -Drink loads of water. I don't know the biology behind it but when I'm properly hydrated I think much more clearly. -Take some time off work. Play a game, watch a movie. Any of those guilty pleasures that you generally avoid. And don't feel bad about wasting a bit of time. Your mind needs the rest. -Cycle through different kinds of music. I see that sometimes working with music helps and sometimes working without. Sometimes changing music genre helps. I cycle through phases during which I am most productive in either Heavy Metal, Folk, Classical or 80's pop music. -Aboodman has already mentioned the importance of timely healthy meals. I tend to keep some fruits with me when I start programming, to munch on over the programming session. -Something that might be the most important is, solve easier problems and gradually move to the harder problems. Generally (and managers would tell you) that you want to solve the harder problems first, but when you are in stuck and looking for inspiration solve some easier problems. If there are no relatively easy problem at work, there are lot of easy programming problems available on the net (Google programming interview questions). Find some relatively easier problems and code a solution. Then, move to relatively harder ones. --I tend to like easier problems where the target is to achieve a particular performance (say processing should end in xyz seconds) because then you could gradually improve your solutions. Victories in small battles are just as important for our mind as the bigger ones. Just my 2 cents. edit: formatting
- znt 16y agoThis has never happened to me before but maybe you have performance anxiety? You said you had done well in the interviews and you're an experienced programmer. By listing these reasons you make appearent that any person with your qualities must be able to produce outstanding work. By looking from that perspective maybe you're imposing expectations that are too high about yourself instead of just letting it go and enjoying your job. So maybe treat yourself as a newbie programmer who's just started his career, and instead of trying to do outstanding work you should try to gain as much "experience" as possible.
- Vargas 16y ago> I can speak as intelligently about code as any HNer The level of technical discussion in HN is very low. Either HNers are not knowledgeable or is just that they/we don't use this forum for in deep technical discussion.
- piramida 16y agoSounds similar, been in the same situation, to understand yours better one question that needs a honest answer - do you like what you are coding? Are you interested in the end result? In my case, switching over to a project that I was really interested in brought back the enthusiasm I started lacking. And losing enthusiasm leads to subconscious delays - it's as if your brain tries to avoid doing the work it does not get direct stimulation for. But if you (deep inside) do love what you are doing, then it probably does not apply to you. Do you have any side projects? Are they any different? Maybe you just avoid admitting to yourself that you are not doing what you want to be doing, really.
- sidawson 16y agoI can totally relate to this. Having worked largely from home for the last decade, this is something I've had to battle a lot. Not being in an office, there's no-one else there to motivate me. Here's what's worked for me: 10 under 10: Every night I write out 10 (or more) tasks, each under 10 minutes. I make sure there's a few super easy ones (coupla minutes each) at the top of the list. That's what I work on the next day. 10 mins is a good length. It means you have to think down to near the deepest level of a task. I found with 20 min tasks, it's very easy to get mentally lazy, & next thing you know you're depressed/unmotivated coz something you thought would take 20 minutes is actually a day's work, full of subtle gotchyas. Each day I try to do 10 of these tasks. If I achieve 10, I know I've had a good day. Thing is, once I've done a bunch of them, I'm usually motivated enough to do to a ton more. Eg, today I've done 79 (so far). 10 * 10=100 minutes of coding may not sound like a lot, but you'd be surprised how little actual work most people do (see: Office Space). I keep two lists: the 10 under 10, and my 'done' list for the day. As I do something, I c&p it from the former to the latter. That way if I need perking up during the day, I can just look at my 'done' list to see how productive I've been. Identifying limiting beliefs: This is a bit trickier. It's easy to see the noise at the top level of our mind (mental chatter: "This problem is too tough for me" "I can't do this" etc). That stuff is relatively trivial to let go of (just decide to, you're the boss of your brain). What's trickier is finding the subconscious stuff, doubts etc that affect our behaviour, but don't necessarily rise to the level of conscious thought. What I've found is that a lot of times things are so abhorrent that our mind "protects" us from them by hiding them. You can only see that you're being limited by looking at your output (behaviour, patterns, productivity etc). A useful framework is this: 1) Assume you can do anything (as you pointed out, within this field there's no reason you can't). 2) From that basis, anything you're not doing is because you WON'T. Thus, 3) Ask yourself "Why won't I do X?" - with the followup question "What am I afraid of?" What I've found is for every "won't", there's a fear behind it. Now, the super subtle thing is this: You won't necessarily get any internal (mental) answers to these questions. However, if relaxed & attentive, you may feel tension or energy rising in your body in response. This is your body's physiological connection to those deep fears. Know how when you get stressed you tense your shoulders? Yeah, it's like that. So, when you feel that energy or tension rising, in response to the questions, just let it go. Make the choice to consciously relax & let go of that tension. As you do, what you're doing is simultaneously letting go of the associated belief. Keep letting go till you feel relaxed about the questions. Those two techniques combined have worked wonders for me, coming from exactly the same situation you describe. Good luck!
- lawn 16y agoLot's of good responses but there's one thing I'm missing: working out. A few years ago I was playing icehockey maybe once a day or something and I felt great, school was easy and I had a lot of energy to spare (well, for a teenager anway). Then I quit hockey and I started doing nothing, just sitting in front of the computer and guess what happened? I got inexplicitly tired and burned out. I love math but it got boring and my arms where like spaghetti and I almost tanked school (thankfully I didn't). I've always thought it was lack of challenges but now I know it wasn't that simple. I think that my lack of working out really did make me more tired, and not just a bit but extremely tired and depressed and a whole heap of things. Now when I've started at the university I had this same strange sensation like back then, much milder but still familiar. So I went to a couple of taekwondo practices and I'm feeling a ton better already. So my suggestion is to start a regular, and then I do mean regular with no skipping because you don't feel for it or don't have time etc, workout. You don't have to go for a run if you don't think that's the most fun thing there is (I personally really dislike it) but find something fun - ball sports, climbing, dancing whatever. Definitely worth a try!
- araneae 16y agoOn the other hand, if you hate working out and working, and you have a limited amount of willpower, you might end up spending all of your willpower working out.
- plurinshael 16y agoTrue. But you're probably exerting yourself too hard if a workout session taxes you that much (or you have it built up in your mind so you'll hate it no matter what). Remember Worf's exercise of holding 13-pound weights straight in front of him? To do that, you don't even start with weights, you just hold your arms out. There's no shame (literally none, this is actually the secret of developing an exercise mentality/physiology) in lifting incredibly light things, even just your arms. I do hear you, willpower is precious. But since exercise helps create willpower, too, and stress mitigation, it's a highly lucrative investment.
- 16y ago
- shy_hckrnwr 16y agoI have a similar problem, i have knowledge, good coding skills but i never get things done on time, mainly because i have a serious procrastination problem. Is like i can only work under pressure, if i have a assigment of 1 month i try to do the things from the start date but actually start to be productive in the last week, and i never finish on time. I'm feel sick about this because the entire month is a pain to me, and my life quality sucks cause of that. I have some success with a product(webapp) that i build, outside my job and recently get bussines angels money to start my own bussines. I dont know if i undervalue myself but i have the feeling that i dont deserve this success. I'm afraid of fail because my work style problem. I hope that now that i go into management and will hire people the things change but i'm not sure, maybe the problem affect all my personality, i used to act similar in my schools days. Some time i think is a kind of mental problem. Excuse my english.
- VBprogrammer 16y agoI don't know if this is a problem that applies to you but for quite some time I started getting bogged down in problems. I guess I was reaching the Journey Man stage of becoming a programmer and I wanted to start by creating the full architecture of each program before actually doing anything, a kind of top down approach to programming. Recently, I’ve realised that I’m not super human; I start by putting down code and shaping the architecture as the problem evolves. Not that I put up with ‘code smells’, I don’t move on to the next sub-problem until I’m comfortable that the current one is in a reasonable condition. I fund this allows me to actually get started, rather than staring at the problem as a whole and wondering where to start.
- rsaarelm 16y agoHave a checklist of "stupid" health maintenance stuff, not directly related to the problem at hand. Neglecting these may cause poor mental performance. Here are some example items: - Be aware of how much you sleep, avoid chronic sleep deprivation, - drink enough water that your urine is clear, - watch out for blood sugar crashes from eating irregularly or eating refined sugar, these can mess your head, - go running or to the gym, this will kick up your metabolism, and being in a better physical condition might provide more energy for mental work, - try some basic dietary supplements, some omega-3 source, multivitamins and calcium seem to be commonly used
- motters 16y agoIt sounds like you don't have any particular goal in life, or that whatever goals you had have been reached. Knowledge and intelligence on their own aren't enough. You also need a mission. Much of the coding which I do tends to be oriented around a particular kind of goal which I'd like to reach, and which has remained elusive enough to keep me trying and learning different things.
- edw519 16y agoDespite all this every time I sit down to code my brain turns to mush, somehow, and nothing gets done. I can always give my managers an intelligent explanation of why progress is so slow... Oh, so this happens at work...This exact same thing has happened to me many times and here is what I figured out... The problem is NOT with you, it's with the work. Like you I have scored excellently on interviews and tests and have written code so cool I even surprised myself. So we have to believe that we are as good as we think we are. That belief is what enables us to take on the hard projects. That belief is also what turns our brains to mush when our work is too many levels below our capabilities. Sure, we all do work below our level every once in a while; we have to, that's the nature of the beast. But when you're doing low level work for too long (like at many jobs), you lose energy from the lack of stimulation. We then mistake that lack of energy for many other things: our skill, our commitment, even our health. Here's what I've done in situations like yours: build something cool on your own time. It will get your juices flowing and you'll be your old self in no time. Of course, you'll want to work on your own project instead of your employer's, but that's another problem.
- someone_here 16y agobuild something cool on your own time. It will get your juices flowing and you'll be your old self in no time. Of course, you'll want to work on your own project instead of your employer's, but that's another problem. Another problem that's fixed by having a profitable side project ;)
- adamtj 16y agoDo you like what you do? You said you have passion, but that isn't always the same. Programming can be very hard if you aren't actually interested in the work you're doing.
- terra_t 16y agoYou can be depressed without realizing it. Part of you can think that you like your job, while another part of you hates it. The best way to detect burnout isn't to ask "do you feel burned out?" but to ask "can you get the work done?" I was stuck in the code mines a few years ago; I'd always find some way to convince myself I was happy about what I was doing, but then I read this blog about SEO and started dreaming about making my own web sites that make money... At that point my mental health really cracked and I couldn't focus on 9-to-5 work at all anymore. It was a sign that I had to change what I did, and gradually, that's what happened.
- rhizome 16y agoDepression is a very common side effect of ADHD due to a person's natural reaction toward not being able to get stuff done.
- chopsueyar 16y agoWhat have you been eating and drinking? Does your employer provide you with unhealthy snacks and/or energy drinks? Are you going out to lunch at restaurants and having big portions? Are you drinking alot of coffee with sugar and cream in the morning? Gatbage in, garbage out.
- agentultra 16y agoIt could be anxiety in one for or another. I get anxiety in high-pressure social situations sometimes (mainly because I work from home a lot and don't get many opportunities to socialize offline anymore). It's not like I freak out or anything, I just start drawing blanks, mumble, and sometimes stutter. It becomes difficult to complete a thought. It's no biggie though. There are was of coping and over-coming your issues. As others recommended, exercise helps. If physical activity itself doesn't help, try something with a strong mental or emotional component like martial arts, rock climbing, or dancing. You just need an outlet for whatever you're holding on to.
- risotto 16y agoI've been feeling this recently but had some breakthroughs about it. A very experienced adult has strong notions of what is possible. If you're around very successful people these notions are lofty. Sure it's possible to bang out a program in an afternoon. I used to do it. My coworker does it all the time. But I am not doing it now so there must be something very wrong. Maybe I'm too old or depressed or have ADD or ... I found you just have to really step out of your head for a second. My managers are genuinely happy with my progress even if its slow. They know they can count on me to understand the problem and keep advancing and deliver something that works, even if that takes weeks where it could theoretically be done in an afternoon. Furthermore, they want me to be relaxed and happy and that means it's fine to play hooky or slack off some days. So I just focus on my personal relationship with my coworkers, and my mental health, not my "productivity." I am not a robot.
- GBond 16y agoKinda scary how so many HN people are giving you armchair medical advice... if you think it even remotely physiological/bio-chemical, go see a REAL doctor. >I'm doing that's burning up 8 hours a day without actually achieving anything. If you're certain it is not... have you tried brain hacks like the The Pomodoro Technique? Also considering asking another hacker to mentor you. Simply sharing what you are working on is great motivation. I often tell my friends about the projects I am working on knowing that I will lose traction doing the low level stuff. Having someone you respect checking on progress goes a long way.
- alttab 16y agoI'm going to say what everyone else has said in way less breath: become action oriented and DO. Don't think about how you feel, how mushy your brain is, etc. Ignore obstacles and PLOW. Get something done.
- trustfundbaby 16y agoI know you say you love the job, but how do you feel about the specific projects that you're asked to work on? Are they interesting to you?
- grammaton 16y agoNot much I can offer in the way of practical advice here. Mostly all I can say is, you're not alone on this one. I'm going through much the same thing right now, and I suspect there isn't much for it other than time. About the only thing I've noticed is, cutting out extra time in front of the computer - e.g. browsing mindlessly at home - seems to help a bit.
- deleted 16y ago[deleted]
- jonhendry 16y agoI hate the "I'm trying to think but nothing happens" feeling. Not least because there's an audio clip out there of Curly of the Three Stooges saying it.
- bluishgreen 16y agoIf you are still watching mail me at snathan(a)cise.ufl.edu, I might have something useful to say