Live data from Hacker News

Ask HN: Underperforming, feeling stuck

news.ycombinator.com

71–80 of 135 posts

Re: Ask HN: Underperforming, feeling stuck

#71
post #17

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

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

Re: Ask HN: Underperforming, feeling stuck

#72
post #17

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

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.

Re: Ask HN: Underperforming, feeling stuck

#73
post #2

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 tak…

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 fel…

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.

Re: Ask HN: Underperforming, feeling stuck

#74
post #40
post #37

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 l…

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?

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.

Re: Ask HN: Underperforming, feeling stuck

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

Re: Ask HN: Underperforming, feeling stuck

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

Re: Ask HN: Underperforming, feeling stuck

#78

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 tr…

I think I might also have that problem.

Re: Ask HN: Underperforming, feeling stuck

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

Re: Ask HN: Underperforming, feeling stuck

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

Post reply on HN