Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Underperforming, feeling stuck
150 points by throwaway_stuck on Oct 6, 2010 | hide | past | favorite | 130 comments
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.




Lot'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!


Besides just discipline and energy, I also noticed one more thing working out helped me out with. It provides a way to push your limits without being afraid of failure - because there is no pressure to perform. You can't lift the weight, no worries, just drop down a plate this week and give it a go the following week! This attitude propagates to work - you tend to take away failure as an excuse not to get something done!


I've made working out a habit for a short while now and it really has done a lot for my attitude and energy levels. If you aren't already doing some regular physical activity I also recommend making a hobby out of something that keeps you moving.


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


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


I think you underestimate how much I hate exercise.


A lot of people just hate things associated with exercise, like going to the gym with a bunch of people, or running around their neighborhood. You can always start by doing bodyweight exercises like pushups, pullups, crunches, and yoga. If you still hate it, you could do what many Americans working menial jobs do and get high beforehand.


If there is literally no physical activity you enjoy and no job you enjoy then you are probably suffering from some kind of depression.


And here I thought I was just lazy.


I 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?


Also, 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 :)


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


++ Breakfast. I won't even try to do anything that requires thought without my breakfast...usually just some non-sugary cereal.


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


This thing looked like it was written by me minus the beautiful, loving girl! :-) I was so energetic once but for past 1 year i feel not so. I believe it's the hunger. I don't feel it and I'm too shameful to tell I forgot to eat. I'm writing this with only a small meal in the past 24 hrs. I have to change.


I think I might also have that problem.


I'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.


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

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.


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.

Another problem that's fixed by having a profitable side project ;)


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


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


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


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


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


That's exactly my approach. I spent a month on a project not really getting anywhere, putting things off and moving things 2/3 pixels in CSS code doing "work". I then bought a whiteboard, itemised in root-level terms the tasks I needed to get done, how I would achieve them, and then crossed them off when done.

I not only felt accountable to myself, but as I work alone, friends or family visiting me would ensure my checklist was being ticked off and ask questions on specific points ("why haven't you done that?" "because XYZ is taking longer than expected" etc...)

The list makes you answer questions about how you'll tackle the problem, it also allows you to think without staring at a screen which is beneficial.


I've had a lot of success with the pomodoro technique. You start with a todo list for the day and then do work in 25 minute chunks with 5 minutes off in between each chunk. I've found that giving myself those 5 minutes of time to deliberately not work makes it much easier to actually focus for the 25 minutes when I am working. It also forces you to look at what you're doing every 25 minutes so you don't head of down rabbit holes.


When 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?


No, 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.


That's programming. Recursively specifying problems until they're defined unambiguously in terms of solved problems. When you've reached the level of the features of your language and tools... that's your program.


Itemize feature X is often very difficult. Instead of itemizing all of feature X in one go, just figure out what the next item is that needs to be done to move towards feature X and write only that single item on the to do list.


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


Thinking in terms of "add feature X" is not breaking it down enough. No feature is an atomic piece of code...if it was, "add feature X" would be enough to implement it and you would be done. The trick is to keep breaking down "add feature X" until you have a list of todo items that are close enough to code that they are then trivial to implement.


Its organized, efficient, and it works. And its masking the problem. You don't really want to do any of that - you want to be doing something meaningful and important.

So yes you can train yourself to be a wonderful cog in somebody else's machine. But consider the other advice here: find a better project. You have never actually been in charge of your career until you took a job that paid Less, because the project was better.


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


I second the ADHD check. This sounds like classic ADHD symptoms to me. Once you sort of reach that pinnacle you've been striving for, it's easy to lose the drive when you can relax and quit striving or when things are less challenging. You will find your motivation will wax and wane, week in and week out. You start avoiding the real work so much with distractions that it becomes painful just to face it and your own procrastination, which magnifies the symptoms by an order of magnitude.

