top | item 3902956

Ask HN: Help - I've hit a wall.

62 points| chris_dcosta | 14 years ago

I need help. I've reached a point where I have several parts of the project that are all interdependent, and it seems nothing can proceed without a huge amount of parallel work.

I'm a single tech founder and I feel like I'm going round in circles trying to get through this wall. I'm thinking of trying some freelancers but even the thought of explaining the dependencies is like a heavy weight in itself.

It all came to a head today, when I just realised I can't even beak down the next step into small prices because of the dependency. It's getting me down and I've run out of ideas to get me through. It feels like I'm wading through mud, and actually the end is in sight, but it's like looking at the summit of Everest from the ground.

Does this make any sense to anyone? Can you help?

32 comments

order
[+] jsherer|14 years ago|reply
I agree with the other posters. You need to take some time and get re-inspired, and to do so, it helps just talking with somebody about it. The fact that you're posting about it here tells me that you're likely to make it through (otherwise, you would have quit already).

Seth Godin calls this point "The Dip". It's a trough in the lifecycle of a project/plan/development/etc when the high and excitement of starting something has died off and the rewards don't seem worth the remaining effort. I can tell you, though, that if you put in the time, get inspired, and slog through the toughest part of "The Dip", you'll come out the otherside with something great. Most projects don't make it past, so there's great value in doing so.

Here are some links to read more about "The Dip":

http://www.slideshare.net/stevecla/pushing-past-the-dip-how-...

http://sethgodin.typepad.com/the_dip/

http://www.ribbonfarm.com/2007/09/06/seth-godins-dip-and-mul...

