

Ask HN: I'm struggling and need some advice - ethan_

I went straight from graduating college to working on a solo project with little in savings. With the support of my parents, my intention was to take a year after college to work on it with "getting a proper job" as a fallback if things didn't pan out. With shame, I'll admit that I've been living with my parent's for the past 1.5 years, without yet releasing the project. For those wondering, the project involves gambling and automation. There was an enormous learning curve to overcome, and perhaps I was being overly ambitious given my skillset coming out of college. I definitely underestimated the time it would take.<p>My parents worry and express their concerns about me "not making any money" yet, and I genuinely feel ashamed of not meeting my original 1 year deadline. My friends support me, but I have a sense that they think since so much time has passed without results, that my project is a pipe dream. Or maybe that's really what a part of me thinks? Anyways, I've convinced myself that with all the work I've put into this project, if I were to get a proper job right now it would be devastating. I want to at least test the waters first, to release the project and see if it takes off. I equate getting a 9-5 type job as giving up on the project, giving up on myself, and settling for mediocrity. My long-term goal is to fully support myself from passive income sources to the extent that I have freedom of time and place. To me, getting a proper job is a step in the wrong direction, a last resort. Although it is something that would make my parents happy, I don't think it will make me happy.<p>As it stands now, I am 80% towards a releasable project. My problem is that it's becoming increasingly difficult to get the few remaining core tasks done. I see the finish line at the end of the marathon but instead of putting all my energy into one final "sprint", all I can manage to do is crawl. I have been more productive in the first 2 months than the past 6. On a good day, I put in 6 solid hours of programming in a (near-)flow state. However, on a bad day I'm lucky to get 2 hours in. And lately, there have been many more bad days than good ones.<p>Reading http://www.softwarebyrob.com/2010/11/10/five-reasons-you-havent-launched/ has helped reveal some of my problems:<p>- Fear: I am a perfectionist. I have spent too much time working/thinking about things that are not (immediately) important. This quote describes it exactly: "This is how fear really works. It keeps you from launching by tricking you into thinking you have real work to do, when that work is actually pointless busy work created to stave off your launch." For example: I'll have a core task on my TODO list, and will begin working on it for a short time only to convince myself that I must do something else first, like spending more time researching X. And of course there is fear of failure. As I inch closer to a release, the fear of failure becomes more paralyzing.<p>- Lack of self-discipline: Avoiding distractions, managing time, setting and following strict deadlines. "How does a project get to be a year behind schedule?  One day at a time."<p>So I am split mentally. My rational side wants to push forward, to "release ASAP!", while my emotional side is trying to prevent it from happing.<p>Does anyone have actionable advice to help me?
======
petercooper
_So I am split mentally. My rational side wants to push forward, to "release
ASAP!", while my emotional side is trying to prevent it from happing._

Have you ever been skydiving, bungee jumping, or something similar (even
public speaking for many)? Unless you have a disposition of steel, when you're
at the point of jumping, your gut is _screaming_ at you to not do it, even if
you're rationally aware of the (low) risk and _want_ to do it.

Comparing launching something on to the Internet to jumping out of a plane
seems silly on the surface, but there are some strong parallels. The more you
do it, the easier it gets (though in both cases it rarely becomes a breeze).

A common trick is to pull back on some features so you can launch with the
"minimum viable product". And even if you do that, yes, it might fail. But at
least you'll know sooner and can stop dragging your heels. Build up some
velocity and even if your product/site is going in the wrong direction, you
can more easily change course than by looping around procrastinating.

I say all this as a semi-reformed procrastinator. My fix is merely to keep up
the velocity, even if it's in an unknown direction (examples - at the weekend
I built <http://tweetcanal.com/> \- today I launched
<http://javascriptweekly.com/> \- both procrastination activities of sorts but
they fit into my plan). Changing course is easier than starting the engine in
the first place.

~~~
ethan_
Good analogy. I can definitely relate to this feeling.

I like the idea of launching a minimum viable product and I have recently been
keeping it in mind during my design/development cycles. The idea of focusing
on maintaining velocity seems more appropriate for web apps. My project has a
long learning curve and an inherently long feedback loop. The amount of
boilerplate code required for something minimally usable is extremely high
compared to that of a webapp.

------
davidsiems
Get a job.

Don't view getting a job as failing. There's a lot you can learn from the
experience. Both in terms of what to do and what not to do.

Don't view it as 'making your parents happy'. It's more about independence and
self-sustainability. What would you do tomorrow if your parents decided to cut
you off?

If you're working 8 hours a day you'll still have a few hours to work on your
own stuff. I work 8 hours a day with a 1 hour commute each way and still
manage 1-4 hours a day on personal projects.

My advice? Get out there, get some perspective. You can learn a lot about
responsibility and self-discipline from the workplace, maybe that'll help you
with your own stuff as well :)

~~~
bbarthel
"Don't view getting a job as failing. "

