エピソード

  • How to Survive Working from Home
    2020/02/09
    COVID-19 has prevented millions of people from returning to their offices after the Lunar New Year holidays. Right now, many software engineers in China are likely coding from their living rooms—working from home (WFH), also known as remote work. Reflecting on my three years of working from home, I’d like to share some lessons learned and insights. In 2015, I lived in Vancouver as a Chinese national and started working for Auris Health, a medical startup developing a novel bronchoscopy procedure. This technology enables doctors to inspect the inside of lungs using a flexible wire tipped with a camera. At Auris, I worked on Linux drivers and desktop UI, which gave me valuable insights into Silicon Valley and the startup world. However, it also forced me into a WFH lifestyle. At the time, I was a young engineer with no family, living in a foreign country, and I wasn’t very well-connected socially. By 2017, I had moved to Toronto, but the isolation and dysfunction of working from home caught up with me. In 2018, I decided to take a local job in Toronto that paid significantly less but offered a better work-life balance. From this experience, I’ve compiled tips for surviving—and thriving—while working from home. Protect yourself from overworking The flexibility of software companies, coupled with a WFH setup, often leads to blurred boundaries between work and personal time. As a passionate engineer eager to meet deadlines, I often found myself working late into the night. At the beginning of the week, I could maintain a routine of waking up at 8–9 a.m. and eating breakfast. However, as the week progressed, my work hours stretched into the evening, causing me to wake up later, skip breakfast, and work even later—eventually leading to a 1 p.m.–midnight schedule by Friday. The first point to remember is that coding is often a solitary activity, and working alone at night only deepens that isolation. The second point is that losing connection with the outside world can be easy if you don’t spend your evenings engaging with it. I often missed social gatherings or got so absorbed in work that I forgot about my plans. It became hard to feel like I truly “lived in Toronto” because I lacked a relationship with the city. The most important point is that overworking without limits drains your energy and prevents you from enjoying life—whether it’s appreciating nature, staying updated on news, or simply living in the moment. Sometimes, taking an afternoon off can boost your overall morale and productivity. Ever since I stopped WFH, I’ve experienced a broader range of emotions and felt less like a machine. Maintaining a schedule and setting boundaries is critical to avoiding burnout. Remove distractions from your environment During my WFH days, I would occasionally visit the company’s headquarters for a week at a time. Comparing my productivity in the office to at home, I found I was often more productive at home—largely because of fewer distractions. While the lack of coworkers to chat with isn’t great for mental health, it does minimize interruptions, which is beneficial for focus. Distractions at home can come from many sources. For me, a messy room or desk was the biggest culprit. When clutter accumulated, it quietly fatigued my mood. Air quality and lighting also played a big role in maintaining focus. I sometimes played music or podcasts while working, but I rarely found them helpful. Even the living room itself can become a source of monotony, which is why I recommend working from a coffee shop occasionally to change your surroundings. Bonus tip: I consider myself a minimalist. I don’t use multiple monitors or fancy keyboards. Instead, I trained myself to work effectively with a single screen, which makes it easy to work from anywhere—whether it’s a coffee shop, meeting room, bus, or even my bed. This adaptability has been a huge asset in WFH scenarios. Build relationships and find local communities Engineers work hard, and they need more than just a paycheck from their job. Respect, a sense of belonging, and meaningful connections are essential. However, it’s challenging to feel included in a company’s office culture when you’re working remotely. Building relationships and finding communities requires intentional effort. During my three years of WFH, I made meaningful connections with coworkers at the headquarters by taking every opportunity to mingle, have lunch, or take walks during my visits. Face-to-face meetings, even occasionally, can help build strong networks. However, when I stopped traveling to the office in late 2017, my sense of satisfaction dropped significantly. To compensate, I sought out local communities by attending technology meetups. I looked for groups that were friendly, down-to-earth, and enjoyable to socialize with. The exact topics or programming languages didn’t matter as much as the atmosphere. In Toronto, I enjoyed meetups like ...
    続きを読む 一部表示
    6 分
  • GNU to Apache — Free Software is Dead
    2020/02/12

    The Free Software movement once carried a set of values that are no longer influential. It has been superseded by free food and has devolved into ideological freedom. This article is highly opinionated.

    Freedom

    My journey with Free Software began in 2012 during an internship at Broadcom, where I hacked the Linux kernel. However, my introduction to its courage and ideals occurred in 2013 when I admired Aaron Swartz. I finally understood how the movement impacts the world at LibrePlanet 2017.

    The GNU project was launched in the 1970s to replace the proprietary Unix operating system. It is better known today as GNU/Linux. GNU marked the beginning of copyleft, the General Public License (GPL), and what Richard Stallman called Free Software. In this context, free means freedom, not free food, which distinguishes it from the broader term Open Source Software. Over years of evolution, free has come to represent key ideological values beyond just having access to source code. Let me explain with counterexamples.

    Execution Transparency: Owners of software-powered technology have the right to understand, control, and reproduce how the software is executed. A clear violation of this principle is the iPhone. As an iPhone owner, not only do you lack access to the source code for the operating system, but you also lack root access to the device.

    Data Privacy: Individuals have the right to control their digital footprint, similar to the principles of GDPR. A clear violation of this is Facebook, which makes it impossible to use its services without allowing the company to track your behavior and analyze your data.

    Decision Democracy: Software users have the right to participate in decision-making processes related to the software they use. A clear violation of this is Android. While anyone can use it for free, Google ultimately owns it and makes all the key decisions.

    The GPL embodies these values through the copyleft approach, ensuring that software remains free forever. As a member of the Free Software Foundation, I advocate for these values. However, I often wonder: Are the licenses and guidelines born from these values designed for the modern software industry? Are they compatible with the current state of software development? Or are they simply aspirational goals for technology and society?

    Free Food

    In 2018, I was introduced to the Apache Foundation and later to the Cloud Native Computing Foundation (CNCF). These organizations are incredibly successful and represent a substantial portion of the open-source building blocks of enterprise software today, including Kubernetes, Envoy, Hadoop, Maven, Kafka, Parquet, and many more. Examining their directives and licenses (Apache, BSD, MIT), it is clear that they promote a different set of values.

    Safety: The Apache License prioritizes protecting participants, ensuring they feel safe. It is designed to allow businesses to share code with minimal legal or financial risk. It does not emphasize ideological values or whether the software is free.

    Collaboration: These foundations and their guidelines align with corporate business values, providing inherent incentives for companies to participate and share their work. Participating corporations often lack ideological stances beyond profit, yet they still foster healthy collaborative relationships.

    Standardization: Many industries greatly benefit from standardized interfaces, which help maintain consistency for consumers when switching between competing providers. Open-source foundations act as a nucleus for standardization efforts, helping the industry reach agreements.

    This approach to open-source software constitutes the free food model. It creates a platform where participants gain business value. This model arose from market needs, aiming to solve business problems rather than pursue ideals. It has become a cornerstone of the software industry, advancing businesses while potentially paving the way for ideological freedom (though I remain skeptical).

    Conclusion

    Efforts by the FSF and GPL to merge code sharing with ideological values often conflict with the business priorities of corporations, limiting their influence in the industry. The FSF remains a powerful force, continuing to fight for our digital freedom. However, GNU projects have been overshadowed by organic market forces, reducing them to glimpses of what a free world could look like. The Free Software movement has lost its software focus and transformed into a digital freedom movement. Free Software is dead.

    続きを読む 一部表示
    5 分
  • What software engineers cannot build: a pile of rock
    2020/11/19

    In September 2018 and January 2020, I twice visited Teotihuacan, often referred to as the "Pyramid of the Sun" near Mexico City. The true names of these massive structures remain unknown, as the city fell a millennium ago, leaving no traceable lineage. Tourists are greeted with obsidian stones and pulque, echoes of an ancient culture.

    My first ascent of the pyramid remains vivid in my memory: standing on uneven volcanic rocks cemented by limestone, bracing against the racing wind. What was it like in its heyday? The pyramid likely served as an altar, reserved for shamans and kings who performed human sacrifices at the very spot where I stood. Its construction must have spanned generations. How did these people find the resolve to build something so monumental, knowing they would never see its completion?

    I imagined a society where inhabitants believed so deeply in their culture that they devoted their lives to it, becoming one with future generations. They transcended individual existence, forming a continuum that carried their collective identity into the future. The thought of the last generation of Teotihuacans, forced to abandon their ancestors' identities, disperse, and fade into anonymity, sends a chill down my spine.

    Yet, they left behind the pyramid—a mark in history that has traversed time to reach us. It stands as an indestructible testament on Earth, a pile of rock that could withstand even a nuclear war. Through this enduring mark, the continuum survives, and the identities of generations persevere.

    In our modern society, people outlive "eras." A 90-year-old American might remember the war in the '40s, the revolution in the '60s, the rise of computers in the '80s, and the internet boom in the 2000s. We seem to live forever, fully committed to our individual lives. We create, we interact, and there's so much to do! Yet, as a software engineer, I can't claim credit for anything that could withstand a nuclear war. I'm not part of a continuum, nor am I connected to future generations in the same way.

    I find myself questioning: when I wither, will there be a mark? In our fast-paced, individualistic world, how do we leave behind something as enduring as the pyramids of Teotihuacan? Perhaps the answer lies not in physical monuments, but in the collective impact of our ideas, innovations, and the positive changes we bring to the world. While our individual contributions may seem fleeting, together they form the foundation upon which future generations will build, much like the stones of Teotihuacan.

    続きを読む 一部表示
    3 分
  • Present with narratives
    2021/04/03
    1. Why talk about presentations? In teams large or small, meetings often start with a presentation. I sometimes lose attention amongst the slides, unable to understand their relevance to the main thesis. This is especially problematic in technical design reviews due to the large amount of new information presented. In my opinion, we can improve the audience experience, and thus the overall effectiveness of these meetings, by implementing a narrative in the presentation. 2. What is a bad presentation like? Consider this scenario: A team is considering replacing their database with a SaaS offering, and Kevin is assigned to find out more. Kevin designs the migration and calls a design review with the team. Kevin starts the presentation with a block diagram of the SaaS solution.Kevin explains the solution details from head to toe.The audience starts to discuss performance, pricing, and scalability.The audience revisits the solution details to find evidence to support their arguments. In this case, the audience might disengage in step 2 because they struggle to digest the details without context. They wait for Kevin to finish before starting the discussion, then need to revisit the details to complete the discussion. Kevin's organization of the material is ineffective, requiring the audience to spend extra effort connecting the dots. Let's call this a subject-oriented presentation. 3. What is a good presentation like? Kevin could reorganize the presentation to mix context with solution details, and demote inconsequential details to an appendix for later review: Kevin starts with a block diagram of the SaaS solution.Kevin explains whether the performance is better (or not) with details.Kevin explains whether the pricing is better (or not) with details.Kevin explains whether the scalability is better (or not) with details.The audience discusses performance, pricing, and scalability. This approach allows the audience to better digest the solution details and prepares them for the ensuing discussions. The meeting flows more smoothly and requires less effort from the audience. Let's call this a narrative-oriented presentation. 4. What is a narrative and why is it better? A narrative is a storyline in the presentation that the audience can easily follow. It connects the material and promotes effective discussions. A narrative-oriented presentation creates and satisfies the audience's train of curiosity, keeping their precious attention on what matters. It's UX design applied to meetings, where the audience experience is optimized. The presenter needs to see from the audience's perspective to break down the subject, separate concerns, remove confusions, and iterate for the best narrative. Subject-oriented presentations are easier to create, whereas narrative-oriented presentations are easier to receive. 5. How to practically create narratives? While I don't consider myself "great" at giving presentations in meetings, I believe the following tips are worth trying: a. Create emphasis Focus on what the audience cares about and what information they need for the discussion. Feed the audience important information simply, with just enough context for quick digestion, omitting unnecessary details. b. Break the subject Distribute details according to the narrative's emphasis rather than their natural structure. For example, split related technical details into relevant sections like "performance" and "scalability" instead of grouping them under "data types." c. Review and iterate Ensure consistency throughout the narrative by reviewing and iterating until it's free of contradictions, confusions, and complexities. d. Add opinions Opinionated narratives promote more audience response. Even if incorrect, they make ensuing discussions more productive. Present a stance (e.g., "the SaaS offering is more competitive") rather than a neutral list of pros and cons. e. Ditch the slides For team design reviews, consider using an infinitely scrolled formatted document (like Google Docs) instead of slide decks, which can enforce artificial breaks in the narrative. f. Promote questions Use questions or imperatives as headings instead of nouns. Include expected audience questions and discussion points explicitly in the narrative. g. Shorten the sections Keep each section brief enough for the audience to read without losing focus. Break longer sections into smaller, numbered parts for easier reference during discussions. h. Read silently Consider implementing a silent reading ceremony at the start of the meeting, allowing the audience to digest the material at their own pace. This approach, inspired by Amazon, eliminates the need for pre-meeting preparation. By implementing these strategies, you can create more engaging, effective presentations that enhance meeting productivity and audience engagement.
    続きを読む 一部表示
    5 分
  • A Peek into Entrepreneurial Lisbon
    2022/02/20

    While traveling in Lisbon, I attended two meetups for entrepreneurs. This was my first peek into the entrepreneurial side of the city.

    General Observations
    • Meetups in Lisbon are predominantly attended by English-speaking foreigners.
    • Portugal offers a Golden Visa program: Foreigners can obtain citizenship in 4 years by investing €500,000 in real estate.
    • There's no capital gains tax on cryptocurrency in Portugal.
    • Americans can often stay in the Schengen zone beyond the typical 90-day limit without issues, except in Switzerland.
    • Most bars in Lisbon offer only one type of beer, simply listed as "beer" on the menu.
    Entrepreneur Profiles Juan (NYC)
    • Project: New Socks City - sustainable socks made from ocean waste
    • Challenges:
      • High storefront rental costs in Lisbon
      • Communicating sustainability message effectively to consumers
    • Solution: Organizing pop-up markets for Lisbon makers
    Ben (France)
    • Project: Datastake - SaaS solution for African data collection
    • Goals:
      • Improve access to quality data for businesses and NGOs
      • Establish a marketplace for selling structured data
    • Choosing Portugal for:
      • Low corporate tax rate
      • Preference for straightforward tax payment
    Richard (Poland)
    • Background: Created 35 companies, 13 still running with 100M total revenue
    • Current focus: Robotic warehouse automation
    • Advice:
      • "Choose business partners carefully"
      • "Don't undervalue yourself as a software engineer"
    Lenka (Czech Republic)
    • Project: YouTube channel "Chica Czecha" on education
    • Insight: Online content creation is valuable for entrepreneurial careers
    Riko (Finland)
    • Background: Sold a DNA testing company
    • Current project: Estimating carbon footprint in supply chains
    Brandon (New Jersey)
    • Background: Sold an ed-tech company
    • Current project: Complete online high school education
    • Market insight: Varying acceptance of online education across EU countries
    Lourenço (Lisbon)
    • Role: Undergrad in student entrepreneurship association
    • Advice on startups: "Focus on the problem, not the business model initially"
    • Insight on Portugal: Good for raising kids, but young people often leave
    Other Local Entrepreneurs
    • Pedro: Indie video game developer, creator of Idle Paladin
    • Jose: Hardware startup for predictive maintenance on molding machines
    • Gabriel: Hardware startup helping blind people learn braille
    Roman (Britain)
    • Background: Wine business owner
    • Moved to Lisbon pre-Brexit to maintain EU status
    続きを読む 一部表示
    3 分
  • No customer obsession, please!
    2022/03/18
    So. I have a Whirlpool dishwasher that came with my newly built townhouse. A few months ago, there was a minor problem. I called the service center, they sent a technician who fixed it promptly, and it was a good experience I hardly remember. Last week, it broke again for a different reason. I called the service center and, after waiting for 5 minutes while being repeatedly told to book a service online, I did just that. On the scheduled day, the technician showed up and asked for a dated receipt to prove the warranty was still in effect. I explained that the dishwasher came with the house and showed him an inspection report from Ontario's housing insurance company, which is what everyone else had been asking for so far. He said he couldn't recognize it and needed to see a document of possession from the lawyers. I couldn't produce it on the spot because I didn't know what it was, and he couldn't tell me the exact name of the document. While I spent some time looking through my bookshelf, he took a look at the dishwasher and appeared clueless about the problem. I asked if I could call the service center or even check with the technician who came last time to confirm if he should accept my document. He said he couldn't, and any instructions had to be written in his work order. I asked how much it would cost if I just paid him. He said $150 plus tax, adding that I wouldn't be able to expense it later to the warranty because the corporate office would decline on the grounds of "why didn't you clear it up before you paid?" He then politely waited for about 10 minutes while I kept looking through my bookshelf. Eventually, he told me he had to go to his next customer and that I should call the service center the day after. He explained that the service center would be confused if I called on the same day since there was already a technician visit. He advised me to tell them to put in the work order what documents to accept. I asked for his card (intending to possibly give a bad review), but he told me he didn't have one. He explained that he worked with Whirlpool directly and therefore (?) didn't have a card. He then left. Business Analyst Hat Result: Product is unfixed, and the customer is unhappy. Despite showing up at the customer site, having the tools and the time to fix the problem, the agent could not do it because of confusion over paperwork. Gaps: The agent lacks detailed specifications of the job and the ability to retrieve them from headquarters. The customer is asked to prove themselves by producing unknown documents.The agent has no agency to improve the customer experience. The agent did not appear to try particularly hard to help the customer. Even if he did, he could not justify working without hard evidence of warranty.The headquarters has no fail-safe to salvage the customer experience. It appears reasonable to give instructions to agents on site or to honor a warranty claim after the customer pays for it.The headquarters is not collecting feedback data. Customer trust is eroded, but customer feedback is not solicited via surveys or the agent. Management Consultant Hat Consultant: Do you consider warranty service an important part of the business? CEO: Yes, of course. Consultant: If the customer couldn't produce proof of warranty, would you fix the product regardless and risk working for free? CEO: No, of course not. Consultant: But the alternative is to risk losing customer trust. CEO: We accept that risk. We are a company of rules; we cannot let the customer get away with skimming us. Consultant: Aren't you afraid the customer will be unhappy and go to your competitors? CEO: We have been operating this way for many decades. We have no data to suggest customers will do that. Consultant: Would you consider investing in a customer service department to modernize the workflows, empower the agents, and collect customer feedback to measure your improvements? CEO: Ideally yes, but we are always short on funds. Plus, we have a long tradition of prioritizing investments in marketing. To be honest, if I keep doing that, I will keep my job. If I prioritize customer service, I will raise some eyebrows from the board. Amazon.com Hat The first Leadership Principle is Customer Obsession Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over customers. Leaders are selected and promoted based on how well they exercise the principle of Customer Obsession. Implementing systems to earn customer trust is the default. Keeping systems that erode customer trust requires substantial justification.
    続きを読む 一部表示
    5 分
  • A Dialogue on Existence: Life, Suffering, and the Human Condition
    2024/09/04

    Guest: Never being born is quiet and peaceful. But to become a sensible being, burdened with the imperfections of human nature, plunges one into pain. It’s messy and worse than never being born. For example, once alive, one suffers from laziness because it takes tremendous effort to understand the world and find one’s place in it. Most cannot manage this and end up living against their nature. Another example is empathy, which can be painful because we know that living freely might hurt our loved ones, so we end up shackled by our obligations and relationships.

    Host: To never exist is to never think or feel, but it’s hard to call that peaceful and quiet without the experience of being. The turmoil that a living being creates is mostly directed inward, rather than disturbing the peace of others or the world. In fact, the world remains as peaceful as it has always been, regardless of whether thinking beings exist. The most violent event I can imagine is a supernova—a star exploding when it can no longer bear its own weight. These events have always occurred; they are neither peaceful nor quiet, yet they continue regardless of human existence. However, the inner turmoil within oneself is real. A careless being may suffer endlessly through samsara. But this suffering doesn’t have to be a permanent state. One can move closer to enlightenment by understanding both the world and oneself, letting go of obsessions, accepting life as it is, learning to distinguish between distractions and what truly matters, and cultivating inner peace.

    Guest: Is it fair to bring a child into the world if it means plunging them into suffering? Is it fair to create suffering just to fulfill one’s own desire?

    Host: The problem of existence is a challenge for all thinking beings. A child knows nothing of non-existence; their world, life, and psyche are all they know. A child also knows nothing of pure peace; human weaknesses are part of the package. Since the problem of suffering is inseparable from the existence of a thinking being, it’s only fair to give both life and suffering to a new life. It’s also fair to withhold both. You and I are the descendants of a long lineage of beings who chose the former. Natural selection—both genetic and social—has ensured that populations of humans who embraced life, despite suffering, are the ones that survived.

    Guest: If my child blames me for their suffering, what can I do?

    Host: You should not blame yourself. You are not the creator of their suffering; suffering is innate in every thinking being. You are not even responsible for most of their circumstances—history and society play a significant role. The best you can do is be honest and help your child understand themselves and their circumstances. Make use of the tried-and-true psychological tools your tradition offers—whether it’s Christianity or another spiritual or social order—to help them live better with others and with themselves. The strength of life lies in its freedom: the freedom to be curious and discover the unknown, to change our circumstances and create new experiences, to overcome adversity, and to build our own sense of fulfillment.

    続きを読む 一部表示
    3 分
  • In the Shadow of Second Chances
    2024/11/17

    On a crisp autumn night, my wife and I found ourselves in the emergency department of UCSF Children's Hospital with our son. As he dozed off in my arms, fatigue overcame me, prompting a walk around the ward.

    In the lobby, I immediately noticed a group of police officers talking with two doctors. Their attention was focused on a corner room with an open door, their demeanor neither tense nor relaxed. Suddenly, a commotion erupted from inside – loud murmurs, cursing, and cries of "Get away from me!" from a girl. I turned away, heading for the restroom.

    Upon my return, silence had fallen. Curiosity piqued, I deliberately walked towards the exit, passing the girl's room. Glancing inside, I saw her sitting on the hospital bed in disheveled scrubs, arms wrapped around her curled-up legs. She was a thin Black girl, perhaps 13, with curly hair tinged orange. Her body was tense, her face expressionless, eyes fixed intently on the space before her. A nurse stood nearby, both silent, neither noticing me.

    Questions flooded my mind: Was she scared? Was this her first encounter with the police and an emergency room, or a familiar experience? Where was her family? Could the police, doctors, and nurses truly help her, or were they just another step in her way downhill? Would she feel supported by society, or frustrated by the uniformed adults who confined her to this corner room? Would she emerge stronger in body and mind, or more ill and distrustful?

    She and I both must face life and death alone, in a world that is often unforgiving. The small measure of safety and freedom I enjoy was carved out by my family and friends and safeguarded by my ability to navigate the rules of society. Yet, when those very rules trapped me and shut doors in my face, I experienced my own share of desperate moments. In those times, I would retreat to my safe space, crying in defeat, but after gaining more strength, I was ready to struggle again. What would I have become without those second chances? Deep down, I fear I already knew the answers to the questions in my mind.

    続きを読む 一部表示
    2 分