Do NOT let this relatively easily solvable problem destroy your career. I made this mistake early on in my career and paid for it with a lost job. I'm glad things ended up the way they did, but it would have been better if I left there on good terms.

Even if medication is a temporary fix, it might be what this situation calls for. Often in life we have to chose the best of two evils, and your career is not something to put on the line. I know that I am way happier working 40 hours a week steady than I was when I would binge hack for 120 hours straight while riding a motivation wave.

If you can get yourself back into the groove and being productive, try to figure out what gives you motivation and try to work your way into a position that continuously feeds you these things. That's what I'm working towards.


> I second the ADHD check. This sounds like classic ADHD symptoms to me. Once you sort of reach that pinnacle you've been striving for, it's easy to lose the drive when you can relax and quit striving or when things are less challenging. You will find your motivation will wax and wane, week in and week out. You start avoiding the real work so much with distractions that it becomes painful just to face it and your own procrastination, which magnifies the symptoms by an order of magnitude.

Holy crap, you just described my life. There's no way I'm an extreme case, but maybe I really do have a little ADHD going on...?


I think everyone finds themselves with those thoughts and feelings.

I think that the lack of drive and focus is a symptom of something, in rare cases perhaps ADD/ADHD. However from personal experience I usually discover a core problem that was causing these symptoms. Resolving that problem takes care of the lack of motivation and focus.

Perhaps the specific work environment isn't for you. One job I worked directly out of university crushed my soul as a developer. As an intern I had vast responsibility and did a lot of interesting projects. Once I joined on fulltime, they were going through a restructuring period and I ended up doing trivial work putting out fires. Luckily they downsized a third of the company a few months later and I was fired - a blessing in disguise there. A week later I was running a small team doing innovative new projects at a large corp.

Often it can be outside factors in life that strangle your productivity. When my father was very sick and hospitalized, my work drastically suffered. I'd like to consider myself a strong individual whose outlook on life would allow me to deal with such events with ease. However, in the situation without knowing it at the time it was impacting my life. Instead of taking a few weeks off and dealing with the issues at hand, I threw myself into my work while my progress continued slowing exponentially. Eventually I was working 16 hours a day and writing 0 lines of code. I ended up quitting that job, and taking time to deal with my life.

Anyways, the moral of the story was stepping back and discovering the root cause of these symptoms can be very beneficial. Don't block it out with meds unless that is really the cause.


>Anyways, the moral of the story was stepping back and discovering the root cause of these symptoms can be very beneficial. Don't block it out with meds unless that is really the cause.

If the meds fix the problem, and they have proven fairly safe, why not use them? (I mean, they aren't absolutely safe, but they are very safe compared to, say, driving to work every day.)

It's not a lifetime choice, either. You can decide that you need some help, and get it for the next six months, then stop and work on your personal issues. This is actually what I'm doing now (though, I'm nearing the end of my rest... it's time to get some work done.)


I agree with everything you say. Often there are other factors. It sounds like this is a consistent problem with OP though, and regardless of environment or lifestyle, he's still having issues.


While we all have a little bit of it in us: let's face it, nobody wants to work on a dull project, ADHD symptoms become so exasperated in these scenarios that they become debilitating and self-destructive. The brain turning to mush that OP described hit it right on the head. The best litmus test I've found is to the conversation test:

"frequent shifts in conversation, not listening to others, not keeping one's mind on conversations"

I can have "black out" episodes where I impulsively and immediately walk away from conversations without finishing them, often with a little amnesia. I've asked my girlfriend a question, essentially immediately forgotten that I did so, and turned up the radio volume.

http://www.addforums.com/


No, it's normal, and blaming it on a medical condition is dangerous and not helping you fix it. Perhaps in some people it's due to ADHD, but in most it's not.


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


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


Depends on the doctor really.

The first doctor I tried wanted to have me see a shrink to get tested. The first visit cost me a $50 copay and then I had to have another visit to do the actual test, costing another $50 copay. I skipped that second visit and went to another doctor. (The shrink seemed like a quack anyhow).

My new doctor whipped out a giant book and started reading a battery of questions from the back of it. Based on the answers to those questions he determined I "met the requirements for treatment." Seemed a bit weak, but I didn't ask any questions since I knew I had already been through all the typical tests before. having been diagnosed as a child.

TLDR: YMMV. Just talk to the doc and see what he says.


> 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.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_testi...).


