Becoming Dr. Seuss, NLP with Python
A Scrappy Approach to Design
I grew up making art pixel by pixel on MS Paint (seriously, pixel by pixel). Over time, it became a tool that I really mastered — as much as someone can master maybe... the art of using a calculator. By that, I really just mean I created Paint graphics that would some times be mistaken for Photoshop quality work. I then moved onto Gimp, Photoshop, and more recently, Sketch, in hopes to be able to whip up Dribbble quality work. Yet, they all remained tools that felt like a hassle to open up, because I consistently needed to look at documentation and watch tutorials. My soul never quite vibed with them the same way I did with Paint. Until I met Figma.
I won't sit here and pretend like I'm some sort of Figma or design expert. I seriously don't know any "best practices" when it comes to designing with Figma. But I can get everything I want done with it (here’s a sample app I designed for my HCI class 👀), and that's what I'm here to share with you. Here are some scrappy tips and tricks for designing (with Figma) for noobies, to enhance your quality of life.
1. Use the pen tool to make illustrations
Nice illustrations definitely jumps to mind when I think of design and it definitely sucks wanting to design things when you're not good at drawing. If you have a picture you would love to see as an illustration, use the pen tool on Figma to trace the entire photo and you'll get something like this.
Original image
Illustration made with Figma’s Pen tool
2. Prototype off built-in screen sizes (demo below)
If you're trying to prototype an app, think about what devices you're trying to optimize for and use the built-in screen sizes for the proper canvas to start off with. The "play" button on the top right corner lets you walkthrough your prototype in the device chosen — it really helps bring your designs to life.
3. Take advantage of high quality illustrations (demo below)
Jumping back to illustrations, beautiful illustrations really help make a page pop. Pablo Stanley has some awesome open source illustrations that anyone can use, it's as easy as pulling them up from a Figma plug-in.
4. Libraries (demo below)
Every platform has their own design language. So rather than reinventing the wheel, using community files could help you adhere to conventions.
A Figma demo of designing for different devices, using plug-ins and community files
5. document.designMode = "on"
You may know about right-clicking any page, selecting "Inspect" and manipulating HTML elements in the "Elements" tab of your browser. I often leverage this functionality to test out all design edits on web pages. But did you know if you select "Inspect", open the "Console" and type in document.designMode = "on", you'll be able to directly manipulate elements on the page? You don’t need to manipulate HTML at all, your whole page just becomes a drag and drop editor. Take a screenshot of the page to share your designs. You can even bring this back to Figma!
Directly manipulating site elements with document.designMode = “on”
I hope these tips / tricks are modular enough that at least one of them sticks with you. But I think the main takeaway of this post is that it doesn't really matter whether you use Paint, Illustrator, Figma, or Instagram, being comfortable with a design software can come in so handy — even if it's just for something as simple as annotating day-to-day screenshots, making a quick birthday card for friends, or trying to piece things together for a website.
Search is a Wicked Problem
Creating Your Own Search
Shrek
I have been watching way too many movies- here’s a list of everything I’ve watched during this quarantine so far.
This post contains spoilers about Shrek.
Sometimes I have the urge to do things that surprise me- like listening to country music or double checking that I still haven’t mastered the moonwalk after zero (0) practice. The curious mind never sleeps. But never have I, in all my years of existence, thought about watching Shrek. I’ve always wondered if the folks behind Shrek, Big Mouth, or BoJack Horseman are aware of just how unpalatable their art style is. This screenshot speaks for itself.
But one day, the urge came and I couldn’t shoo it away. So I laid on my bed at 3am as I pulled up Shrek. If I squinted hard enough, I could convince myself I was watching StartREK instead. Despite having never watched it all the way through in one sitting, I had some strong hypotheses about the plot. A green ogre with tiny spoon ears tries to save an ogre princess with a donkey friend.
The movie starts with the iconic All Star by Smash Mouth. Unfortunately, according to this article, “Do Not Tweet at Smash Mouth About the ‘Shrek’ Songs, They Do Not Like It”, I don’t think Smash Mouth likes to be associated with Shrek. But nonetheless, the soundtrack is chef’s kiss quality. This is coming from someone who has dedicated a good amount of their life watching Broadway musicals, movie musicals, and I have also taken one songwriting course in university- which makes me a very qualified critic. I give it 5 stars.
And then to answer the question I posed above- Shrek knows he isn’t very attractive and because of it, he decides to hide himself away in a swamp so that no one would have to look at him. I hated empathizing with Shrek. Regardless, the Scottish accent sounded a lot better on Amy Pond in Doctor Who than it did on him. On top of that, the Donkey gave me Eeyore vibes as my heart melted every time his ears drooped down. I didn’t like that either.
The thing that makes Shrek special is that it takes the typical fairytale and tosses it into the swamp. We bid our farewells to the good ol’ Prince Charming, evil queen, damsel in distress, comic relief companion and we are left with: Shrek, Lord Farquaad, Princess Fiona and a literal ass. We watch as Shrek and the donkey make their way to save Fiona. (I loved the scene where they had to cross the wooden bridge.) But when they finally get to her, Fiona is outright disappointed. She is vocal about her concerns. Fiona was ready for a heroic rescue where she gets swept off her feet, but there really wasn’t anything heroic about Shrek busting through the doors, shaking Fiona by the shoulders and yelling, “WAKE UP! Are you Princess Fiona?” And then of course, the movie ends with a gigantic plot twist where Fiona is also an ogre and they just come to accept that their appearance doesn’t matter because they love each other. I now know what true love is. Thank you, Shrek.
Call me a sucker for romcoms but Shrek is a cinematic masterpiece and I am ashamed that I have gone my whole life without a Shrek shaped heart. If you are ready to chuckle at every single dialogue in a movie where the characters have immense depth, then watch or rewatch Shrek. If you hate social distancing and refuse to bow down to our onion king, then move along. The swamp isn’t big enough for everyone.
My Disco Ball's My Kitchen Light
I have been steering off of reading non-fiction for a while. I remember when the opposite was true- when I felt like I had to read non-fiction to “grow up”, and that any time spent in fantastical worlds was time wasted. But until non-fiction grows up from being lazy regurgitation of embellished information we all already know, I remain conservative about the genre. And as always, this doesn’t go for every non-fiction book available in the world- The Last Lecture by Randy Pausch and Dataclysm by Christian Rudder are books that I will always recommend to people. But really, if you’re in tech and have resorted to only reading non-fiction books in the past 4 years (especially self-help books), take a read of this opinionated piece about “false consciousness”. (And to those same people: non self-help podcasts exist too). If you had clicked into that link, what I’m about to say shouldn’t come as much of a surprise at all. I’ve recently laid my hands on the first non-fiction book in a while- Why You Should Be a Socialist by Nathan J. Robinson. You may now laugh at the irony.
Most people (even the wealthy) agree that we live in an economic system in which greed is rewarded and modesty is punished, but it takes a little more than that to convince someone that it’s a problem. And then a lot more to convince them that social democracy could solve those problems while not introducing any new ones. Personally, the goal is just to live in a world where we value hope, justice and solidarity. What’s your utopia?
So now I have been spending time reading about how COVID-19 could change the way people think about the world. Resources like this and these are certainly intriguing. In the meantime, I know a lot of people are once again romanticizing what people have to have “accomplished” during this pandemic- almost as if there isn’t a pandemic outside right now. I think these articles by The New York Times and Philosophy Break capture a lot of why I avert from pretending to be “busy” because “busy people are after all, a little ridiculous”. We shouldn’t feel the need to define our self worth merely by the output of “work” we are able to produce.
With that, here is a list of things I have been doing that effectively make me a non-contributing member of society while social distancing. Who cares? As long as you are happy.
My inner dancer is back! Aside from posting low quality 8 counts on my TikTok, I have dusted off my yoga mat and finally started training those oversplits, scorpions, cartwheels and elbow stands again. I’ve been able to drag myself to the dance studio once or twice a week for the past few years, but I haven’t been able to sit down and focus on progressing those fundamental moves in a long time. Peloton’s free trial has also reminded me of that elliptical in my basement- it’s been like going to Spin classes without going to Spin classes. Classes on ClassPass have also been made virtual- I was initially bummed out by this, but I have recently realized that I can just update my location and attend classes back at my favourite ballet studio in SF. What a silver lining.
The New York Times Crosswords. I ended up getting Andy hooked on these crosswords too- our virtual work sessions have suffered significantly in productivity as a result of them.
Animal Crossing: New Horizons. Dare I say more?
Taking naps whenever I want to. I might take one right after this post, actually.
Meditating. I am absolutely guilty of scrolling through my phone until I eventually fall asleep halfway through. But I have been trying to kick that habit, so I meditate right before I sleep. The effect is similar.
Trying out new recipes! I made banana muffins the other day, and I have also been making my own boba. Chrissy Teigen has been oddly quiet since I have posted about them on my Snapchat story.
Cutting out milk. I used to love milk, but I’ve been meaning to drop it from my diet for a while. I’ve finally made the switch to oat milk! Please be gentle with me during these trying times.
This one is a little productive (or so I hope). Fine, you caught me. But A.I. For Anyone is hosting a virtual workshop with Mark Cuban Foundation and we currently have ~50,000 registered attendees. This is a huge opportunity for us and it’s been absolutely crazy seeing how this organization has learnt to scale in such a short amount of time. I really hope this makes a difference.
Calling family and friends. I’m a huge non-fan of calling people, but times has changed and so have I.
I’m going to take a nap right now and then wake up at 12am so I can complain about how messed up my sleep schedule is but twirl endlessly in my dimly lit kitchen as I kiss the stars good morning.
So it goes.
Confessions of a Tumblr User
I recently sold my soul to Disney+ and so it only makes sense to have my latest blog post named after the 2004 American teen musical-comedy blockbuster featuring the one and only, Lindsay Lohan.
So I have a confession- I’ve been an active user on Tumblr since the SuperAvengersWhoLock days when every edgy teen was embarrassed about having a Tumblr, and would then get typecasted into a box shortly after. I snuggled into the box and happily stayed there. I remember gaining a fair share of followers (after inorganically promoting it on a game site where you played Tic Tac Toe to get shoutouts) and being so proud that I found people who appreciated my witty text posts and carefully catered reblogs. Or I just really excelled at Tic Tac Toe. I never ended up sharing my Tumblr with anyone I knew in real life (except for 2 people who have probably forgotten about it immediately after I told them because they would never in a million years understand what it meant to me). But beyond that, it was like a second bed to me- the one place that always took me in its arms no matter what was happening else where. I remember having a really really terrible day in high school and posting about it- I was never one to properly share my feelings with friends, but the people on the platform cared and they told me things were going to get better.
Tumblr now isn’t what it used to be back then. The platform is filled with people who once (and still) found solace and forgiveness through it in this very very strange world. It’s filled with very distorted senses of humour that we happily embrace. Pictures of sunsets and the Eiffel Tower with that “Tumblr aesthetic”® still dance along my dashboard as I scroll through it. It’s nice to be able to glorify the little things in life, and now more than ever, that seems important.
If you have something that keeps you going everyday- don’t let go of it. Even if it’s just an outdated platform that gets terrible PR. Or this entire post was just an extremely elaborate way to tell you that I run a meme blog, and this blog you’re reading is simply my side hustle. Either way, I hope you take care in these very weird times. Stay safe during the pandemic!
Now off I go- back to listening to Lorde’s Melodrama.
Effective Altruism
I was sitting at Blenz Coffee as a gathering of Christmas carolers stumbled into the coffee shop with portable instruments- a group of young and old, meek and the bold. I glanced up at my laptop screen and noticed it was 10:30pm, a little late for these children to be out but surely, this felt harmless enough. A young boy then came up to me with a laminated pamphlet and a transparent donation box with two $50 bills sitting in there as display. I asked if they were raising money for a registered charity and he opened up the pamphlet confidently, but even then, something felt off. So in the span of those few seconds, I did a quick Google search and my screen was flooded with the term “scam”. I promptly back the pamphlet and told him I didn’t have any change at the moment. I felt bad- maybe this little boy really thinks he is raising money for an important cause, but situations like this make me wonder: how can I do good, and how do I do it right? For example, had I given the boy money, I would have done more harm than not donating at all.
So in comes “Doing Good Better”, by William MacAskill, a book about how we can practice effective altruism (“how can I make the biggest difference I can?”) to help others, do work that matters, and make smarter choices about giving back. There is a lot to unpack in the book, and I’m not sure if I agree with everything MacAskill has to say. Regardless, here are some things I hope to remember from the book:
We have ~80,000 (40 years x 50 weeks x 40 hours) working hours in our career, how do we maximize what we do in these hours?
Earning to give: rather than trying to maximize the direct impact we have with our jobs, we can also try to increase our earnings so we can donate more, improving people’s lives through our givings rather than our day-to-day work.
This feels important as I try inch closer to graduation, and recognize that I might not always be able to make “the type of difference” I hope to make. In fact, despite being a book about effective altruism, MacAskill explicitly recommends against working in a non-profit straight out of college, to prioritize building skills and credentials that could help us in the longer term. Our first job might last a few years, but our subsequent career will last decades.
The five key questions of effective altruism:
How many benefit, and by how much?
Is this the most effective thing you can do?
Is this area neglected?
What would have happened otherwise?
For example, imagine a town with only three doctors, who save 100 lives each (and spend the rest of their time treating non-life threatening sicknesses, such as the common cold). If one of the doctors leave, the two remaining doctors will still save the 300 people, but perhaps the people with common colds will now be neglected. So that’s the difference that extra doctor would have made- which is probably less than what we would have thought at first glance. It’s difficult to think about the impact we make in that way, but seeing what would happen otherwise can help us see our direct impact in a clearer way.
What are the chances of success, and how good would success be?
When evaluating a charity, we can evaluate:
What does this charity do?
How cost-effective is each program area?
How robust is the evidence behind each program?
How well is each program implemented?
Does the charity need additional funds?
Some additional things to think about:
The 100x Multiplier: for those of us living in rich countries, we should expect to be able to do at least one hundred times as much to benefit other people as you can to benefit yourself.
People often believe that: If many people did this thing, then change would happen. But any individual person doesn’t make a difference. This isn’t true if we consider expected value.
We can use expected value to compare higher-risk but higher-upside actions with actions that are certain to have an impact. In the small chance that our action does matter, what is the outcome?
For example, in the case of the US elections, a voter has a one-in-sixty-million chance of affecting the outcome, but the expected value is very high.
When it comes to helping others, being unreflective often means being ineffective.
If you’re curious about Effective Altruism overall, you can learn more here, and here’s the book I read. I’m learning, but there’s still lots to learn! I’m excited for the new year. 🎉
A Month In My Life
Somewhere along the midterms and infinite homework assignments, I’ve temporarily held off on updating this blog. But I thought it might be interesting to come back with “A Month In My Life” style post. This type of content is often found gobbling up my YouTube subscriptions box, so I figured it might be fun to attempt something similar on here.
Here’s the The Lion, the Witch and the Wardrobe (The Good, The Bad, and The Ugly) in rough chronological order:
1. nwPlus' Local Hack Day: Learn Day
Allison, Nada, Jacky and Amy made the event Kristen and I started greater than what we could have ever done. I had to limit my “proud mom tears”. This also reminded me the importance of passing the baton. Afterall, the race is about the baton, not the runners.
2. David’s birthday!
Consistently one of the highlights of my Octobers. ❤️
3. A.I. For Anyone
I was invited to join as an executive member of an NYC based non-profit, A.I. For Anyone after having volunteered with them for the past 6 months. I love the mission and have been trying to spread it through the creation of our bi-weekly newsletter, All About AI. Learn more about it here!
4. Making music, music and much more music
My friends from SF visited and stayed over at my place. We ended up recording a (I think hilarious) cover of Africa by Toto together.
I bought a MIDI Controller and felt the need to post a cover of Someone You Loved - Lewis Capaldi. 🎹
It was Andy’s birthday, and we made her a little something.
My friend Arden and I made a parody about how Starbucks has us feeling some kind of way during this time of year. 🍂☃️
So why am I sharing all of this? The truth is, I love making music because it brings me so much joy. I think you can tell that I care a lot more about the process of creating music, as opposed to aspiring to be the next Prince. But most importantly, I recently re-stumbled upon Ira Glass’ words on storytelling that really got me thinking:
“If you’re someone in a creative field, you probably started because you have good taste.
You just love radio, TV, writing, marketing so much that you want to add to it yourself. You’re an avid consumer of every piece of content put out in your craft of choice, you can dissect the greatest books or ad campaigns all day.
But when you first start creating… There’s always a gap.
What you make disappoints you somehow when you look back on it. But you’re good enough to know that it’s disappointing to you. Too many people quit at this point, but you just have to keep pushing.
The most important thing you can do is make a lot of work. It’s only through making a large body of work that you can start to close the gap and make something you feel is truly special.”
- Ira Glass.
5. Hong Kong Politics
My dad advised us both not to think about it too much, especially not on nights before my midterms / other special occasions. But I can’t help it. I check the news and my HK family group chat as frequently as I check my email. We talk about it sometimes, but not as much as I would probably like to- I feel so helpless when I’m so far from home. What I feel is nothing compared to the grand scheme of things.
I wrote a song about it.
6. My Uncle passed away
7. Victoria
We took a trip to Victoria- I haven’t felt that happy in a long time. On the ferry ride there and back, we pondered about philosophy. I was proud that I could comfortably partake in the conversation having now learnt a lot more about philosophy. Yet, the more I learn, the less sleep I seem to get.
8. Trivia Night + Duffin’s Donuts (self-explanatory title?)
9. Live performances!
Julia Michael’s Concert
I dragged Kristen to come to this with me because I needed to attend a concert for my songwriting course. We were pleasantly surprised. She also brought out JP Saxe and they sang “If The World Was Ending” live for the first time, ever. I was probably too excited.
Pippin The Musical
I didn’t expect much going into it, but it was really worth watching.
Vancouver Symphony Orchestra
My friend, Shevonne performed! We all went to support her. It was beautiful.
10. CS Coffee Chat
UBC just piloted this coffee chat system where they match senior and junior students together and prompt them to grab coffee together. I ended up grabbing coffee with a TikTok celebrity.
11. Some exciting stuff!
12. I opened up a midterm and realized that I had studied all of the wrong things (well, there’s no way I could have known technically). That sucked.
13. I hosted the Vancouver Azure Meetup
This was my first solo event after having become a co-organizer for > 1 year.
14. I hosted a Major League Hacking Organizer’s Peer Group with Allison
We were invited to speak about organizing a hackathon / Local Hack Day! It was fun to tag team with Allison again. 💖
Devpost also featured me in an email. I don’t want to make a separate bullet for that, but I’ve peaked so there’s that. 🤧
Well, this was definitely more a “Past ~2 Months In My Life” instead of just the past month, simply because I’m not exciting enough for the latter. But I hope you enjoyed reading it nonetheless.
Take care of yourself and the people around you! Enjoy the holidays. 😊
Summer 2019 Pt 2
Microsoft vs Garage
I wrapped up my internship on Microsoft's Developer Relations team (docs.microsoft.com) last month and I’ve had some time to reflect on how my past 2 internships at Microsoft has differed- I last interned in the Microsoft Garage (experimental projects) over a year and a half ago. My experience this time around was naturally very different because of the difference in timing alone. But here are some of my thoughts:
Product management is an ever-changing role, whether it be at different companies, or even in different teams / products. I’ve thoroughly loved both internships and at the core of all this, they are very very difficult to compare. The skills required to be successful are more or less aligned, but the actual tasks and execution of these tasks feels very different. In The Garage, I was the sole PM intern in charge of 4 very different projects (Snipping tool, AI chest x-ray diagnosis app, Minecraft for Education, and a HoloLens project). On Docs, I worked in a team of PMs and I was specifically in charge of coming up with features to solve 1 specific problem statement we were facing.
Time
The Garage required strong time management skills because I was directly collaborating with 20 engineers and 4 designers who all had different priorities. I needed to make sure that I was resolving blockers quickly to ensure that every team could focus on their work without any bottlenecks. In Docs, I collaborate with other PMs, Designers, Engineers and Content Developers, but all of them have other work to do- my project is 1 of X many projects that they are working on. I had to work around their schedules while still ensuring that my features could be delivered in the timeframe I needed to.
Domain Knowledge
The 4 vastly different projects in The Garage gave me a breadth of knowledge across different projects and domains, but Docs gave me a depth of knowledge in our platform’s problem space. In both cases, I got to spend a lot of time diving into the problem spaces and speaking to actual customers about our platforms, but the scope of which I got to do this was more laser-focused in Docs.
End-to-end
In The Garage, we started all 4 projects from scratch. Some projects were ideas on a napkin, while some already had an existing product team but the type of work we were doing has never been done before. We had the freedom to build whatever we wanted to. We did everything from planning the technical architectures, conducting user research, prototyping our ideas, all the way to going through accessibility and security reviews, compliance, global readiness etc. to push the project out to the public. Being involved in a process like this in a corporation like Microsoft as an intern is rare, I learnt a lot from it. In Docs, I was in an already existing team working on a product with 40M+ MAU, so my feature had to be not only innovative, but also be aligned with the rest of what the platform has already built out. If you didn’t know- Microsoft Docs are completely open sourced (azure-docs is actually the 5th largest project across the entire GitHub), and the platform and pipeline is one of elegance and intricacies. Rather than shipping a full project, we would ship a feature to the public and share it with customers in the form of a blog post / tweet.
Impact
The Garage is an outlet for experimental projects, so what happens to our project after our internship could vary vastly. Maybe it never sees the light of day, and the project we work on will be archived as research for other future projects. On the other hand, we could very well be pioneering something that has never been done before and the impact of that will have a rippling effect. For our cohort, projects have been open sourced on GitHub, they were announced at Microsoft Build Developer Conference, they were picked up by various news sources including TechCruch- very exciting stuff! The Garage has many safe guards that prevented us from failing- carefully chose stakeholders, mentors and processes are all in place to set us up for success. I have always been a huge fan of Docs, and there are 40M+ of us who feel the same way. The feature that I work on is guaranteed to reach this massive developer audience, knowing that what I do is making millions of developers’ lives easier. This is something that made me excited to go to work every morning. I felt the impact of my work.
Team Dynamics
The Garage feels more like a family than anything else. I have spent almost every waking hour in my 4 month internship with the fellow interns, whether it be working or hanging out. Outside of The Garage, employees can’t spent all their time with their coworkers- that unfortunately wouldn’t be very healthy work-life balance. But this actually gave me more free time to work on projects outside of my internship that I didn’t have time for before. So the team dynamics is different, and they both have their own merits.
In conclusion, the PM role is one that continues to fascinate me everyday. I’ve learnt so much on the two teams I’ve had the honour to work in- and I’m forever grateful to have experienced both. If you’re considering interning on either Microsoft Garage or taking a Microsoft PM internship, the only advice I’d have is- go for it. Either way, you’re guaranteed an experience of a lifetime.
Summer 2019 Pt 1
PM#5: Outside of Work
I love hearing about what people do at work, but I especially love hearing about what people do outside of work. This inspired Derek and I to start The Intern Podcast last year— a podcast about employees’ side hustles. And one of my ongoing questions then becomes, how can I leverage my work-work to serve other initiatives I care about outside of it?
I’ve found one way!
Over the past 2 months, I have donated $1300 to 2 non-profit organizations— A.I. For Anyone and Unloop, all through volunteer hours. Not only does every employee start with $50 they can donate to any organization of their choice, Microsoft also matches every 1 volunteer hour to qualifying non-profits as a $25 donation. This means that not only am I helping them with actual volunteer work, I’m also actively donating money to the cause.
Going into my internship, I knew I wanted to dedicate my non work hours to solving problems I really cared about, with democratizing technology being my leading motivation. This translated into reaching out to A.I. For Anyone and asking to start their newsletter for them. This gave me an opportunity to kickstart an initiative, learn about AI (and interview awesome researchers), and of course, write. It has been an absolute honour moving the needle with them, and I’m excited to see where this newsletter takes us.
The first issue of our newsletter, All About AI— a newsletter aimed at demystifying and democratizing AI by improving AI literacy, comes out today. Subscribe here!
Transparency
Transparency comes hand in hand with accountability, and accountability is terrifying in the same way that this:
$ git blame
feels like a dirty task.
Let’s get rid of that stigma and help each other do our best work.
For a bit of context, when I first joined Slack as an intern, the first thing I noticed was how quickly I was onboarded. I got there one day, and the next day, I was creating my own spec and pushed my first line of code. This boggled my mind. A task that was normally viewed as a dread and drag to the team was eliminated. Yet, I didn’t feel lost. I didn’t sit through a week of onboarding sessions learning about things that may or may not come in handy for me during my internship, their training was short and concise because they trusted us to learn the rest in our own time. I didn’t need to set up a meeting with my manager to ask when the team generally comes into work, how code reviews will work, templates for PRs, how to set up accounts etc. because they were all available directly on our instance of Slack, sitting just a search away. I knew what all my teammates were doing at all times. In fact, I knew what everyone was doing at all times (if I wanted to). I saw this again when I came back to Microsoft. This is transparency.
Here’s an example scenario:
Alex has worked on a team for 15 years so she knows what everyone has worked on, what they are working on, and she can probably predict what they will work on in the next fiscal year. And then whenever a new project comes up for her, she sits down and thinks about whether her work overlaps / will overlap with anyone else’s and contacts all her potential stakeholders. She pulls them into a meeting and discusses how they will collaborate together to achieve the best results together. She sends over meeting minutes directly to everyone who was involved in the meeting right after. She ends up with a successful project that she and her team are proud of!
The problem?
Jim—Alex’s coworker doesn’t have the 15 years behind him. Without the connections and the experience, he doesn’t know that any of that was happening, and there is little to no way for him to find out. Maybe most of the time, this is okay. But on occasions where his work starts to overlap with other people’s, he wouldn’t know. In the best case, he duplicates already completed work. In the worst case, he messes up fundamental architectures of a product and ends up eating into other people’s time to fix what he missed out on. Either way, this could have all been prevented if only Jim had the knowledge that Alex did. So how do we fix this?
Transparency is a 2 way street—I like to boil the solution to all of this down to 2 points.
1) Exhibit transparency
Start sharing our work on public and shared channels and ask for feedback (a win-win)!
Avoid private DMs as much as possible.
Provide details on our work—maybe Alex and Jim are both working on creating a new website but one calls it a “site”, and the other calls it an “app”. Without further context, they would have no idea they are working on the exact same thing.
2) Encourage transparency
Pay attention to what other people are saying during standup / team syncs.
Take the time to find and go over the work that other people have shared. Leave comments and leave feedback.
Tell others to share their work, whether it be online, through team meetings or through brown bag sessions. People dismiss how important their work is to others, it’s easy to be scared, or forget—give them the push they need.
Talk to coworkers. There’s a reason why they’re coworkers! 😊
When knowledge in the workplace becomes a commodity, we can all start doing our best work.
User Research
One thing I love about product management over software engineering is the ability to view projects in more holistic views. I want to understand not just how we should build something but rather, why we are building a product, and who we are building it for. That’s where user research comes into play. I’ve conducted over 30 user research and usability testing sessions during my time with 4 projects in the Microsoft Garage— working with a diverse set of Windows users, cancer researchers, and finally published a research report with Xbox research about accessibility in gaming. More recently, I’ve conducted another series of user research sessions to learn more about user needs and expectations for the docs.microsoft.com platform.
I’ve started becoming more hyperaware of when I walk out of user research sessions feeling like I’ve lost a sense of direction for my project vs. when I leave having gained clarity and my mind is bubbling with ideas. At the end of the day, the former is bound to happen, and sessions like that could very well be why we should do these in the first place. But I’m hoping to reflect on how I can stop being the reason why the former happens.
Here is how I generally approach conducting user research:
Create a user research plan with the goal, hypotheses (optional), research details etc.
No leading questions
For example, rather than asking “Do you have any problems with x?”, which implies that a user has a poor relationship with x. Instead, ask “Tell me about your experience with x?” so they get to choose how they feel about it, and then follow it up with why.
Tie numbers to questions
Especially for more qualitative studies, tie number scales to questions (i.e. “On a scale of 1 to 5, with 1 being very poor to 5 being excellent— how do you feel about x?”) to quantify sentiments of responses after the interviews. It can be difficult to differentiate a “decently good” to a “fairly well”, but it is easy to know the difference between a rating of “2/5” and a “4/5”. Of course, scales are relative as well, but they are slightly more empirical.
Let them tell me a story
It is sometimes helpful to leave questions intentionally broad so users have the freedom to answer with anything they want. This can often reveal unidentified flaws in a product, opening up my eyes to not just to a solution I like, but rather, the solution we need.
Magic wand question
Very much like the previous point— give users the option to describe their ideal experience with x if they had a magic wand and anything is possible. This helps me understand what the desired user journey could look like, without constraining them to my own bias / questions. Although remember, users are experts of the problem space, but not necessarily the solution space.
Create a user interview guide
The user research plan is helpful for outlining everything I hope to get through in an interview, but the truth is, it’s difficult to keep referring to a sheet of paper when I want to foster an organic conversation with someone. So making and reading over an interview guide (a simplified version of the research plan with bold highlighted points), allows me to glance at my cheat sheet during the interview and know exactly where I am in terms of progress.
Conducting interviews
Don’t interrupt them
It can be difficult to hold myself back from steering conversations “back on topic” when I feel I’m not getting exactly the response I’m “hoping for” from a user, and they start going off on a tangent. But people speak the truth when I let them speak their heart.
Don’t try to fill in awkward silence
Sometimes user research will feel awkward— and that’s when I generally go rogue and start suggesting answers to users. I fall straight into the trap of asking leading questions, in hopes that they don’t feel bad. But after a terrible interview where I basically spoon-fed a participant all the answers, my mentor gave me the advice of just letting awkward silence happen. This worked surprisingly well. People feel obligated to come up with answers (and often even more innovative ones) because of the uncomfortable dead air.
Summarize interviews
I find it helpful to conduct interviews with another person so that one can ask questions, while the other focuses on note taking. This time around, we did our user research through usertesting.com which meant that I didn’t have to take notes at all, and could review the recorded interviews after each one. It also gives the flexibility of annotating the video to mark down key points.
I create a summary report with every interview I conducted based on (loosely depending on context) the following points:
Anonymous user ID (remove PII for confidentiality)
Background
What they currently do
What problems they have
What their wants are
Quotes
Other interesting observations
User research report
After all of my user research sessions, I sit down and draw themes amongst my observations and generate recommendations / actionable items out of my findings. This includes reviewing my hypothesis.
It’s important to reflect on and share my learnings so that there is transparency in the work that I’m doing, and the team should be aware of concerns that users have. This facilitates an environment where teammates share and learn from each other’s work.
Don’t let user research be the be-all and end-all
It’s inevitable to have anomalies in user research findings, and that’s okay. It doesn’t mean the research should be scrapped or augmented to prove the initial hypotheses. Rather, the holistic result of the research can be used to help drive part of the decision making in creating a solution that users will love, but it should be coupled with data and metrics to ensure that a solution doesn’t just satisfy the needs of the small sample size of users that were interviewed.
Huge thank you to Sara Lerner, Den Delimarschi, Horyun Song and Melissa Boone for guiding me through all of this. I still have lots to learn. 💖
OKRs
I sat by the poolside at Bota Bota in Montreal as I began to read “Measure What Matters: OKRs: The Simple Idea that Drives 10x Growth” by John Doerr. The next time I glanced up, my skin had gotten 5 shades darker and I, had become fascinated with the idea of OKRs.
Objective and Key Results, OKRs, is the 3 letter acronym that propelled the growth of companies like Intel, Google, Amazon, and Uber. Put simply, Objectives are goals, while Key Results are measurable milestones to show the achievement of those goals in a timebox. Doerr shared a powerfully structured concept with strong use cases. But by the end of his book, I figured it would be the first and last time I would hear about OKRs (half buying into this).
I was wrong.
When I stepped into my internship the next week, I was given my summer project stitched together with a list of organizational OKRs. Shortly after, my skip manager had created a new set of OKRs for Q1, and our team had made our own too.
If you want to read more about OKRs, I highly recommend you check out the actual book. But here are some value adds that OKRs have given me as an intern:
Allowing me to do my best work. Most managers and mentors that I’ve had in the past know the importance of defining goals for me as an intern. Sometimes these goals were directly matched to my project, while others gave more transparency on the top down goals. However, I can’t count the amount of times that I’ve worked through a project and only upon speaking to different stakeholders, do I realize that everyone’s version of the team / organizations’s goals differed. Hence, everything I did, from doing user research, making feature specs, to every meeting I sat in felt like I lacked clarity. With clearly defined OKRs, I can align my project’s goals directly to that of the organizations, while being confident that those are the agreed upon goals— and not just what my idea of what it should be. This is something I never even knew there was a solution to, until I stopped struggling with it.
It’s simple. Big ideas are boiled down to concise bullet points that are easy to read and digest. There is no room for confusion as every KR is measurable, so the desired outcome feels more attainable. I know how to get there.
Transparency of teammates’ work. It’s not easy to keep up with what my coworkers are doing, especially as an intern because 1) our work is often isolated, 2) there is so much to learn— learning about other people’s work becomes deprioritized, and lastly 3) their work often takes too much context to understand thoroughly, I don't know where to start. However, defining OKRs as a team allowed me to learn what everyone was working on, and their goals. I enjoy being a part of something greater.
Are we on the same page? It’s helpful to understand what my team is fundamentally focused on, not just because it helps me with my work, but also because it prompts me to think about if my personal values align with that of the team’s.
The First Road Trip
It's 3am on a late Sunday night / early Monday morning, and I'm on the couch of an Airbnb near Portland. Everyone else is fast asleep upstairs. Today was a fun one— we left Seattle at 8am and drove to Sunset Beach on our way to Portland. Ah, the first road trip of the summer.
In these past 2 weeks: I’ve packed up a suitcase and left for Seattle (I pride myself in being the world's lightest packer). I moved in with 4 other roommates, and I started my new internship at Microsoft on the DevRel team. I hadn't even noticed how comfortable being back at UBC for the first time in 20 months made me feel. I forgot what it was like to feel struck by something unfamiliar every turn I took— until now.
Change is scary. The only time I stop getting scared is when my mind feels so consumed by the changes, that I don't even have the mental capacity to feel fear anymore. But, the little things help, and I just feel like jotting them down to remind myself that familiarity, can come from anywhere.
The same boy who reads a new book everyday on the bus to work. Going to more trivia nights than I have ever been to in my whole life. Being on first name basis with the barista at the Chatime by my home. My roommate and I regularly binging shows like The Bachelorette. Finding the quickest way to get from my work building to my friend's. My friend teaching me how to play Madeo's Pop Culture mix on the Launchpad. Seattle's UDistrict is the type of neighbourhood I've spent my whole life dreaming about living in. Reunion with ex-interns and visting friends. Spending time in nature again. Hiroshi's Poke. Groups of friends who I love spending time with.
But most importantly, I found comfort in the discomfort. I'm okay with not knowing every single thing. In fact, I came on this Memorial Day long weekend trip having barely met anyone in this group prior to today. But I'm glad I did because I really love hanging out with them. And I was so close to missing out on all of this, had I just adhered to the safety net of my introversion.
A question that Emmanuel brought up on our way back to Seattle: What are you feeling grateful for?
PM#1 : Notes
Here are some points I hope to remember after reading through Den’s very helpful resources for Product Managers:
Want To Build An Incredible Product? Strive For The Delta Of “Wow” (Wayne Chang)
We shouldn't aim for MVPs
You only get one chance to make a great impression. Why would you test your product externally so early on and waste that opportunity?
Minimum Lovable Product
Product that is so intuitive, so satisfying to use, that your customer base can’t help but tell someone else about their experience
This is what people invest in!
Do something so great, something they didn’t expect, that they have to tell someone else.
Delta of “wow” saves resources down the road
Cuts down on sales cycles — people start talking about the product for you
Reduces need for marketing and “user acquisition”
Makes customers feel like they’re part of something special, a community, instead of just purchasing a service from a vendor
Don’t engineer solutions, engineer emotions
If a user expects their experience to be painful, and it’s the opposite of that — it’s intuitive, surprising, gratifying — you’ve won them over
What distinguishes the Top 1% of product managers from the Top 10%? (Ian McAllister)
Don't be constrained by resources
Use data appropriately, when available, but they'll have to tap into other biases, beliefs, and triggers to convince the powers to give you headcount, money, or other resources and then get out of the way
Get 80% of the value out of any feature or project with 20% of the effort
Balance offense and defense projects appropriately
Offense: projects that grow business
Defense: projects that protect and remove drag on business
Good Product Manager/Bad Product Manager (Ben Horowitz)
Good PMs:
Don’t give direction informally
Gather information informally
Think about the story they want written by the press
Send status reports in on time every week, because they are disciplined
Bad PMs:
Point out that they predicted they would fail when they fail
PM at Microsoft (Steven Sinofsky)
(Fun fact: position started at Microsoft while developing Excel for Mac)
Advocate for end-users and customers
Where developers were focused on code, architecture, performance, and engineering, the PM would focus on the big picture of "what are we trying to do" and on the details of the user experience, the feature set, the way the product will get used
You will see how easy it is to over-emphasize early power user feedback or anecdotes over broad based feedback
Power users are great but they are just one type of user
Most people are not techies, but most beta customers and most early adopters are so you as a PM have to do the leg work to validate your work with a broader audience
Gradually expand the number of customers involved
MVPs are power users
A PM needs:
Strong interest in what computing can do— a great interest in technology and how to apply that to problems people have in life and work
Great communication skills— you do a lot of writing, presenting, and convincing
Strong views on what is right, but very open to new ideas— the best PMs are not necessarily those with the best ideas, but those that e the best ideas get done
Selfless— PM is about making sure the best work gets done by the team, not that your ideas get done
Empathy— As a PM you are the voice of the customer so you have to really understand their point of view and context
Entrepreneur— as a PM you need to get out there and convince others of your ideas, so being able to is a good skill
New Beginnings
My first semester back to school is finally over!
I can’t lie— it’s been such a fun semester that I almost miss staying up at Tim Horton’s studying until 4am with my friends, freaking out over logistics nightmares of the 3 nwPlus hackathons we organized, and playing tetris with my schedule to try to fit in ballet and UBC Acappella on busy days. But, it’s been done, and I averaged an A this semester! 🎉
I flew to Toronto the day after my last final exam and visited a bunch of friends. In fact, they even surprised me at the airport with a banner— it was one of the sweetest things anyone has ever done for me. I’m so grateful for friends like these. It’s always fun to catch up and listen to all the incredible things everyone’s up to!
I then took the bus and spent the rest of my days before the start of my summer internship, in Montreal reuniting with friends, and my family. My sister, her boyfriend, and I dreaded going to bed every night as we consistently stayed up playing (our favourite) Overcooked, Just Dance 4, (and our least favourite) Roblox. We cooked, we baked, we ate a lot of hot pot, we played tourist and finally, we visited Bota Bota—the most beautiful floating spa.
And now, I’m saying “Until next time!” to all this as I move to Seattle for my summer internship at Microsoft, where I’ll be joining their Azure Developer Relations team as a PM.
Here’s to a fun summer filled with learning! 🌞