The ‘minimize startup and switching costs’ is the best idea ever.
So I think my problem is that I’m too quick to jump on something that I know how to solve. Sometimes this works out, but I think a lot of the time I’m doing a lot of scrambling when I should be thinking things through some more and spending less time hacking.
This is in sharp contrast to my previous partner who spent little time scrambling, but since he thought more about things he was able to achieve results.
This is actually probably my hardest thing to deal with - how do I get myself to stop scrambling around and between projects and instead think some more and focus on the proper things.
The problem with learning something new and developing a product at the same time is that you end up doing things wrong early on because you don’t know enough, and so you end up with crappy code that you [or others] have to deal with in the long run.
So you should probably develop products only with things you’re familiar with.. but tools are being developed so quickly on the internet that you really have to use new stuff, I think.
The solution is to probably just frequently review and update code as you learn more about a platform.
One way to do this is to just review code that has been developed 2 weeks ago. It’s still kind of fresh in my mind and hopefully not much has been built on top of it, so it can be updated easily. After adding any new code to the site, I should be reviewing old code in light of what I’ve just learned, and updating the old code.
Yesterday I took a fresh look at some of my recent code. Ouch. I’ve got to do this more often or things can get/stay messy quick.
How do you know if the project/company you’re working on will be successful? I’ve got some doubts as to what we’re doing. I think I need to continue, though, because I need a mainstream project under my belt. I’m working with some good stuff, so I can’t complain there.
So I revisited ‘grunt’ today, and it’s turned out to be really nice. It’ll do all the javascript transformation stuff that I need (lint, concat, minify). It even has a ‘watch’ task to do those things automatically while I’m developing. It even has a ‘less’ compiler! I could probably just as well use ‘rake’ or some of the other zillion things out there, but this app is written in javascript and so has (I think) the latest goodies.
There is testing in there as well with qunit and phantomjs. I should start doing unit tests with that - it should be pretty easy. Alternatively, I could install the grunt-jasmine and use that. After I’ve got that low level testing running, I should also set up some kind of selenium acceptance tests.
In this current project, along with the last one, communicating with users and tracking the communication is a really big part of the focus on the marketing side.
Trying to build out the tools to manage that on my end, while simultaneously building out the product, is really hard. Also, I want to push back with “but are you actually using any of these stats?”, but it’s a difficult argument to make when you’ve got a zillion other things to do.
I’m pretty happy that we’ve got sendgrid right now. It isn’t very expensive, and it has most of the stuff that we want.