Searched for ""

Three Lessons from A Frustrating Meeting

Recently, I had a meeting where in the end everyone walked out of the room feeling frustrated. Looking back, I realized we spent 45 mins on a meeting that could have finished in 10 mins. I contributed to the frustration due to three mistakes I made. I’m writing down the lessons I learned to remind myself to not make the same mistakes again. These lessons are: 1. Make sure the meeting goal is clear to all participants. 2. Identify areas of agreements and disagreements. 3. Understand my role in the group. Make sure the meeting goal is clear to all… Continue reading

Project Planning: A Spike with First Principles Thinking

How can you plan and break down a project that you are not familiar with? With the new quarter approaching and my team getting ready to tackle the next project, it was time for me to understand the next problem we want to solve. Yet, I was intimated. I felt that the problem at hand had so many unknowns. I was afraid of not being able to fully uncover all of the issues. I didn’t know where to start. I asked my manager for help. He shared with me the framework he uses for understanding and breaking down a problem…. Continue reading

Fear No Awkwardness — Chatting is Good

This post can be considered as part 2 of The Power of One-on-One Meetings and Personal Connections. Although just a week ago, I wrote The Power of One-on-One Meetings and Personal Connections, I was still hesitant about the one-on-one meetings I had scheduled today. Those amazing feelings from previous one-on-one meetings had left me. I was, once again, skeptical and wondered if these meetings would be any good at all. The good news is all one-on-one meetings I had today went great! Same as last time, I enjoyed them thoroughly and was glad that I had them. I want to… Continue reading

The Power of One-on-One Meetings and Personal Connections

As engineers, we generally prefer less talking and more coding. There’s a widespread belief that no one likes meetings. I used to hold that belief. As a result, when I started leading projects, I procrastinated on scheduling regular one-on-one meetings1 with engineers on my team. Although I knew it would be beneficial and both my manager and my mentor advised me to do it, for varies reasons, I was hesitant and kept putting it off. Finally, I had a few one-on-one meetings last week. They turned out so productive and useful that I only wished I started doing them earlier,… Continue reading

How to communicate effectively for bigger impacts

Your communication skills largely determine your impact within the company. We mostly spend the early phase of our careers on learning “what to say” — we grow in our technical expertise and domain knowledge(todo: link) so we can make the right trade-offs and come up with the best solution. After that phase, “how to say” becomes important, because once you arrive at a conclusion, the next step is to share your reasoning and potentially influence the outcome of a discussion. “How to say” deeply depends on “who you are talking to”. Knowing the person you are talking to is key… Continue reading

Communication: Getting on the Same Page (Part 2)

This is part 2 of last week’s post: Communication: Getting on the Same Page. I thought about it more this week and summarized a few more points I missed in the first post. 1. Make sure people share the same understanding about the end goal. At the beginning of the project, we were using the same words to describe the end goal without realizing we meant different things. Because we had different understandings about the what and why of what we needed to accomplish, we had a hard time getting on the same page and sharing the same priorities. For… Continue reading

Communication: Getting on the Same Page

I started to lead a cross-team, multi-quarter project a few weeks ago. I expected that, before the team could completely switch to execution mode and be 100% productive, we needed to spend a decent amount of time in the initial planning phase. Although I knew that it would be a challenge, I still underestimated how hard it was to get everyone on the same page and have an actionable plan that everyone feels good about. Just to be clear, everyone on the team was passionate and eager to get started. The challenge inhered from the fact that: 1. the project… Continue reading

Voicing Your Opinions as An Engineer

I notice a common trait among senior engineers: in most cases, they all have opinions and are not afraid of sharing them. As I gradually take on bigger and bigger responsibilities, when the stakes are high, I start to struggle with voicing my opinions and taking a stand. It’s a common topic mid-level engineers often encounter. This post covers: why we should voice our opinions; what is stopping us from voicing our opinions; when and how to voice our opinions. Why we should voice our opinions 1. It makes you more engaged in a discussion. Voicing our opinions is a… Continue reading

Senior Engineers, Stop Doing Everything

As we gain experience and grow our skill set, the scope of our capabilities increases. That means there are more and more ways we can contribute. For example, maybe two years ago, your primary way of contributing was by writing and reviewing code. Two years later, you are also capable of breaking big projects into small stories, designing large systems, and onboarding new engineers. But the amount of time we have stays the same – 24 hours a day and 7 days a week. Since the kinds and amount of work we can do continue to increase while our time… Continue reading

The other side of technical skill: Domain Knowledge and Long-term Vision

When we first start our careers as software engineers, we tend to focus on improving our coding skills, a.k.a. technical skills, including but not limited to: mastering a specific tech stack, adopting best practices, and studying architecture designs. But there is another side that is just as important: gaining the domain knowledge and forming a long-term vision for your team, product, and company. I’m leading a multi-quarter project that requires collaboration among several engineering teams. My team has been the ultimate initiator and driver of the project. As more and more senior engineers from other teams joined, I started to… Continue reading