I was actually going to post this exact same advice. Getting a job _is not_
failing. You graduated college so obviously you place some value in having a
structured environment to learn. If done carefully, a good job can provide you
with a whole new set of skills (and contacts) that may prove invaluable, in
much the same way college did - only you are getting paid for it and building
up that independence. On top of that, you can still work on your project - it
is not one or the other.

Also, I actually believe that learning how to release is very important. A
good job will teach you that skill. How do you decide what is the "minimum"
set of features? How do you decide which bugs have to be fixed and which can
be ignored for now? How do you decide when a feature is "complete"? How do you
balance the need for a new release _yesterday_ versus the need to address
issues and add value. These are all things that it sounds like you are having
trouble with - and a good job will show you how other people make these
decisions, which you can then apply to your own project.

------
nl
So, say you work for another 6 months, and launch your project. What then?

Unless you are exceptionally lucky that's when the hard part starts: promoting
it, selling it, making it do what people want. It would be unusual for it to
succeed straight away, so for how long are you prepared to struggle
financially while you work to increase the income it gets?

You say your project relates to "gambling and automation". Are you prepared
for the fact that most (online) gambling establishments don't like automation,
and are prepared to go to significant lengths to stop it? You may think you
have technical countermeasures, but it's not uncommon for companies to sue to
stop the sale of software like this, especially if they know the developer
doesn't have the resources to defend a case. Are you ready for that?

~~~
ethan_
I should clarify something. My project involves software that places automated
wagers based on statistical analysis and machine learning. It is initially
intended for private use. When I "launch it" I will get feedback in a matter
of weeks regarding its profitability, after adjusting for variance. I already
make money part time wagering money, but it's not enough to fully support
myself. Automating the process allows for greatly increased profit potential.
Some of my limited savings will be used as a starting bankroll.

------
variety
Forget about what other people think: you're probably in a far more dangerous
situation than you realize, with respect to your financial instability.

Get a job NOW and don't think about quitting until you have a reasonable
savings buffer ($10k+, $20k far better) and a source of _sustainable_ "ramen
money" to pay the bills while you work on your dream projects.

Main thing is that we should basically _never_ allow ourselves to be in a
situation of prolonged, positive "burn rate" -- expenses to pay without income
to match -- if at all possible.

------
newobj
Couple points:

* Simple fact is you might not be "mature" (professionally/experientally) enough to tackle something like this yet. I don't think there's any shame in that. Couple signs you lack maturity: You think the finish line is after another 20% of development, you think you can work a 9-5 day as a developer, and your own self-admitted lack of discipline. Have you ever finished anything? Finishing is hard. If you lack the discipline to do it on your own, going out into the real world and having an entire team/company relying on you to finish is a really good forcing function to learn how to do it. To learn how to edit. To learn how to compromise. To learn how to just muscle through it. To see that after you finish, some things you just "HAD TO DO" didn't actually need to be done at all because it turns out no one uses them. Etc.

* If you're only getting 2 hours of work in a day, you can probably do it on top of your "9-5" job.

* And why not just launch? You might be 20% away from development completion, but there's another 100% to go after that in terms of customer development, sales, support, etc. You don't even know if you have one viable customer yet. If you're really at 80% shouldn't it be easy to at least pre-sell to one customer? I mean do you even have a single lead yet?

Good luck.

------
droz
this may sound harsh, but, not everyone can be an astronaut- someone's got to
make the french fries.

Go out and get an 8-5 job, make some money, become independent and work on
your project on the side.

Also- don't be afraid to make mistakes.

~~~
gaoshan
This is a good point. I'm a 42 year old software french fry cook (rock star
code ninja I am most definitely not) but I'm happy, make money and get to
spend time with my family. The downside is that I don't exercise my IQ as much
as I'd like at work but to make up for it I study Chinese, read and work on
personal projects.

------
mattm
IMHO, you have no motivation to earn money since (I'm assuming) you have
little to no expenses by living at home.

Set a goal to move out by the end of the year.

Seeing my monthly expenses go out without any income coming in is always a big
motivator for me.

As an alternative option to getting a job, you may want to consider teaching
English overseas. If you pick the right place, you can live cheaply and only
need to work part-time which can give you plenty of time to work on your idea.
It is also a great experience for other aspects of life.

------
lacker
Estimating the time needed to make a program work is hard, especially with no
experience. You are probably not 80% done. In fact, you may never finish this
project. You bit off more than you can chew. You've learned a lot, but it's
time to move on. Go get a job that teaches you how to be a better programmer.

------
bradhe
Consider consulting part time?

~~~
riledhel
Although I'm overall ok with the advice; I think consulting being his first
job wouldn't be such a great idea. He already expressed concern about his
ability to deliver things on time. Maybe getting a job somewhere else could be
extremely educational in this matter.

------
iliketosleep
you need a reality check. once you feel the true consequences of not getting
your stuff done, you'll surely be able to do it next time! so go get some
crappy job and let it be your reality check. good luck.

~~~
ethan_
What would the consequences be of not getting my stuff done at a crappy job?

