Friday, April 9, 2021


Last week, my father passed away.

The last time I gave him a hug was over 4 years ago. In 2016, I went to California to chase after my dreams of becoming a startup founder and he went to the Philippines to take care of the family's properties. Between then and now, I really wish that I had done more to converse with my father. When I was younger, I spent so much time with my father learning new skills like fishing, playing all kinds of sports, swimming, driving, and drafting. As I grew older, the less we talked. He knew I was busy with my career and he focused on his own projects.

As a kid, my father was a huge inspiration for ambition and determination. He moved to Canada on his own with absolutely nothing and worked incredibly hard to build what we have today. He was always tough on me: always letting me know "that's not good enough" and I honestly believe he knew how to start that fire in me -- he knew how to motivate me -- he knew I absolutely hated disappointing people. I'll always remember him as an example of what it takes to make great things happen -- he was always dreaming big and being willing to put in the work.

My father was so full of life when we went to social gatherings. He made a lot of friends and he always made people laugh -- and best of all, he always made people feel welcome.

Diabetes Mellitus took him away from this world (he was in his early 60s). It's tough to accept that he was suffering from this affliction for years now. Today, the more I researched about diabetes, the more I started to realize how important taking care of yourself was. As someone who goes "all-in" and becomes obsessed and maniacally focused, it's very easy to fall into the trap of working long hours, not sleeping enough, and consuming food that isn't great for my health. Knowing that diabetes is hereditary and it's something that I have a high chance of developing, I've started to be more conscious of the things I'm eating and drinking.

After watching James Fung's video on reversing Type 2 Diabetes naturally, I've started to journal all my meals through MyFitnessPal. Manual input sucks, I think this is a huge opportunity for technology to step in and automatically let people know when they're in danger of the effects of diabetes.

Diabetes might've taken my father away, but it's not going to take me.

It's my duty to stay healthy so I can take care of my family and friends.

Friday, August 28, 2020

Management and Real-Time Strategy

Managing a startup organization can sometimes feel like you're playing a real-time strategy game (RTS) with 2500ms latency. Every decision takes a day, or a week, or even months for functional units within the organization to acknowledge and execute. As your tech startup scales in head count and as markets evolve, your organization may start to show signs of strategic dissonance.

There's a concept in RTS called APM (actions per minute). Most professional Starcraft players can sustain 300 apm throughout the game and during intense battles can burst up to 500 apm. To put this into perspective, beginners usually sustain at 50 apm. In real-time strategy, the ability to make quick decisions based on game state and effectively achieve results can decide whether you win or lose.

If we relate the concept to a typical Series A technology startup, it could look like this:

The most important part of this diagram are the lightning bolts. These lightning bolts represent lines of communication that put the organization at risk of increased latency. When decisions are made by executive leadership, these orders need to be relayed down through several layers of the organization. It's not as simple as blasting an email or Slack @everyone message and have everyone acknowledge it. 

In between the layers, miscommunication can happen: precision and speed. In order to manage precision of your lines of communication, ensure managers  In order to manage speed, managers need to have frequent 1on1s (weekly) with their direct reports.

From a tactical standpoint, 1on1s with direct reports are generally 80% them surfacing any critical issues with the organization; however, that 20% is used by the manager to reinforce what are the new decisions, why these decision are being made now, how their contributions impact the company's OKRs. Lastly, great managers always find a way to reinforce why it's exciting to be working at the organization.

Depending on the industry the startup is in, competition can be fierce, talent can be limited, markets can change quickly, and opportunities can emerge at a moments notice. These are called Strategic Inflection Points (SIPs). Hard times will inevitably happen to you and your team. In a leadership position, it is absolutely critical that you are able to identify when there are shifts in the market and start making strategic decisions. When your strategy changes, your organization needs to be able acknowledge and execute quickly by monitoring and reinforcing the lines of communication between different teams.

Wednesday, August 12, 2020

Training Games

At the height of our growth in the Battlefy engineering team, we started practicing different ways to positively reinforce open communication (core value). Open communication meant being frequent at high quality communication. In the military, communication is absolutely critical; however, it is not just any communication -- it's really about distilling down the most critical piece of information to relay to your team so decisions can be made to stay on course or adapt.