[+] chris_dcosta|14 years ago|reply
I'm glad you brought this up, because I'd also read about this, and had always dismissed it thinking "I'm not going to let this happen to me" (don't we all?) - but i recognise it now that you mention it. It must have crept up on me.

I'd like to add one more point, in that the project has reached the stage where I was starting to get people excited about it when it was presented, as opposed to the early reactions where the concept wasn't fully formed, and most people couldn't relate to it. I think I am feeling the pressure of expectations as well. People are now asking me when it will be ready, whereas before there was no such anticipation.

[+] jacquesm|14 years ago|reply
Stop writing, start cleaning up what you've written. Then, after a while of cleaning up the solution will fall out of the sky all by itself.

What has happened is that you have lost the overview, cleaning up your code will restore that.

[+] fexl|14 years ago|reply
Yes. Sometimes when I feel stuck or paralyzed, I like to just fiddle with the existing code, refactoring here and there to do some obvious albeit small improvements. This entrances me into a little "flow" experience, and suddenly some bigger and more interesting opportunities emerge spontaneously. That's when I get really inspired and make a lot of progress.

Sometimes it's good to walk away, as in literally take a walk and utterly ignore all your problems, and sometimes it's good to chip away, as in doing one little easy thing that's within your immediate power, however meaningless it might seem. I find that such small efforts produce a sort of "compound interest" effect, where your gains start to pile up faster than you expect.

[+] chris_dcosta|14 years ago|reply
Thanks this is a really interesting take. I had already tried the "walk away" approach, for more than a month, but coming back to it seems completely overwhelming. I like this idea because I think I get what it's doing: it's reminding you of all the parts bit by bit, and allowing your mind to re learn re think, and rebuild the project in your head, and it's also a utilitarian task meaning that you're not thinking (stressing) about solving something that is already solved.

I'm going to give this a go. Thanks.

[+] jtheory|14 years ago|reply
Complementary advice: while you rebuild the outlines in your head again, re-evaluate your old decisions about what really needs to be there.

If your overall vision is too solidified in your head, there may be some minor decisions that were a good idea at the time ("well if we're already doing X, it's easy to also give them Y!"), but now that you're down in the muck they are complicating things far more than you imagined.

Sometimes you can just drop a few things you actually don't need (but have become fixed in your vision though habit), ...and dependencies start collapsing, and the whole thing takes on a new shape.

Also: don't overlook temporary solutions.

You can often fix a dependency with a cheap hack that obviously won't scale in the long run... but it gets you over the hump, and you'll be able to replace it with the real solution down the road.

[+] jharrison|14 years ago|reply
I'm also a solo founder/business owner. I get myself bogged down in projects, sometimes to the point that I can't pick out anything to focus on. This is definitely where having a partner/co-founder would come in handy.

The way that I've dealt with it so far is I'll grab one of my friends, technical or not (technical would be preferred) and I'll just start dumping. I'll go through all the things I've identified as hurdles and why I'm struggling with them. More often than not my friends don't have to say anything! Just talking to them helps me find something I had missed. They often have nothing to add but just speaking the challenges helped me find solutions. Someone mentioned talking to a rubber ducky in another comment and I suppose this has a similar effect.

Also, as mentioned many times, take a break. Go for a hike or go see a movie. Do something else. Give your brain a break.

You can also try getting out good ole pencil and paper and writing things down. Start a list of the smallest possible thing you can deliver and deliver it.

It's all doable given enough time so give yourself time.

[+] egfx|14 years ago|reply
very good points. Learning by teaching is one of the best ways to learn about something you yourself are struggling with. I think the reason for this is because you are forced to fill in the gaps to help your audience understand, while in your head gaps in understanding are justified. Also, fantastic point about taking out the paper pad. I have 4 tablets and 3 computers and I still write all my diagrams on green paper.
[+] Jemm|14 years ago|reply
May I suggest distraction. Get your mind off of the problem and let it be for a day. Not sure if this works for others but for me, I go for walks. Often the solution, or a new tact, would hit me and I could then sit down and try my new idea.
[+] montecarl|14 years ago|reply
This is good advice. I often get stuck on some problem and try to power through it. This rarely works and I often have to give up frustrated. Several days go by and I forget about the problem completely. Then one day, I remember the problem and a good solution just appears. It works so often for me, but I never do it intentionally.

Just take a break when you get stuck and do something else.

[+] carlsednaoui|14 years ago|reply
You. Can. Do. This.

Breath, go for a run.

Take the time to refractor your code. Cut non-fundamental features, focus on shipping something. What can you achieve in the next week? Focus on that.

Disclaimer: I'm not a programming expert, I've only been coding for 6 months. However, if you want to bounce ideas on marketing your product, feel free to reach out: [email protected] (I do everything from lead gen to paid search marketing for a living - would be happy to help where possible).

[+] sundeep_b|14 years ago|reply
I think the problem is that there's only one mind on it. As you said the project is quite big with a lot of dependencies, it is quite possible mind becomes numb to the future developments. Here's my advice. Pick the parts that might interest you

* Even if it takes a day, try telling it to a rubber duck. Take it for a walk if you guys get tired at desk. * Talk it to at least one friend who can try to understand. In my short experience, this helps in realizing how we can or want to proceed. Or even go with the freelancer your thinking to hire, you might succeed. Can't know unless you tried once. * Stubs and skeletons * Sequence matters. If it is only you that has to do parallel work, you have to do it anyway. Even with a freelancer, you should decide how to proceed. So, either ways, even though hard, you need to break it up. Try not to multitask if you do it alone.

And, I think more technical details might fetch you better advice. I could be wrong!

[+] nodemaker|14 years ago|reply
Ok heres an insight that I want to share.

So basically if you are tired of attacking the problem vertically, just leave it and try to attack it horizontally.

Now of course unlike my fizzbuzz problem, your problem can have a lot of more dimensions than two but then it can even become more fun.

Also never forget that you are doing this because you find this the most fun thing to do.

[+] adrianscott|14 years ago|reply
This makes sense.

Your project is too big. Get a smaller piece or version working that does something useful for someone.

Don't refactor code.

Just get something small(er) working.

[+] HerraBRE|14 years ago|reply
I have this problem now and then. I've begun to treat it as a sign from my subconscious that my code has become ugly and some housekeeping/re-factoring is in order.

Sometimes I can push through (e.g. due to a deadline) by picking at individual tiny features and working my way through the spaghetti until they work. I generally start by adding something visible to the UI and keep at it until it works. This has the advantage that I'm almost guaranteed to make visual, visible progress, which helps with motivation.

But often, the only choice is to take a step back, accept that I'll be making "no progress" for a couple of weeks and go clean up my mess and re-factor the code. :-)

[+] csomar|14 years ago|reply
If you want to chat about it, add me on Skype.

My advice: Do you have customers that paid money and are waiting for this particular problem to get solved? If not, then who cares. The world is fine if the problem doesn't get solved tomorrow.

If you are running out of money, go and do some freelancing/consulting. Get back to it in a couple of months, and you'll see it can be solved differently.

Don't try to solve the problem now. Your mind is probably too busy and anxious calculating future predictions of the outcome (and what got it here in the first place). Get back to it when your mind stop these calculations, you need more brain CPU time to solve this.

[+] read_wharf|14 years ago|reply
They say that you should never re-write a project, but that's in the context of something deployed and operating. It sounds like you are not deployed.

You've put a lot of time into the project so far, so you've learned a lot about the project and its domain.

When you first started your project you didn't know as much as you do now.

So consider using everything you've learned to date, and start over from scratch. Total re-design, total re-write.

If you have trouble explaining the dependencies of your own project to other developers, that's a sign of ... something. If you can't break the project down into pieces for yourself to work on, that's a sign of ... something.

[+] jason_slack|14 years ago|reply
I usually hop on my motorcycle and hit the road for a bit. You would be surprised how much thinking you can get done and it doesn't feel like thinking!

I never knew this would be a hidden benefit when I learned to ride last year.

[+] RawData|14 years ago|reply
Happens to me all the time...I usually have to unplug completely, sometimes for a day or two. I'm in Chicago and we have awesome parks and lake Michigan waterfront...so I'll go wander around outside for a few hours. Helps to clear my head...and if that doesn't work I'll put the whole thing away and go read a book or something for the rest of the day.

One of two things usually happens...a half hour after I start reading a book...the solution will POP into my head...or TWO, I'll wake up the next morning with the solution...works every time...

[+] bdfh42|14 years ago|reply
I think this is normal - for any project that is reasonably challenging. It is a tough slog to plough through all of the "must have" code blocks (or what have you) to get to that near mythical minimal viable product.

I am at a similar stage with a current project - where I can see there is still lots to do (some of it cloudy - so not a clear view to the summit) - you just have to keep plugging away and - well the good feeling comes back when you realise you have got through it with a good solid base of code behind you.

[+] paulsutter|14 years ago|reply
Describe the problem here. You may get some good ideas to simplify or break the deadlock. Merely writing it out for others to understand may even trigger some new ideas of your own.

Check out this discussion for Pud's question "400K users, what now?"

http://news.ycombinator.com/item?id=3850739

You gotta be impressed by his humility and pragmatism, and you gotta be impressed by the wide range of interesting ideas presented.

Try it out!

[+] JohnnyFlash|14 years ago|reply
This happened to me 2 weeks ago. I put it down and walked away waiting to get reinspired. I am starting to get hankerings to pick it up and power through but not enough to go again quite yet. I know when motivation strikes I am 50% complete and I am a relatively short distance to the finish line.
[+] robomartin|14 years ago|reply
Forget about coding. Make yourself a nice cup of coffee or tea. Sit down. Fire up a browser and watch a few interviews on Mixergy full-screen. That ought to clear-out the "funk" and get you inspired to go kick ass again.

Not affiliated with Mixergy. Just a happy user and premium member.

[+] huhtenberg|14 years ago|reply
As others have said - take a day off. Get it out completely out of your head, and then when you get back you will likely get a different perspective on the whole thing - a larger picture, sans minutae. And if then it feels like a rewrite, rewrite it :)
[+] dreamingforward|14 years ago|reply
Yes, it happens when one reaches the limits of reason. Only one of two (a-rational) things can get you unstuck: an irrational act or love. Unfortunately, unless you are willing to lose it all, you'll probably have to rely on the former.
[+] gte910h|14 years ago|reply
You need to cut features from the target.

Drop me an email at the address in my profile if you'd like me to help you cut a lot off to start with.