I have been back in Malaysia for almost two years. I still get questioned about what I did in Australia. I figured the best way to address this is to write an article. In this article, you’ll find some background stories and the 10 things I’ve learnt in Australia, specifically as the co-founder and CTO at JoinHappen.com.
It started somewhere in a small office space of QUT Kelvin Grove Campus, not a rundown garage (sorry to disappoint). The year was 2011. Martin, the CEO & Co-Founder, was looking for a Technical Co-Founder. And he found me!
Team Co-Oprating.com—Martin Smee on my right with the rest of the early team members at Co-Oprating.
It was formerly called Co-Oprating.com, built using ASP.NET on Azure Cloud, running on NoSQL database. It was meant for friends to cooperate with each other and give each other ratings. Since then we’ve pivoted, and it’s called JoinHappen.com or in short Happen.
Happen is a social project management platform where you manage basically everything, from hangout sessions to events, travels, gaming activities, and much more with friends, all in one place. It is also a place where you can discover talents.
My role during of which is the Lead Research Developer. I also lead a group of research developers in releasing products. I was with the company full time from 2012 to 2014 before I came back to join the MaGIC Academy, during of which I was still involved with Happen, giving advice from time to time, less on the day-to-day operations and product releases.
So here are the top 10 things I’ve learnt as a CTO and I hope these tips will help you in your startup journey, as a CTO or startup founder.
#1: Things Are Easier Now
Back then there were not many tech community groups, support organization or startup ecosystems. There were fewer startups, and even less tech or startup events for us to attend. One bright side to that is that people tend to focus more on building their product. However getting brand attention or hiring talents was a huge problem.
These were just a few of the many painful challenges we’ve faced back then compared to now. Labors were much more expensive and real skills were hard to find.
These days, you have it all good. The tech startup ecosystem today is more established (Australia & Malaysia inclusive). More support are accessible today from established startups, organizations, and government bodies regarding mentorships, investment funds, grants, training, courses, and much more. So you want to make full use of these available resources and never take it for granted. If you fail your startup, know that it is highly likely due to your lacking in seeing it through, not the lacking of external support.
#2: Running a Startup is Like a Marriage
My co-founder and I ate, slept and played together. In fact, we practically lived together. We stayed up late or camped in the office overnight. We helped each other with our relationships problems and went through the hardships of personal and professional lives together. We even played basketball together. We even took side jobs together just to make sure our startup endured the early stage.
That is why you should find someone you can really trust and work well with, else you wouldn’t be able to survive the “marriage”. At early stage, you and your co-founder may be very fired up and that’s a good thing. However, you still have to be careful in choosing the right partner or co-founder. My tip for you is to always, always, get a written agreement down and lay out the plans. You can then revisit the agreement every year end.
#3: You Have to Own the Development Methodology
When we first started Co-oprating, it was critical for us to be lean to sustain. Besides working on side jobs, we have to find ways to ensure the business is sustainable. From the technical aspect, in a lean startup, the development methodology is crucial. Every choice we make has an impact on the architecture and scalability. So you’ve got to be able to see the big picture, study the cause, asking the ‘why questions’ all the time. Having ownership over the development standards, definition and approaches the entire team will be taking towards achieving a sustainable goal.
#4: Grow Talents and Leaders to Scale
Delegation is an important measure for any leaders to elevate their position and as well as scale the business. Guiding the technical direction while delegating technological projects to the right team members were our way to scale. It had driven me to be clear about which aspects of our company’s technical direction were and how we got there.
When you have multiple people moving towards the business principle, trying to achieve the intended product goals, standards and definitions have to be a lot crisper.
#5: See The Big Picture
Other than that, the ability to see the big picture is also an important trait to have as a technical lead. Besides being meticulous in your methodology and stacks, you must be able to keep everything your technology can and can’t do in your head. This includes in-depth knowledge of the gap in between what has already been done, what’s not, what else can be done, what the architecture can support, and how long it would take to build something new. You have to be able to see the micro and macro of things concurrently.
My early role in the company has given the opportunity to realize, learn and hone my skills in preparing my career as a tech leader. Besides that, you’ll need excellent management skills and able to follow planned schedules.
#6: Don’t Forget Your Roots and Give Back to Community
This is one that I hold dearly to heart. It was also one of the reasons why I came back to Malaysia. It has always been one of my aspirations to help grow Malaysia talents, help our local businesses, and contribute to the growth of our local tech startup ecosystem. I believe we should hold ourselves responsible for the place, the ties, and the foundation of which we were brought up from.
#7: Hacking Your Way Into Success
Being in a startup means you have to consistently find ways to make your idea work. You basically want to hack your way, so you achieve success faster. The problem with many startups is that they try to duplicate what bigger companies have done. You can’t go for massive proprietary databases or development technology.
Instead, go for foundational tools that allow you to achieve low-burn, high iterative lean startup. Your platform selection and technical design became an important measure to ensure that. When our project was getting off the ground, we had to make sure there is sufficient accountability among team members and that our plans are viable. Hence, efficient team communications using the right medium were as important as the development platform and technical design.
#8: Never Stop Learning, Find the 80/20
As much as the need to stay focused on building our products, it is equally important to never stop learning. Always find time aside from your busy schedule to learn new things. What I did back those days when we first started was to apply the 80-20 rule. 80 percent of my time was focused on achieving the company’s goals while 20 percent was allotted to learn new languages, new technology, new studies or concept. Always find a chance to learn and never stop learning. The Chinese have a saying that goes something like this, “There is a boundless ocean of knowledge and learning is limitless.”
The Chinese have a saying that goes something like this, “There is a boundless ocean of knowledge and learning is limitless.”
#9: Develop Your Business Sense (Even if you’re a technical lead)
Being a technical person in your company does not limit you to be just technical. The problem with many technical people is that they completely disregard the need to have good business acumen. To be a successful technical lead or a great developer, you need to have a good sense of how the working world works and how business processes are executed. Being technically savvy without a good business sense would render your creation not widely accepted or easily adopted by others.
After all, you are creating something for the layman to use. To build your business sense, you should expose yourself to the world. Go out and mingle with all kinds of people with different backgrounds. Ask questions and be open to new ideas.
#10: Ability to Make Technical Terms Sensible to Layman
I recently asked a crowd during a speaking event if they knew what ‘full-stack’ in development meant. To my surprise, the hall went quiet & I realized the importance of making technical terms sensible to the layman.
Besides creating innovation for laymen, you have to be able to articulate technical terms that everyone understands. Effective communication is vital to the success of a technical lead. This is because besides leading technical people, you have to be able to communicate with your co-founder, business team, and others. This includes communicating with your customers to provide exceptional support and good user experience.
This is particularly the case for me as I need to be able to conduct classes and provide sound advises to even non-technical people. Though I believe every coder, programmer or technical person has to learn the ability to make technical terms sensible for layman people.
Being a CTO in anywhere in the world for any types of startups has no distinct difference. The only difference you’d make in being a great CTO or technical lead are highly differentiated by your skills, mindsets, and inner strength. So here are the summarized list of things I’ve learned which I’m sharing with you hoping it to be helpful in your startup journey as well.
- Things are Easier Now
- Running a Startup is Like a Marriage
- You Have to Own the Development Methodology
- Grow Talents and Leaders to Scale
- See the Big Picture
- Don’t Forget Your Roots and Give Back to Community
- Hacking Your Way Into Success
- Never Stop Learning, Find the 80/20
- Develop Your Business Sense
- Ability to Make Technical Terms Sensible to Layman
Here’s a bonus one for you. Build your tech career in T shape. This means to be the jack-of-all-trades, and master in some. With the advancement of technology today, there is no way you can just rely on a particular technology or stack. Every language has its pros and cons. You have to be open to learning new technology, understand their pros and cons and apply the right technology for the right situation.
Have other thoughts? Share your experience with us by leaving your comments below.