In daily engineering standups, we practiced the following

  • stating what the blockers are and what they need from the team
  • what they will commit to by end of day
  • why they're working on it 

At the end of the round table, we would randomly choose a person on the team and ask them to repeat what another person's status update was. Not only was it a forcing function to pay attention and ensure that your team actually understood what your status update was (so a teammate could maneuver on your behalf), but we always get a laugh out of it when someone wasn't able to answer the question.

But why? Well, we wanted to positively reinforce one of our core values (open communications) and make standups more engaging.

At Y Combinator (W16), we did this exercise in group office hours. The reason why we did this exercise was to prepare founders for demo day. Ultimately, there will be hundreds of teams doing demo day and you have to get used to trying to make your company more memorable (this include investors!). Incidentally, it was always super intimidating to be in group office hours because you would have amazing founders who really go above and beyond in their updates (eg/ "this week we closed a customer for a 200k contract") and then I'd look back at my co-founders with a surprised facial expression (and of course, they'd look back in shock). My imposter syndrome felt like rising waters.

Creating a sense of urgency to perform by creating a group environment is both exciting and scary but super effective. After the first group office hours, the following week everyone's' status updates were super memorable.  

For remote teams wanting to make standups more engaging, try it out! You'll be surprised and you can even keep score! 

Be great,
Jaime Bueza

Saturday, September 16, 2017


I had a great discussion with a friend about how important clear thinking and being able to communicate ideas to an audience needs to be simple and obvious.

Before I go over the process, I’d like to underline why it’s important to write on a daily basis even though you don’t publish your posts. For a bit of background, since I write everyday, I have hundreds of drafts with only a small fraction that are published.

  1. it helps you clarify your ideas so they’re much more digestible for your audience — examples include — you’re trying to persuade your engineering team to adopt a new technique/pattern/tool/technology, or you’re trying to convince a candidate to join your team, or you’re trying to close a sale with a prospect on using your product.
  2. it helps you simplify your ideas. Ideas can be complex and that’s why it can beneficial to you and your audience if you strip away the complexity and bring it down to first principles.
  3. it helps you find your style of communication. I can guarantee you, if you met me, you’d realize that I talk the way I write on this blog. Sure, I might talk fast at times because I’m super excited but I’ll always focus on getting to the main point.

The Process

  1. I start out with listing topics that I have something valuable to contribute to, whether its experience or skill. This is one of the reasons why I write a lot about company culture, organization scaling, team learning, engineering, as well as, technology startup trends.
  2. When I’ve decided on a topic, I’ll list out who, why, what, how as a way of jotting things down.
    For who: I’ll write down who I’m writing the post for which will help me identify which hashtags or which social networks I’ll share it on.
    For why: the reason people would be interested in the content, perhaps its lessons learned in some new technology that you’ve recently switched to.
    For what: generally the higher level topic of your content, which can be culture, engineering, business. It helps you frame your perspective and helps you focus on boiling down to the main point.
    For how: sometimes you’re writing about culture at your company, you’ll definitely want a call-to-action to your job listings — or perhaps it’s an open source library you just wrote, you always want to link to it so that your readers can check it out.
  3. After you’ve identified who, why, what, how, you can simply start with your main point that’ll get people interested in reading more.
  4. I generally try to stick to 2–3 sub-ideas of the main idea that gives me enough content to write about.
  5. Conclude with re-iterating the main point.

Making your ideas simple and obvious takes practice over a long time. Being obvious means taking advantage over context. When you know who you’re writing for and you can simply explain what value you’re offering, as well as, the people you’re generally writing for have read articles that are somewhat related to your topic, your content will be obvious to them. The main difference is that you may have personal experience and lessons learned that they’ll find valuable and interesting.

Thursday, March 27, 2014


After listening to Arnold Schwarzenegger's audiobook "Total Recall", there's a chapter that goes into an amazing story of how incredibly ambitious James Cameron's vision of Terminator was. As a film director, James Cameron was extremely technical (he could make highly experienced lighting technicians feel like it was their first time doing lighting), knew all the equipment like the back of his hand, had a huge vision for the film, and ensured that everyone on the team had the vision crystallized in their minds. Incidentally, he could tell when there was too much lighting in one scene and took the small details very seriously.

He was a control freak. Naturally, I would assume that he had the same controlling approach to Avatar and Titanic, both largely successful box office hits.

