
Ask HN: Help - I've hit a wall.  - chris_dcosta
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.<p>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.<p>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.<p>Does this make any sense to anyone? Can you help?
======
jsherer
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://www.slideshare.net/stevecla/pushing-past-the-dip-how-to-
become-the-best-in-the-world)

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

[http://www.ribbonfarm.com/2007/09/06/seth-godins-dip-and-
mul...](http://www.ribbonfarm.com/2007/09/06/seth-godins-dip-and-multi-armed-
bandits/)

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

~~~
Nervetattoo
I would look really hard for any way to even just release a single feature of
it — just get _anything_ released and "working". You need to reinspire
yourself here, and one hell of a good way of doing that is being pushed by
peoples feedback. I know for myself that at the point you apparently are at
its very easy to take a break and think you'll come back to it later — big
mistake. If you can't muster the energy to release something now then chances
are you wont ever.

Try to release something, gather feedback and use that loop as a motivation
for doing minor, really minor, fixes and improvements. If you can manage that
you can pick up new steam and in the same time learn more about what direction
you should be taking.

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

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

~~~
jacquesm
Yes, you got it perfectly. Good luck!

------
jharrison
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
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
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
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
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: username@gggmail.com (I do everything from lead gen to paid search
marketing for a living - would be happy to help where possible).

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

------
joshu
Go for a half hour walk. Twice a day if possible. Alone. No distractions or
talking.

It will work wonders. I promise.

------
russtrpkovski
sounds like you need to bring out the scope hammer.

------
billpatrianakos
Males sense to me. I'm going to add to the chorus in hopes that it reinforces
your belief that you should listen to us: Step away from it. Stop working on
it for as long as it takes for you to get your mind straight. After a few days
I guarantee the answer will appear from thin air. That's always how it goes.

