

Ask HN: How do I find the ideal combination of GTD, inovating and making money? - pepijndevos

I'm a young Python/Cojure coder with a lot of ideas. Until now I just worked away on whatever I liked, but now I'm thinking about finishing a product, and starting my own company.<p>The problem I'm facing is this: The longer I think about which technologies to use, the larger the scope of my project gets.<p>For example, I'm currently writing something SMTP based. First I started using Twisted and Python, which includes its own SMTP implementation, then I went on looking at scaling, and figured Clojure would be better. Clojure offers some Netty wrappers, but nothing SMTP, so I'd have to write my own SMTP implementation. Next I read IO+treads is faster than NIO, so I decide that I'd have to write my own server as well. This goes on and on, where in the end I would build my own computer to run my own operating system running my own programming language running my own SMTP server.<p>I'm sure I'm not the only one facing these kind of scope problems. How do you find a balance between writing cool stuff and getting things done and in the end making some money?
======
michael_dorfman
I'd forget the the "writing cool stuff" part as much as possible, and focus as
much as possible on "getting things done" and "making some money" (where
"making some money" is short-hand for actually shipping code that somebody is
willing to pay for.)

It's pretty easy, standing on the outside, to see where you're going wrong.

Let's start here:

 _I'm currently writing something SMTP based. First I started using Twisted
and Python, which includes its own SMTP implementation,_

So far, so good...

 _then I went on looking at scaling,_

Warning, Will Robinson! Warning!

Forget scaling at this point-- scaling is a luxury problem, as it means you
have enough customers that you actually need to scale. For now, focus on
getting a first version out to the customers, and when the rate of uptake is
significant enough, _then_ you can start thinking about scaling.

In other words: always aim for the minimum. That's why they call it an MVP.
Try to figure out what the absolute least amount of code you have to write is,
to give the users an experience that they'd be willing to pay for. Then you
have something to build on.

~~~
pepijndevos
What is MVP? The rest makes sense, except I figured scaling is more of an
excuse than a reason to use Clojure. I'm sticking to Twisted anyway for now.

~~~
michael_dorfman
Mimimum Viable Product-- something you should read up on.

------
AlexMuir
_"then I went on looking at scaling"_

Pick the tools that you are best with and that you enjoy using, fuck the rest.
If your product takes off, then worry about scale.

~~~
pepijndevos
I'm better at Python, but I enjoy Clojure even more. The point is that there
are to little tools for Clojure, which I also enjoy writing. So doing what I
enjoy most kind of means I'll never finish, but produce a lot of tools on the
way. Scale is more of an excuse than a reason to use Clojure I'm afraid.

~~~
AlexMuir
There's more than just scale to throw in the mix too - it's going to be far
easier to hire Python developers later, and to outsource work. If it's a
hobby, recognise it as such. Starting out on a hobby that turns into a
businesss is a dream; starting a business that turns into a hobby is a
nightmare.

