I recently posted about my experiences in building Sparta — a software tool to help boost motivation, energy and results within fast-moving sales teams.
To cut the story short, the post briefly dealt with my experiences in building an MVP (which has paying customers), with minimal programming experience. I got a lot of great feedback on the post, but also a whole bunch of people that wanted to know more about the actual process of building the product, given I had pretty limited experience in software development.
A lot of entrepreneurs have ideas, but without coding experience — it can be pretty tough to proceed. Now, I’m not saying all entrepreneurs should learn to code, but it has without a doubt been a great learning experience, and really empowered me to push forward with an idea.
The process hasn’t been without it’s painful moments though, and there have been more than a few late nights — staring at logs trying to figure out what the f*** is happening in my code.
The first ‘phase’ is amazing
When you first dive into programming, and especially as you start working on a project — it’s all fun. There is so much to learn, and every little accomplishment makes you feel great.
It’s actually pretty embarrassing to look back and consider how proud I was that I got something so simple like, uploading a profile picture to work smoothly.
That’s the thing though — these small achievements are what make the first phase so amazing — you are literally making progress within each day. At the end of one day of coding, you absolutely knew more than you did the day before. You have no pesky customers, you’re running everything locally — and everything is rosy! Until….
The second phase is a little… less fun
Then things get serious, perhaps you start testing with real clients, or show the product to a “real programmer”. You start to worry about security issues, scalability and a whole bunch of other crap — i.e. the opposite of what you’ve been enjoying — building features.
One day, about 60 days into the project — I let a real client (that happened to be a friend) test out the system. Now, let is be known that this phase is when the shit generally will hit the fan.
What I didn’t realise at first, is that when you’re building something — you’re generally “using it” in a very particular way. What I didn’t (and I assume many first time builders don’t) account for — is that everyone may use your application in a different way. They may open your application in multiple tabs, use incognito mode or disable cookies on their browser.
All of these trivial differences can obviously have a pretty big impact on how your application runs — so this phase can be a little daunting. This phase is of course extremely helpful though — I learnt a lot about how to build solutions that should function, regardless of how bizarre a users behaviour is.
I’d like to think that this is the phase where most hobby-coders give up, so I’m definitely going to keep pushing through Phase 2 in order to get to the other side!
Where to now?
Well, with happy paying customers on board, we’re in a position to hire a kickass CTO, that will help us build the best product on the market.
Liked this post? Feel free to hit ‘Recommend’ below, it would mean a lot to me!
If anyone reading is in sales and is interested in using Sparta to help drive activity and results on the salesfloor — tweet to me, tweet to Sparta or visit SpartaSales.com.
Email me when James Pember publishes or recommends stories