How to make your own software product by yourself?
/The world of entrepreneurship with software solutions is challenging to say the least. Software is expensive to make. Software is difficult to make right. And above all it’s super hard to know if the software you are making is ever going to make you any money. With such risks involved it is always a very hard decision for cash strapped startups (that don’t have a few billion to spare from VCs) to turn their ideas to usable software. In our everyday business of making custom software for our customers a large proportion of whom are startups we get asked the following type of questions a lot:
“Can we make our own software without any coding skills?”
“Can I learn a bit of Python and make this at home?”
“How can I make a prototype to test my idea?”
“Is there a way to make software by myself?”
Although as professionals our first reaction is always to say “no”, but in reality the answer is not so straight forward. In most of cases the answers are probably “yes, but …” The “but” is from the knowledge that getting a customized software solution done without any coding skills is very difficult. However,
it is not impossible
Actually our realization is that in many a cases it is the better thing to do, the better business decision and a better survival idea for a startup. In our experience, here are some of the situations where a founder should invest her time and energy to find out if the first version of the product can be made at home:
When cash is too low for using a reliable vendor.
When the idea is to vague and the business case not clear enough.
When the app’s features and UI feel like something that is very common.
When all that is required is a quick prototype to get feedback.
In situations like the above, a founder can try making the software himself to get at least to a prototype that he can show to others, to potential users, to possible investors. She can also try out the idea on a small scale, like with her own friends and family to see if this would ever take off. This is of immense value to validate or discard ideas and more importantly to pivot on the original idea to something that would actually work or sell - a fact of life for every idea in this world. Remember, the great Facebook started as a “hot or not?” site for Harvard students ? You just don’t know how much of your idea will change to become a real product that people use or really need. And this process of finding out the changes and pivoting is extremely expensive that most startups find impossible to cross over and great ideas die. Having the ability to do these tests, failures and pivoting at very low cost (mostly of the founders’ time and energy) is really a big thing. And even the act of trying to make the software is a very good learning experience for the would be software owner. It gives non technical founders a feel of what’s involved in the development of software, the challenges and the reality of getting things done.
Great, so how do I make my software again?
:) Well a non technical person can always learn a programming language. Coding isn’t really that difficult as its sometimes portrayed to be. In a survey done by Stackoverflow (probably world’s top most coder forum these days) almost of half the coders didn’t have any formal education in programming and they were self taught - 48% of respondents never received a degree in computer science. And we are talking of top professionals in this field.
So learning to code and using that knowledge to make your software is definitely a feasible option. It depends on how committed you are, how much of knack you have for picking up new things particularly technical things. With youtube videos on practically any coding platform in the world or online tutorials and course on sites udemy or couresera anyone can become really good at coding.
The other thing to remember is that programming languages and platforms are getting much easier. The days of C/C++ and black terminals running weird text editors and magical incantations of “greps” and “emacs” are long gone. Most programming interfaces are super user friendly these days and the programming languages are forgiving and less ominous. On top of that there is an advent of visual drag and drop like programming interfaces that takes care of hiding the actual language from the user.
But how about NO CODE?
The nice thing about technology is that it is always expanding. So as time goes by more and more technology is coming up which let’s non technical people create software easily without even learning any code at all. There is a whole family of these “No Code” platforms available now and new ones coming out often. Google will be your friend for this, a search with “no code programming” or similar would give you links to such platforms and videos to give you preview of what’s involved. Some of them are very powerful, to the point that we have started pointing them to people who are interested. Here are some that looks promising:
GoodBarber - No code mobile applications creator with free trials and loads of tutorials. Good for eCommerce apps and if you are thinking of content heavy apps. Really worth exploring before you spend any money on custom dev.
AppSheet - If your app has a lot of data that needs slicing and dicing or lists that needs to be displayed, this is an interesting platform to explore.
AirTable - Has hundreds of templates to start your data heavy apps that can integrate with other APIs. The promises are amazing, but we’ve never tried this out yet.
I’ll finish with my customary stolen Dilbert - a nerdy sideways jab at non techies maybe, but funny nevertheless :)