Everyone loved working with James Cameron because he knew how to challenge his team. He knew how to set out and paint a grand vision -- and he definitely knew how to make it a reality. That said, when it comes to his films, it is his way or the highway. I can understand this since he wrote the scripts, pitched to studios, and got the funding necessary to make it happen. In one particular case, Arnold Schwarzenegger absolutely hated the line "I'll be back" -- it sounded too girly for a killer robot. James Cameron wrote the script as, "I'll be back" but Arnold Schwarzenegger wanted to remove the contraction by saying, "I will be back" -- it seemed more in line with what a robot would say. In the heated situation, James Cameron ended the argument by saying, "Look, I don't tell you how to act and you don't tell me how to write. Just say the damn line."

Terminator went on to be a box office hit -- one of the most legendary films ever made in history and the line "I'll be back" became the most popular phrase in movie history. The thing about James Cameron was his intuition. He knew deep down what would be amazing for the people to see and what people want to see on the big screen.

Relating to startup founders, I think that a lot of highly successful startup founders have the same approach to achieving big goals including Jeff Bezos (Amazon), Bill Gates (Microsoft), Steve Jobs (Apple), and Thomas Watson (IBM). They had the ability to see into the future, paint a grand vision, share that vision with the team and challenge the team to make it a reality.

After School Programs

Thinking back to my days in high school, learning to program in C++ using Dev-C++ by Bloodshed Software was so fun. From writing my first hello world program to writing Mad Libs (a program that lets you substitute adjectives or nouns in parts of a pre-written story) -- I had the most fantastic times. At that time, Yahoo Groups and IRC channels were on the rise. I remember logging on to FreeNode and going into the #programming channel asking about compiler errors. I actually still do the same thing; however, there are many more IRC channels including #ruby, #javascript, #golang, #java, and #php.

Looking back at it now, I spent most of my time learning how to program alone. I think that if I was in a group setting where people could come together and build programs that solved real problems, everyone would benefit -- especially at the high school age. Presently, these are called hackathons and I think that with The Social Network film, hackathons are becoming more mainstream. It is culturally accepted for a bunch of passionate people to hack together a mobile app and share it with the world -- even if it is just a Twitter clone because in the end, you find a team you can truly ship projects with. The big picture we're trying to achieve is making the movement of learning together, building software together, and shipping solutions to customers. That said, in The Social Network film, I don't condone the binge drinking / bro-culture; however, I do encourage people coming together and solving a real world problem as one cohesive unit.

After school programs are amazing because they keep kids off the streets (most crimes are committed between 2pm and 6pm depending on the city). Most after school programs are fitness-related. Incidentally, I spent most of my after school time playing Badminton and working out in the gym instead of causing trouble on the streets; however, I did sometimes find myself stuck in the computer lab hacking away at this thing called "HTML".

It is truly fantastic to see automated drones, fully electric cars, smart hardware in homes, as well as, people being truly mobile and socially connected with their Google Glasses/smart phones. Positively, we need to start thinking about how to encourage the next generation so we can accelerate growth and change in our economy.

Monday, March 24, 2014

Installing Titanium CLI 3.2.x Problems? Stuck on 3.1.2 GA?

I'm truly amazed at how much fantastic work that the Appcelerator team has been doing with Titanium and Alloy. That said, I wanted to share a little story of mine with having to try to upgrade to the latest version of the Titanium CLI.

One day, I was wanting to upgrade an existing mobile project and I wanted to make use of the new features like the Pull To Refresh widget that landed in Titanium v3.2.x. I thought it looked amazing as soon as I saw it. So, the first thing I did was "sudo npm install -g titanium@3.2.2". Everything looked great! Until...

> titanium -v


Oh man. That didn't work. The tricky thing here is that they have an SDK version, a CLI version, as well as, a Studio version. One thing to note is that it's easy to install the SDK and CLI from Titanium Studio but I figure since they've made the CLI, they're wanting developers to move away from large IDEs and use text editors like Atom, Sublime Text, TextMate or even Vim or Emacs.

The eventual fix that I ended up going with is just removing "/usr/local/share/npm/bin/" from my PATH. This ensured that when you're invoking "titanium" or "ti", you're using the correct one from npm. Good times! Keep calm and mobile on!