There is something called the TOVA test, Test Of Variance of Attention, or something like that.

It's like a very boring 10 minute video game. You click a button when a certain stimulus is presented on screen, but not when a different stimulus is presented. It measures your reaction times and your errors (click when you shouldn't, don't click when you should). Then the program does some statistical comparisons and prints out a report.

At least, that's what was done in 1993. Could be different now.

Combine that with a history. I imagine it's a lot easier to diagnose in adults, because so much more data is available. And the doctor doesn't have the pressure of diagnosing ADHD for a little kid whose parents are worried he'll get less out of school. As an adult, that damage is already done. ;^)


>How do they check?

It's an interview process. But really, as far as I can tell, the check is "do the drugs make you hyper or do they make you focused" The only definition of ADD that I've heard that differs appreciably from simply being lazy sometimes is that people with ADD respond differently to stimulants. Jack up my nervous system enough and I'll actually lay down for a nap.


Pair programming is good advice - but then, I have a sneaking suspicion that the majority of what you find in Agile programming methodologies is pretty much designed at overcoming the problem that the OP describes.

I found that morning meetings with the other devs on the project, where we are all publicly assigned stories to complete in the day also helps - you don't want the rest of the team feeling like you're slacking off, so you push on through the distractions. But of course, you need the whole team to be on board, and indeed, you need a team!

As I often work alone, the Agile methodology that helps me the most is TDD. It helps me keep focused on what I need to do next. Conceptually it's similar to a TODO list, as suggested in other posts, but it has the advantage that you can't allow the tool itself to be a distraction (I've tried TODO lists, and I end up playing more with the list than with the work). With TDD, either you're writing tests, or you're writing the product code, but either way you are creating an artifact that is useful to the project.


As others said above I'd also suggest you try out pair programming (with a friend of yours). I find myself more relaxed when I'm with someone I can talk to, make jokes or just bitch about the things not working. When I feel stressed I change place with my friend and he continues with the code while I calm down. Also he might see mistakes you don't and helps you fix them right away avoiding the stress.

Another good strategy is to break everything down to small tasks. Tasks you can do in 30 minutes or less. Watching the list getting shorter makes you feel like you're doing something. I think this is part of the agile approach.


> You can get a CS student to watch you code and kick your chair when you stop for under ten bucks an hour.

Excellent idea.


I've often thought this would be useful. Someone standing behind me to slap me whenever I compulsively checked email for the second time in a minute, checked a news site to see if anything interesting had happened in the last five minutes, etc.


Burnout 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?


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


Someone mentions this below, but, are you trying to engineer the most perfect elegant solution known to man when you could get by with something more simple?

Working with existing code that someone else wrote is harder than a new project. I've only really gotten into heavy testing in the last year or two, but having tests also improves confidence that your changes are not bringing down the entire system.

Finally, what I would say is you need to get into a habit of mentally stimulating yourself after work. I found that when I was in a rut, I thought that I was burnt out and needed to "veg out" more, but I later felt that vegging out only bred more laziness and more procrastination. Once I started to get my brain stimulated in any way, whether it was reading a book, or trying something to learn something new, the effects would carry over.

Summary, laziness breeds more laziness, and stimulation actually recharges you.


You took a sabbatical but you kept programming. That didn't address your burn out at all. You should have taken blacksmithing courses. :) It's not that they have reserve energy it's that they refresh themselves by changing modes.

Personally I'm pretty prone to burn out. I work as a developer and have lots of programming side projects I work on. My advantage is that I can sense the burn out and when it happens I stop all side projects and try to do mostly administrivia at work.

I did stay in one programming job while burned out for over 2 years (this was before I realized what was it was). I produced practically nothing in that time but the act of sitting there trying to force my way through made the burn out get gradually worse. I stepped completely away from programming for about 30 months to get over it.

Another thing that made my burnout worse at that company was that the environment was so incredibly awful. Are you sure you're actually happy where you are, or do you say that because you fear being fired again? I would have said (and if fact did tell someone) that I loved my job during those dark two years, but it was because I felt worthless and unable to get anything better. I wasn't trying to trick the person that I told, I was trying to trick myself into believing it.


Working on existing, bad quality code is the biggest nightmare for me. My philosophy is to think about a problem a lot, and write as few and as concise code as possible. Even delete code if not necessary. I am working alone on 180.000 lines of really bad quality Java code with copy-pastes, and its own 'web framework' and using all the buzzword technologies like Spring everywhere. The business requirements are not that complicated (although boring like hell) 20.000 lines of really high quality code would solve the problem I think. It has been created by 3 people for not too much money. I've reached the point that it is impossible that I can ever refactor this alone, as there is no time for that an my manager is micromanaging very much. It is extremely hard to put in new features because I have no mental model for how to do things in this 'framework' (an undocumented mess. and I've spoken with the author: he could not explain the philosophy behind it.) I am so unmotivated that I go to math/programming forums and I solve math/algorithmization problems for some fun when I should work. At the darkest times I find out math quizzes for myself or just think about P vs. NP (which is depressing as there is no chance to solve that). But I need the money, and there are not much interesting jobs where I live.

