Ask HN: I'm struggling and need some advice
10 comments
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?
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?
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.
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.
* 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.
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.
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.
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.
What would the consequences be of not getting my stuff done at a crappy job?
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.
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.
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.
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.
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.
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.
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.
But I really want to be an astronaut ;-). If I fail my astronaut exam, perhaps I'll temporarily make french fries, only to be back for the next astronaut exam.
Getting a job right now is like preparing for the astronaut exam, not taking it, and deciding to make french fries instead. While making french fries I'll constantly be wondering whether I would have passed the exam and become an astronaut.
At the moment, the pressure put on myself to become independent and self-sustainable is less than the pressure to finish this project.
Getting a job right now is like preparing for the astronaut exam, not taking it, and deciding to make french fries instead. While making french fries I'll constantly be wondering whether I would have passed the exam and become an astronaut.
At the moment, the pressure put on myself to become independent and self-sustainable is less than the pressure to finish this project.
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 :)
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 :)
"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.
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.
I admit it's irrational to view getting a job as failing. However irrational it may be though, at the moment it is still my viewpoint. In the future this may change.
I completely agree that getting a job can be a valuable experience and I could certainly use some perspective.
What I am concerned about is whether I can realistically manage to develop for 8 hours a day at work, come home, and develop for 1-4 more hours. Even if I did manage to do it, how much time does that leave me for other activities? Not to mention, the feedback loop would be absurdly long for anything but the most trivial weekend projects.
All this said, if my parents decide to cut me off tomorrow, I'm immediately looking for a job. I want independence. I want self-sustainability. I know a job can provide them. But before I start looking for a job, I want to finish my project and see if it's as promising as I anticipate. If it flops, at least I tried.
Is there anything wrong with this? I suppose it depends on how long it takes to get things done. I do not want to be in this position 6 months from now, being 90% done instead of 80% done.
I completely agree that getting a job can be a valuable experience and I could certainly use some perspective.
What I am concerned about is whether I can realistically manage to develop for 8 hours a day at work, come home, and develop for 1-4 more hours. Even if I did manage to do it, how much time does that leave me for other activities? Not to mention, the feedback loop would be absurdly long for anything but the most trivial weekend projects.
All this said, if my parents decide to cut me off tomorrow, I'm immediately looking for a job. I want independence. I want self-sustainability. I know a job can provide them. But before I start looking for a job, I want to finish my project and see if it's as promising as I anticipate. If it flops, at least I tried.
Is there anything wrong with this? I suppose it depends on how long it takes to get things done. I do not want to be in this position 6 months from now, being 90% done instead of 80% done.
Working 8 hours a day, 1 hour commute each way, and up to 4 hours on personal projects... do you manage to achieve this while maintaining a relationship and friendships? =)
Consider consulting part time?
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.
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.
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.
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.
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.
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.
Reading http://www.softwarebyrob.com/2010/11/10/five-reasons-you-havent-launched/ has helped reveal some of my problems:
- 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.
- 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."
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.
Does anyone have actionable advice to help me?