Life-cycle of a startup — product, code & technology

Guillaume Montard
mythoughts.io
Published in
3 min readJan 12, 2014

When you start building a product you have to make choices. Everyone knows the first iteration is not going to last, maybe the first iteration is all wrong, maybe it will be a success, but anyway at some point you will have to do it all over again, so don’t worry!

Is this a problem? No! this an opportunity! Is this challenging? Of course it is. So you should get started!

Here is a short resume of my experience developing my company product for the past 6 years.

Choosing your weapon

In what language are you going to develop your product? This was one of my first topic and I guess it is a never ending one because it brings out passion. At the end I don’t think it’s that hard to choose and I don’t think there is a good or bad answer. The right technology is the one which fit your needs at the time being.

As I started my company with my two co-founders, we hadn’t any much money, and since I was the only tech guy I became defacto the developer. I asked myself the obvious question, what language do I know? Of course there were some, but nothing really deep with any achievements (I was still an undergraduate engineering student).

So how did I choose my technology? I googled, I asked and I tried several ones. One day a friend told me about Ruby On Rails, I started playing with it and it felt so natural. I enjoyed so much learning it that I decided to use it as my company main technology even if I had not any good knowledge of it.

If today someone asks me which one to choose, I’ll still keep up with Ruby and Rails, but this time only for the backend. I’ll go ALL-in with AngularJS for the front/logic views!

Building the first version

As you might have guessed I started building our product while learning to code, so inevitably I did many many mistakes, but it didn’t matter. In just few months we had our first product to show and it was actually working. The company was born!

My co-founders and I continued to build the product as I kept coding and learning in the meantime. After some time we reached our first step, making money from our product. Then, it was time to have some help and we recruited our first technical employee. Recruiting is a big step and not being alone on the technology side felt so nice! Even if our recruit was a junior it helped a lot.

Starting all over again

Qualifying what is your product become more and more complicated with time. First your start with a simple idea and without noticing it you build several parts around it, all of them which are required at some points (admin interface, custom internal tools, APIs etc.).

Our core product — the e-learning platform — is what everyone sees of the company, what all our customers use every day. After almost 5 years, it was time for us to make a radical break and stop adding layers after layers to the product. We had to start all over again from scratch.

This time we knew exactly what we wanted, how we will build it and most important we had an engineering team (3 + me).

In 6 months we completely rebuilt our customer facing product.

What happens next?

Life is a cycle as your product. We may have rebuilt some important part of our code, but there is still many work to do. As all companies of our age (6 years) we built a big monolithic block of code that we now have to break as services talking to each other. This step requires lots of engineering and also new kind of technologies.

As you see nothing is ever done, if you want to keep up with the growth of your company, your product needs to adapt and your team to adjust. This is not always something easy, trust me.

--

--