And I feel that there are people who could be a bit better at what I do now: people with very very good memory. Maintaining a huge illogical mess needs very good memory and nothing else. I don't have very good memory. That's why I love logical and conciese solutions which have 'philosophy' behind them.


Just to expand on your comment about burnout and its stages, this post by jacquesm gives an excellent explanation of burnout:

http://jacquesmattheij.com/Are+you+suffering+from+burn-out


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


#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!


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


I'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.


The classic advice: http://projecteuler.net/

Helped me get something done.


This 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


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


You'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.


I 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


I 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!


I can't upvote this enough.

For what it's worth, I've gotten good use out of the Pomodoro Technique ( http://en.wikipedia.org/wiki/Pomodoro_Technique ) to keep myself focused, but it usually only works for me if I'm already motivated to begin with.

Doing both the 10-under-10 and Pomodoro may help to get things started and keep the momentum going.


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


Sometimes, 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?


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


I'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.


Every 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 (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.)


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


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


Reminds 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/1...


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


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


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


Depression is a very common side effect of ADHD due to a person's natural reaction toward not being able to get stuff done.


Have 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


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


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


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


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


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


It 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?


I 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/ (site is down currently, however it seems to be temporary). In short, from 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.


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


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


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


One important thing to keep in mind is that progress doesn't always feel like progress. Trying something that turns out not to work might feel like a waste of time, but it's actually progress: now you know this doesn't work and you can try something else that is more likely to work. As long as you remember what didn't work and don't end up in loops where you keep trying the same non-working thing over and over again (which is harder than it sounds) you will sooner or later get it to work.


Hm, 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).


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


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


When 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


See "this is serial" above. I took about 9 months off. Didn't really do any coding at all.


I agree, I always take one long holiday a year. 3 weeks when possible.


When 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?


My 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?


But 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?


Try to build the simplest, crappiest thing you can think of. Leave perfectionism at work.


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


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


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


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


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


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


Even 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


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


I'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.


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


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


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


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


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


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


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


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


I 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?


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


Seriously, take a 2 weeks vacation. That's all.


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


If you are still watching mail me at snathan(a)cise.ufl.edu, I might have something useful to say


You says it feels like there's something wrong with your practices. I'd agree. What are they?


This may be a long shot, but have you tried Vitamin D supplements?


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


I'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.]


Same shit was happening to me for a while. I have 1 word for you: modafinil.


Become a farmer and grow your own veggies




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: