I've done this before (and it wasn't successful btw but ymmv)
* dedicate x hours a day for a specific time period (say 8pm-12pm) every day.
* Let friends and family know that they can help by
leaving you alone during this time
* make sure you still get enough sleep.
* use your lunch period at work to plan your next work period
* reward yourself, friends and family at the weekend by being extra sociable. Host BBQ's, movie nights anything so you stay in contact with humanity and don't lose those your care for.
* realise that you can only keep this up for 6 months before you will start to become too tired.
* be ruthless with features and only aim to implement the absolute minimum to get you where you want to go.
* pick a set of friends who are 'go to' friends when you need to bounce idea's. They should be used when you think you are procrastinating. They don't even need to understand what you are doing, the act of explaining will add clarity to your situation.
For me it failed because wasn't ruthless enough and I over spec'd and under estimated time.
Great points! I'd like to reiterate the get enough sleep point. It's easy to try to get in another hour of startup work before bed, but being in any sort of sleep debt will MASSIVELY impact your actual productivity.
One thing I always liked doing was finishing up my day job work-day, going to the gym, working out, showering, changing, and walking back into my home office like I'm starting the day over again, this time working on my startup. The exercise is not only good for you, but can wake you up and help you turn off your day job, and reboot fresh for your startup work.
* Pay off your bills so you don't have so many financial pressures. I've spent the last few years paying off debt and getting ready to start my business. That way the barrier for me to quit my main job and work at my own company is a lot lower.
* Talk with your employer to see if you can flex your time. I happen to be able to work 32 hours a week in 3 shifts. That way, I have 4 days a week to code.
* Be patient with yourself. If you're serious about doing this, be in it for the long haul. Don't think that you're going to be able to bring the next "______ killer" to market in 3 months. Think in terms of years and not months.
* Focus on a business that will bring in revenue as opposed to building a business that attracts eyeballs. If you can bring in more cash, you don't need to work as much, allowing you to focus more time on your own company.
Student loans can actually be deferred for 18 months at time. And, if you go back to school for one semester, the deferrment period for those student loans gets reset, and you can take an 18 month deferrement.
So, you could go back to grad school for a semester, and then reset your student loans. It's a pain, but there's cases where that's worth it.
Find things to do at work that will teach you things you need to learn for your startup.
For example, you need to choose between two ways of doing something on a screen and aren't sure which way users would like more. Instead of deciding yourself (we all know how well that often turns out), find a way to implement both ways at work and see how those users respond.
You've done good work for your employer and its users, you got paid for it, you've learned something invaluable for your startup, and you don't have to worry about IP issues (it's just an idea, right?)
Sometimes, if you change your thinking, you can turn what appears to be a liability into an asset. Although a day job sucks your time, it's a great way to get experience you need. Think of its as someone else paying you to do R & D.
First read your contract of employment - you might find that you do not "own" your ideas while employed (this might be location dependent). Does not stop you thinking and working of course but will require some effort to ensure that any "inventions" are deniable.
You can also ask your employer for an explicit exemption for whatever you're working on. I've had all of my side projects cleared before doing serious work on them (although that did kill one project, since it was too close to something my company was doing)
or you can live in california, where all these kinds of agreement are more likely to be un-enforcable. Maybe that's the reason that so many startups are here?
Be careful just assuming they are unenforceable. Non-compete agreements are, but if your company can show that they have any "actual or anticipated" research, development or plans in this area things are up in the air.
I have been doing it now for about 8 months straight. Here's what I've been laboring on: http://clovercontent.com
- Use every spare moment you can find to work on your startup.
- If you're married, don't neglect your wife/husband. Make time for what's truly important.
- Stay up late, but don't forgo sleep.
- Slim down your feature set and only do what's absolutely necessary.
- Lock yourself away in a private area so you can get into the zone.
- DON'T USE CREDIT. If you can't afford something (hosting, etc.) wait until you can. Start your company without debt.
- Get friends and family to test your software. There's no better QA department than your spouse. Who could be more critical than the person you married.
- Sometimes you won't be able to work on your project for weeks. Don't sweat it. Wait it out and keep focused. Come back to it.
- Stay focused on completing the software, no matter what problems come up. You can complete it. You will mentally fight your own self telling you to quite. That's the hardest part.
- The question "why am I doing this?" will come up in your internal monolgue at least 5 times a day. You have to really want it to combat your own doubt.
I enjoyed reading your comment. I am just about to start working part-time so that I can spend time on my own projects and so have found this whole thread very interesting.
I have to disagree with your idea that friends and family make good QA. The problem is that they love you (or at least like you). I think you would get much better feedback from strangers who can be honest without caring whether their opinion hurts you.
Great question. I'm currently "struggling" with this exact issue. I have a great day job which I put a lot of focus into but after hours I really want to focus on my other projects (and still have a life).
I agree with a lot of what dazzawazza said, but here's some more
- Along with dedicating x hours of time to work on it, create a TODO list for the week, or a specific one for the day that is actually reasonable and will get you somewhere on your project. I make a weekly todo as I only spend about 3 days a week at most on my projects.
- With your limited time, follow the whole principle of launching early and often. Unless you're the king of hype, no one is going to hurt your feelings about your simple, slightly broken prototype of a system until you're closer to the end.
- Have somewhere that you can work peacefully. Make an office area at home away from kids/wife/girlfriend and let them know you need some time to work. Coffee shops also work great for you laptop folks.
That's just a few more, hope it helps you out. It's a tough thing to do but oh so rewarding.
http://www.qwertykitchen.com
* Equal partnership, still working on it and it works. We just have to figure out how to bring in traffic.
http://www.loudfarm.com
* Not done yet.
* Minority equity holder.
* so far I feel has bee my most succsefull code wise. The most limited in scope, it is going to be bay area only.
* Feels like the best chance at working.
Things I have learned.
* The only projects that stuck, were ones that I had fun doing.
* The wife can be helpful, but respect her time.
* Don't spend money unless you absolutely have too.
Take away, only do something extra curricular if its fun, and you are learning something new. Otherwise you should invest your time in the company. Who knows you might be able to innovate there.
This is really hard to do. Quitting my job and working on http://ticketstumbler.com full-time essentially pushed us a year ahead of schedule. Kudos if you can pull it off; I could not.
I think the biggest risk is "death by fizzling out". Startups are fun... at first. Eventually, they hit a point where they (hopefully only briefly) aren't remotely fun and are instead hard freakin' work that you'd love to avoid. So spend some time engineering a "system" where you can't slack off (have a co-founder who depends on you and have recurring scheduled work days to avoid the "Meh, I'm pretty slammed this week-- I'll get back to things next week" state.
The second biggest risk is failure to pull the trigger (or inability to do so). Know what your target is for jumping into it full-time (and make sure co-founders are on board with this target). Be sure you have the financial means to jump when the time comes-- start saving now. PROFIT generally comes a long time after REVENUE.
I'd say forget all the rules/guidelines people have proposed. The only thing that matters is whether your startup idea compels you to work on it. Having to force yourself to work on it guarantees failure.
Or, to put it another way, the only way to work two jobs for an extended period is for one of those jobs to be a hobby.
I worked on NewsCred for 6 months while keeping my day job. I'm glad I did that - we weren't obsessed with time to market. If you are or have a product that is dependent on getting out there immediately because of 100s of competitors, then you probably should give up your day job (and find a new idea?!). But most startups can be nurtured and grown while holding a day job. You'll know when you need to give up the day job. Either you have way too much startup work or way too many users, and both cases are good.
So don't sweat it. For me, 6 months was a nice overlap. I quite my job after that and haven't looked back since.
I've been in this situation for six months or so and it worked well for me.
My best advice is to surround yourself with people who are excited about your product and can give you feedback.
In my case, I had a customer who was very excited about the product, technical peers who I would bounce ideas off of, and a supportive family that wants me to succeed.
Plus, you need to have the drive to make the startup a reality. If you don't have drive, nothing will get done.
I agree with being out of debt... it's been very critical in maintaining relative sanity when pushing through the tough times of a startup. Use credit cards to float a month's worth of expense, but always pay in full.
Here's what I've been doing recently, but I'm at a slight advantage since I'm self employed.
When possible, I try and use the time I spend working on client web projects to advance my own projects. For example, I'm researching CMSes for a client and myself. What I learn building their site, I can apply to my site during the evening and visa versa. Makes me much more efficient on both fronts, especially being able to work on both in tandem. And, knowledge retention is generally higher.
I spent about 3 days doing pretty extensive research and testing on TXP, WP, SilverStream, and EE. Selected SilverStream CMS and now a lot farther along in BOTH projects than I had imagined being just a few days ago.
The best way to do it is to make a modular design and hire people to work on it. Every day, you review the code they wrote for an hour. Otherwise you will hardly have the time for work, startup AND wife. Plan carefully, use the money from your job to create your idea and then launch small.
Usually, the reason for staying at your full-time job while working on your project in your free time is that you don't want to take the financial risk of going full time on the project. I find it hard to believe why you'd rather stay employed yet use that money to pay others to work on your project.
You will hire cheap programmers from abroad who will work for a fraction of your salary. For example, you earn $3000 a month and spend $600 a month on your startup. You still have enough and more left over.
You probably shouldn't hire extremely cheap programmers if you want a product that, besides barely functioning, is also extensible and scalable.
No matter what country your programmers are from, if they have spent enough time working on various projects to know what they're doing, they probably also know what they're worth.
If you spend an hour every day reviewing the code and making design decisions, you could very well hire monkeys and they would come up with good code. You have to micromanage the code to get good results.
I'm not the one who modded you down, but... I'm having trouble seeing how this would work. What do you do if the code isn't up to par? Are you willing to basically pay - with both cash and time - for the privilege of educating the programmers you're using until they're up to your standards? Or to throw away their work and look for better programmers, possibly ad infinitum? Rewrite parts of the code yourself?
I haven't outsourced any projects so far. I have, however, worked on a project launched with an off-the-shelf script - it definitely saved time and effort upfront, but the code is far from great, so it's been more frustrating over time. I still haven't decided whether the tradeoff was worth it.
Have you actually used this strategy yourself, and if so, how did you make it work?
What I do is this: model the part of the project you want with uml and write the function names. You solve the bulk of the design issues and all the coder has to do is fill in the functions. The skill lies in writing function names and descriptions that pretty much guarantee that he can hardly do wrong.
Do you really believe that? The implementation requires skills too, and without those skills, you get terrible and buggy code, even if it uses pretty names and if it follows your descriptions more or less.
I don't know about hiring other people to work on it... good people will cost you and bad people will cost you even more. However, there is another alternative if you can split your design up into infrastructure and core technology; open source the infrastructure.
Obviously, the first step is to use as much existing open source code as possible, but a lot of companies will also need to do some custom infrastructure on top of that. These extensions can be a distraction, so if you can leverage the open source community to help develop/maintain them you will eliminate a huge time sink.
Whatever you do, make 100% sure you own your project if you work on it while still employed by another company. IP agreements sometimes cover things you work on even when you're at home, etc (though these are supposedly unenforceable in CA and probably some other states).
* dedicate x hours a day for a specific time period (say 8pm-12pm) every day.
* Let friends and family know that they can help by leaving you alone during this time
* make sure you still get enough sleep.
* use your lunch period at work to plan your next work period
* reward yourself, friends and family at the weekend by being extra sociable. Host BBQ's, movie nights anything so you stay in contact with humanity and don't lose those your care for.
* realise that you can only keep this up for 6 months before you will start to become too tired.
* be ruthless with features and only aim to implement the absolute minimum to get you where you want to go.
* pick a set of friends who are 'go to' friends when you need to bounce idea's. They should be used when you think you are procrastinating. They don't even need to understand what you are doing, the act of explaining will add clarity to your situation.
For me it failed because wasn't ruthless enough and I over spec'd and under estimated time.
good luck.