Outsource your decisions

Outsource your decisions

Take control of your life by deciding to decide less

At last year’s Team Retreat, while enjoying the breeze on Khao Lak Beach in Thailand, I told the rest of the team that I don’t care about people. We were playing Two Truths One Lie and there are times when I’m unsure if that statement was true or a lie.

Studies have shown that willpower is a limited mental resource. Every time you make a decision, it depletes that same energy resource your willpower uses and eventually you’ll give in to your desires. This is known as Ego Depletion.

Culture and values you want in your company

Culture and values you want in your company

The single most important advice Peter Thiel (Co-founder of PayPal & Palantir) gave to Brian Chesky (CEO of AirBnB) after he invested $150M in the company was, “Don’t f**k up the culture”.

He didn’t say “Don’t waste the money” or “Don’t buy a Ferrari”. What he is implying is that you need a good culture to build a successful company. But what the heck is company culture?

10 lessons I learned building & growing the WebCamp KK community

10 lessons I learned building & growing the WebCamp KK community

On the first Tuesday of every month, for more than 3 years now, I have had the privilege of meeting some of the most talented and inspiring people in our city — Kota Kinabalu. All thanks to WebCamp KK.

WebCamp KK is a community of people from different backgrounds and industries who are passionate about what they do. These are the ones that inspire others into action. The ones who believe in sharing and helping each other improve our city.

What started as a simple gathering of like-minded people, has now turned into a movement that sparks connections, spawns communities and continues to be a source of inspiration for many.

How to set goals that actually deliver the results you want

How to set goals that actually deliver the results you want

Most of us are quite familiar with the idea of setting goals. When you are younger, your teacher may have asked bout your ambition. What do you want to be when you grow up? When you attend your first job interview, the interviewer may ask: Where do you see yourself in next five years? And when you are in the workforce, your bosses and managers will ask for your annual goals.

Setting goals let us focus on what we want to achieve. It gives us motivation and a sense of purpose. It is also a way for us to measure our progress. Having a goal is like having a sense of where you want to go and a way to track your progress towards that direction.

Stop being so damn lean

Stop being so damn lean

 The Lean Startup is one of those books that changes the way you approach, validate and build a product. It encourages an iterative process of experimentation and validation to learn more about customer needs and reduce risk and waste of resources.

In other words, it is about learning and getting as much feedback as you can from the user and use that to guide your product development process. Too often, startups spend their time building the product in isolation without any contact with users until release.

Redesigning Showtimes.my

Redesigning Showtimes.my

We have built quite a few apps over the years at Flexnode and Showtimes.my is one our favourites. It is also quite popular with around 200k hits monthly. Unfortunately, the 5 year old app broke and stop working recently, so John and I decided it is about time to rebuild it.

Since we are rebuilding the app, it is the perfect time to do some work on the dated design. Having used the app for years, we are quite familiar with the shortcomings. In this post, I'm going to walk you through some of our initial thought process we had when building the original app and what we are changing in the redesign.

The problem with problems

As a software engineer or developer, our main job is to solve problems. The solution may come in many forms like automation or abstraction but ultimately we are writing code, designing architectures and engineering solutions to solve problems.

Either because of our formal training or the engineering culture, we put too much emphasis on how we solve a problem than the problem itself. We are all on this quest to seek and ultimately build the holy grail solution. The solution that would end all problems.

Naturally, it is more exciting to talk about the solution of the problem rather than the problem itself. After all, we usually have more control over the solution compared to the problem. But in order to come up with a solution that works well, it is crucial for us to first understand what exactly we are trying to solve.

The first step towards solving a problem is not applying, designing or building solutions but to gather as much information you can about the problem. Only after you have a clear understanding of what you are trying to solve can you come up with a solution that works well.

The problem with problems is not the difficulty in solving them but rather the lack of understanding and clarity on what is it that we are trying to solve. If you can’t seem to wrap your head around the problem space, try asking some of these questions.

  1. Who are the stakeholders?
  2. Who is affected by this problem directly?
  3. What is the temporary measure for now if there’s any?
  4. How critical is the problem?
  5. How soon is the solution required?
  6. What are the edge cases of the problem?
  7. Is there any hidden requirements for the solution?
  8. If yes, can we drop some of them?
  9. If no, who can we talk to about those requirements?
  10. Is there a manual solution for this? 
  11. If yes, who’s doing it now?
  12. If no one is, should someone be doing it?

There’s a saying that the best line of code is the line not written. In this case, the best solution is the one not built. If you can render the problem obsolete simply by understanding it, you basically solved it without having to build anything. That is the real holy grail solution.

Timeboxing

This is a technique I learned over the years from project management gurus to manage time and boost productivity. Instead of letting a task or agenda take as long as it needs to be completed, you set a hard deadline or “time box” for it.

A simple example would be the time limit we have for our daily meetings where we time-boxed it to 10 minutes. This means the meeting can not last more than 10 minutes and if it does, we just end it right away. This is very useful to make sure we don't waste everyone’s time and get straight to the point.

The Pomodoro technique also employs this strategy by time-boxing your task into 25 minutes interval separated by short breaks. (e.g. 3-5 minutes) This teaches you to break tasks into small chunks that can be accomplished within each interval.

Timeboxing has been very useful in software development. The limit forces you to aim for some sort of deliverables when you approach the deadline. It prevents you from spending too much time on a particular task and affects the deliverability of others tasks in the pipeline. The notion of a sprint in Agile/Scrum is basically a timebox of 1-2 weeks.


Some examples of timeboxing we use when developing web applications.

  1. Keep meetings short by timeboxing them.

  2. Plan and schedule tasks that can be completed within a fixed time-frame (e.g. a sprint of 2 weeks)

  3. Prevent yourself from spending too much time on certain process. For example, timebox yourself to only spend X minutes updating status or writing reports.

This is not only useful for your work but also serves as a time management tool in your personal life. Start timeboxing your life and you may discover that you can get more things done.

Stop doing all the things

One of the biggest problem I had managing a team is delegating tasks to other team members. Working in a team of 2 for many years have conditioned us to do everything ourselves. Since we are building products and prototypes for startups, this meant we do everything from design, development to deployment.

But no matter how good we are at the job, there is no way we can tackle every single task ourselves. In order to do more, we had to have more people in our team and split the work. I have to admit that I was forced to delegate and it wasn’t easy.

Great things in business are never done by one person. They’re done by a team of people
— Steve Jobs

The first thing I had to understand was that in order to achieve more and have a bigger impact, delegating tasks to others is critical. This allows everyone to focus on parts they are good at and push the boundary of their work.

This also does not mean I’m losing control over the tasks and I have to trust the person I’m delegating to. Basically, I have to accept that things can be done differently and leverage unique skills of each individual. You can also take this opportunity to teach and mentor your team members.

At first, it may seem that things are moving slower than usual but have faith in your team members. Once your team gets the hang of it, productivity will increase and it will free you to focus on tasks that are important to you.


How to Delegate

  1. Start with small and simple tasks. This helps in getting yourself comfortable working with others.

  2. Make sure you pick the right person for the task and trust in their ability to complete it.

  3. Give clear instructions and a deadline for the task.

  4. Entrust them with the responsibility & authority and be there to defend and help them if required.
  5. Touch base with them regularly for progress updates and issues. You can do daily meetings with them.
  6. Give credit to their work publicly if possible.

If you feel your team is not as productive as they can be, the problem could be that the leader is not delegating tasks well enough. As a leader and entrepreneur, learning how to delegate tasks and responsibilities to others is one of the most important thing you can do. To do more, you have to stop doing all the things.