iA


From Businessperson to Designer to Programmer

by Jeff Lam Tian Hung. Average Reading Time: about 4 minutes.

Around midway in 2011, I decided that I really needed to learn programming in order to continue my passion of doing web startups.

With traditional business advice telling you to “find talented people to complement your weakness”, this is a relatively big decision for me as my programmer background is close to nil.

Okay, okay… to be fair, I did try to learn some C++ when I was younger. I remembered spending about 6-10 hours creating a simple calculator app in the command prompt/terminal. Also, I did ‘program’ video games – specifically Role Playing Games – on a software called RPGMaker as well as the complementary Age of Empires Scenario Builder.

These ‘programming’ scenarios merely showed me how complex it could be to create something beautiful for people… but it did show me things like ‘If/else/or’ statements/triggers, amongst other things. I did remember being a designer more back then as well, obsessing over pixels in the graphics of my characters or the maps and aesthetics of the environment. That might have explained to me why I was naturally drawn first to the ‘simpler’ designing background of HTML + CSS.

That being said, being a ‘designer’ is more than just aesthetics nowadays. Simply bring in the User Interface (UI) and User Experience (UX) element to it and great designers are hard to find.

Anyways, back to learning programming.

After my ‘experiment’ with QuizFunnel where I had a terrible time finding freelancers and outsourcing to programmers in India, China, Sweden and even Estonia, I realized that outsourcing for a startup is definitely NOT the way to go.

You are wasting a lot of time

  • looking for good and yet value-for-money (read: cheap) freelancers
  • explaining your entire idea and app and how it functions to the freelancers… for the 4th time
  • simply connecting and communicating with them. Programmers work on different schedules than ‘businesspeople’…and don’t forget the timezone and language differences in the different countries!
  • re-explaining your change in ideas due to new input from studies/surveys/customers/inspiration from your excited mind
  • waiting for your freelancer to finish his/her work
  • beta testing your freelancer’s work. Only to find out after 3 weeks that you missed a certain bug. And you have to contact your freelancer for bug fixes. Again.
  • waiting for your freelancer to fix bugs that ideally shouldn’t have been there in the first place. Didn’t s/he said that he was the best programmer around?
  • negotiating a good deal. “$1500!? Outrageous! I could get this done there by Mr Cheap for $700!” (or so he claims)
  • arguing over the initial ‘deal’. “You told me that you could do everything for $1000! What do you mean now that you can’t do this? You’re a liar!”

And the list of freelancing stories go on and on…

Moving on.

The next thing I did was to team up with my buddies to create a startup. Perhaps three heads handling the freelancing pressure and funding the freelancers would ease the pain…

…or not. We wounded up planning, designing, sketching, wireframing, even creating an awesome video except dive down into the technical nuts and bolts. Worse: we didn’t even talk to a single potential customer.

To be fair, we tried to search for a technical co-founder.

Alas, technical people in Singapore are quite rare. The good ones rather work on their own things or start their own freelance businesses. Furthermore, the Singapore curriculum never included programming as part of a child’s education. Hopefully they will change to include basic programming knowledge as perhaps part of mathematics class. [1]

So the epiphany came: I need to learn programming.

Since it is so difficult to find a good technical co-founder (understandably so), if I learnt enough programming to create a ‘prototype’ or even a working basic product, I could go about developing the business (read: marketing, hustling, legaling, financing, operation-ing) and gain some traction. After that, finding a technical co-founder or even hiring good technical persons shouldn’t be an issue.

After all, studies do show that programmers love to work on solving complex/interesting problems, or to work on stuff that will be used by many people.

After doing much research, I’ve decided to take up Ruby on Rails in contrast with Python or PHP.
And thus, the category of ‘programming’ for now in this journal is for me to track my learning progress of Ruby on Rails. I’ll be writing down organized notes, my thoughts and whatever interesting things that I come across while giving credit where credit is due.

Next up, the resources I will be using to learn RoR.

Footnotes

[1] I’m not sure if schools teach software skills such as using Word, Powerpoint and Excel (especially excel) these days. I don’t quite remember they had any formal lessons down for myself… but I may have forgotten.

No comments on ‘From Businessperson to Designer to Programmer’

Leave a Reply