I have decided to start blogging about my experience building CodifyMe. I am not sure where this road will lead to or how this journey will end. But I be damned if I don’t learn something from it. And the best way to learn is by documenting my thoughts and experience in real time when things are happening, in the spirit of sharing and perhaps help other people, and also for my own introspective process.
In my previous life as a programmer/engineer, and in the past few years when I self-taught myself web design/development, it happened very often that I came across a thorny problem that I could not solve and this problem would prevent me from moving forward. When this happens the first thing I always try is to Google for answers.
But that does not always help me solve my problem. More so if my problem is a rather specific/specialised one. Before I know it, I have spent two hours on the WWW, tried multiple suggestions, and I am still stuck.
The problems in trying to use Google as a problem solver:
The list goes on. All these problems lead to a waste of time and energy. Time and energy which could be better spent doing something useful.
Googling without success is a frustrating, and more damningly, demotivating experience. For a coder who is just starting out, this could mean the difference between becoming an expert or just giving up.
#StartupAus reports that only 2% of Australian university graduates acquired ICT skills. And 70% of ICT students drop out. In this age and time where programmers and coders are highly sought after, and we are facing a massive mismatch in demand and supply of CS graduates, we cannot afford to have people falling through the cracks because they cannot find the right channel or people to help them.
Instead of spending hours scouring the net for solutions, what if you can ask for help from an expert and have him/her walk you through your problem and solve it together with you? I have always resolved to seeking out the advise or help from a friend whom I know is an expert in the technology I am using, and he/she always managed to solve my problem. Always. And often in a fraction of the time I have spent on the net.
And the best part? I always learn something else from these experiences. Be it a better way to do things, best practises, new/useful tools or technologies, or simply some valuable insights into the issue.
That got me thinking. Why must this way of working be the last solution? Why can’t asking for personal guidance, or seeking instant help from a ‘code coach’, be the first solution?
(note to self: I think this idea came to me at the end of last year, some time in November 2013).
What I realise of the coding community is this: experts are generally very generous people. They are usually happy to use their expertise to help out a fellow coder who is stuck. There is a sense of pride or gratification in successfully getting another person unstuck. I know this, because I have also been on the ‘code coach’ end of the table.
If there is an online platform where I can get on-demand instant help from experts, and that would save me time, energy and frustration, I would gladly pay for such a service. And if someone else is willing to pay for my expertise, I would happily accept. Especially for freelance coders, this could be a venue for some extra income, while giving back to the community.
I have two choices. I either give up, or refine/refocus my idea. After speaking to some people in the tech startup scene in Australia, I decided to go ahead and build my prototype. With one small change in direction: I will focus on the Australian market as a starting point.
Australia has a vibrant tech community, but because of its timezone, the country is somehow a bit disconnected from the rest of the world. An email sent on Friday morning from Australia to someone in Europe might only get a response on the following Monday.
So a product that is built specially to help the Australian coding community might work.
For my idea to work, we need two things:
1. a big enough number of experts who are willing to join
2. users who are willing to pay for the time of these experts.
For the first, we might be limiting ourselves by targeting only the Australian market. The number of experts we can reach out to is obviously smaller. We need something extra to incentivise the experts to join.
A developer whom I was pitching my idea to asked me: why would I use your service if I can get my answer, for free, on StackOverflow?
We need a ‘unicorn’ feature which is attractive for a developer. A silver bullet of sorts. For this I need to pick the brains of developers to see what makes them tick.
It could be the human (or ’empathy’, as my co-founder Vincent brilliantly puts it) factor, the community spirit, the interactivity, the possibility of building personal relationship, or it could be something else entirely that I just haven’t thought of yet.
My current mood
Despite the challenges, and the fact that we have an established and strong direct competitor (I think CodeMentor was launched in March or April this year), I am still hopeful. Jittery and anxious, but excited nonetheless. I think we’ve got a pretty solid and unique idea with huge potential.
Now it all hangs on how we execute it.