UA-5095748-1

Wednesday, August 21, 2013

The Art of Managing Up. How to write better emails to your boss. (duplicate of the post on Medium)

Original post on Medium.com : The Art of Managing Up

I've managed software engineering and product teams for a long time, and I have seen all sorts of email styles from my peers and team members. If you have a manager, it’s a safe bet that you've never asked her what the best way to communicate via email is. I've never been asked, but wished that I had.
Now is the perfect time to write this article, since I'm not currently managing anyone (I started my own consulting company and no employees yet). I can always point any future employee here. Please read this article, because this is the honest truth about how I, and probably most managers, prefer to get emails from team members. This article will help you avoid some awkward conversations. There’s no easy way to tell someone that he doesn't know how to properly write an email, and that he doesn't need to cc me for every task completed throughout the day.
Here is my advice
  1. Do ask your manager how she would like to get email communication from you. It shows consideration and respect. You get a opt-in effect and early buy-in. Of course, your manager expects to get email from you but it’s better if you ask how often and in what situation email is appropriate or unnecessary. It will get you points. It would be a delightful conversation because your manager probably has never been asked, and you two will have a good time talking about it.
  2. Do not cc your manager on everything that you do in the attempt to keep her informed. Your manager is just as busy as you are and she hired and trusts you to do your job. You already have specific meetings, status reports, or wikis to keep your manager informed. You don't need to cc again as FYI. You do not need to cc your manager when communicating inside the team or the project. You are expected to work efficiently and communicate effectively.
  3. Do cc your manager when communicating outside your team or your manager’s peers. Your manager needs to stay on top of external communications because there are no status reports from outside groups, and real-time email discussions help keep the pulse on the situation, bcc might be appropriate in this situation.
  4. Do not forward email with just FYI. If you are going to take the time to forward something, then take the time to explain your perspective on the need to forward the email, even it’s totally obvious to you. Believe me, your manager lives by email and gets 10x the email volume compared to you, so take the time take to explain why she should read just one more FYI email from you.
  5. Do not forward a long email with a long conversation thread and expect your manager to digest it all and make the appropriate decision or action because you forward it. It’s your job to provide the context and content to help your manager make the best informed decision possible. Do keep the original email thread at the bottom as reference but always provide a summary of the situation as you see it in a balanced and professional way, and most importantly, make it clear in the last sentence the expected action or decision.
  6. Do avoid long emails or emails with multiple important to-dos. If your email is more than one page long, then pick up the phone or walk into the room and talk. Break up email with multiple requests or multiple subjects into separate emails. It’s easier for your manager to manage emails and tasks this way. One task per email allows her to delete an email as soon as the task is completed. This way multiple requests can be handle independently, based on priority, and will not get lost.
  7. Do use and change the subject line as appropriate. The subject line and the closing lines are absolutely the most important part of the email, use them wisely. Email without subject line or bad subject line is an indicator of a disorganized mind.
  8. Do read and follow email etiquette. There are many blogs about email etiquette. Avoid ALL-CAPS, use punctuation, avoid texting shorthand , use smiley faces sparingly, etc.
  9. Context before Content. This is branding 101. Don't assume that your manager is up-to-date on everything that you do or knows the correct decision. Your manager hired you because you are the expert, her go to person for the challenge. Every email that you send to her is an opportunity to demonstrate your knowledge. Show her how you can analyze a complicated issue, and synthesize it to a few critical decision points, and have the strength and knowledge to take a position and make a recommendation. Take the time to craft a high quality email that provides the context of the situation and the content of the decision. Even if the manager disagrees with you, you have shown your experience and judgment. Be proactive with your opinion and recommendation, but be respectful and let the manager have the final say.
  10. Finally, this is the most advanced technique, write the email from your boss’s perspective, and write the email such that she can copy and paste then send it off to her peers, her manager, or the rest of the team. If you want that promotion then you need to show how you can think and talk like your manager. Your manager has to juggle more projects, situations, and people than you know. She spends ungodly amounts of time reviewing reports, spreadsheets, and writing emails to drive a project to conclusion. Anything you can do to help would be highly recognized and appreciated. So write emails like your manager and you are on your way to earning that promotion.
In summary, as a manager, I want to see fewer, higher quality and more thoughtful emails that respects my time and demonstrate your value. The advice is not just for email to your manager, it’s good advice for all email communicating with everyone in and outside team. Practice them and you'll go far.

Why I Work! (duplicate of the post on Medium)

The original post is on medium.com : Why I Work
One of my favorite books on leadership is by Simon Sinek, titled “Start with Why”. This is my attempt to apply what I read into a meaningful and personal example. I always choose jobs and projects by gut feel and now I want to explore that gut feeling and put into words, the higher purpose that I want to achieve from work.

What I do:

IT Return On Investment
Agile Software Development Management
Technical Team Management (onshore and offshore/distributed team)
Data Analytic Decision
Coaching and Mentoring for Engineers
Technology Road Map
Product Management
Application and Data Security
Cloud Computing
Software as a Service
Database Architecture
Software Architecture
System Architecture
User Interface
Software Programming (C/C++, C#, Java, PHP)
What I do was very easy to write; I listed some of typical things on a resume.

How I work:

Lead a team to analyze many possible solutions based on Return on Investment (ROI) of Information Technology (IT). Create prototypes and Minimal Viable Product (MVP) to jump-start a business concept. Plan and execute long term product road map to enable the business to scale and grow.
How I work was harder to write. I love to build technology and I love to build teams. When the team members and the technology come together, everyone feels the energy and the positive momentum. Everything seems to be in the Zone. We might be arguing about some minor point about UX or algorithm efficiency, but everyone depends on each other for the success of the upcoming release. Words can't describe that optimism and productivity that’s literally in the air. We all drank the Kool-Aid and there is a sense of mission and purpose. As a leader, I try to create that sense of common purpose. Create a team ego, where everyone knows the team and individual responsibilities and values each other’s role, skill, and contribution.

Why I work:

Create innovative products that solve a human problem through the business of technology.
Why I work turns out to be very hard to define, and I’m not sure if I have the right reason, yet. I know it’s not about money, title, technology, or learning cool stuff. I have walked away for all those things because I felt a company’s reasons and values were not in line with mine. I don't want to be busy with work; I want to work with a purpose. Yes, I want to change the world, and it must be a better world.
I’m not interested in making rich people and corporations even more money (although I don't object to that, clearly in a capitalistic society, profit is a critical measurement of one’s success.) Profit should NOT be the primary measure of success and purpose. I see profit as a natural outcome of a successful venture. When a product has the correct value, customer traction, and scalability, then profit is the natural outcome. I accept the Darwinian necessity of profit as a corporate survival fitness measure.
I’m technology agnostic. I worked for Microsoft and I have many good things to say about their products. Open source technology is great too. I don't have a dogma of Java vs. C# vs. Objective-C vs PHP, etc. I don't need to argue the benefits of VMs, Just-In-Time compilation, compiled, or interpreted languages. There is no perfect fit for any specific set of technologies. There are many cultural and technical reasons to advocate one set of technology vs. another. I'm more interested in making a right decision based on corporate culture, hiring availability, and business risk.
The reason why I work is certainly a mouthful of words. What does it really mean? I’m pulling a Matrix, Morpheus quote.
You're here because you know something. What you know you can’t explain, but you feel it. You've felt it your entire life, that there’s something wrong with the world. You don't know what it is, but it’s there, like a splinter in your mind, driving you mad.
This is how I feel when I work; there is something wrong, something that should be better and easier. I want to drill down to understand this feeling, why is it wrong, how did become this way, was it always this way, why does this wrong continue? And I'm driven to correct the wrong using technology. I know the problem and the solution is larger than me. I need to build a team, gather people with the same feelings and desire to correct the wrong. Gather people who are smarter and more skilled than I and together we can try to make a difference.
I want to solve problems for people.
NextCard — For me it is a more fair and faster way to get a better credit card. People deserve smarter score and better service online. Paper statements and paper checks are lame. It’s standard nowadays, but during the late 90's, it was all new.
Entropia — Distributed computing. Why buy more computing power when you are not using the power you already have.
Karma Innovation — Kids’ toys are boring. I wanted to create better toys that really taught music, were fun, and most importantly, felt magical.
EPS — Energy management is broken, it’s an invisible cost and full of lost opportunities. People want to do the right thing, but don’t know what to do. Data and algorithms will be the light that shine and make the invisible, visible.
As Jack Dorsey said “You have an idea and the company becomes oxygen for that idea… In these times, a company is the best way to spread that idea.” Building technology to solve problems takes money, skills, people, and planning. Business is most effective way to raise money, gather, organize, plan, and manage all those resources to deliver a meaningful solution. Helping customers and business planners understand what’s possible with technology and delivering the result is the ideal way to work.
I’m still an optimist and I still want to change the world for the better (for me, for people around the world, and for my kids.). That’s the big picture of why I work.

Wednesday, July 24, 2013

7 suggestions to avoid discipling via spanking.

Growing up I was often spanked by my parents, and my teachers with a thin flexible bamboo sticks over the knuckles of my fingers (not the palm where where there are plenty of meat to soften the blow, but the bone part of knuckles on the back of the hand). In case you're curious, yes, it's quite painful.

I don't have a problem with spanking. In political speak, i'll "consider all options". However, I do think that escalation to the point of disciplining by spanking is failure on my part where I have lost control of the situation.

The most important thing I learned so far is that with some planning and care, I can avoid situation where I need to discipline by spanking. 

1) give enough attention. I definitely notice when I spend more time with my children. They doesn't act out nearly as much.

2) give enough time. Don't expect immediate response, be patient and firm. Plan extra time in advance before activities that involves the children. 

3) Keep rules to the minimal. The rules gotta be really important, something that I care to maintain even at the end of the day when I'm super tired. In fact, in our family, we try to only focus on 2 or 3 behavior improvement per year. 

4) Apply the rules consistently - make sure everyone from spouse, grandparents, nanny, play dates all know about the rules.

5) Avoid situation where disciplining is necessary. I don't want kids to eat candy, so I don't have any candy in the house. Don't want to get the argument of why, who, when, how much, etc over candy. It's a lose-lose situation any way you slice it. 

6) Make allowance for special situations in advance. There always has to be occasional special exception, otherwise, life is just too boring. If we going out to eat, I make it clear that candy is allowed but only if dinner is finished and they are on they best behavior the whole time. Reach a common understanding before going out.

7) Discipline the action not the attitude. Kids can have bad days just like adults and they don't have the emotional maturity to keep their emotions in check. It's hard but I let the kids know that the attitude is not helpful and it puts everyone in a bad mood. Or on my good days, I try to use humor to distract the kid. Either ways, i don't believe that spanking for show of attitude is appropriate. 

That is it. 7 ways to keep things simple so as parent we can reduce the need to discipline young children. At least discipline in a more fair and consistent way.


Tuesday, June 18, 2013

Owner vs renter mentality and why you should align your long term benefit and the transaction model.

Owners just have a different mentality compared to renters. The mentality shows up in so many little ways. The pride of ownership really can't be mistaken. Fundamentally the difference can be simplified as this: owner gives and renters takes. Owners invest time, money, and other resources into the asset to maximize the value of asset or the extend useful life of the asset based on some reasonable expected return on effort. Renter minimizes the effort and avoids investing time, money, and other resources in preparation for the exit based on the expected rental time span.

The most obvious example is car owner vs leaser. Most owners would not miss the recommended oil change or other scheduled maintenance. On the other hand, some car brands has to give away oil change for free during the lease period to incentive leaser to bring in the car. Leaser would do it in the beginning because the expected rental exit time far exceed the effort time. But as the exit period approaches, the value or the benefit of the scheduled maintenance decreases dramatically because long term benefit will go to someone else after the rental period.

I'm not suggesting that everyone should only buy a home, a car and completely avoid leasing or rental. These are financial transaction model decision that can be decided by considering multiple factors and can be quite advantageous. However there is a strong correlation between the transaction model and the user's mentality, and that is the source of the danger.

 I believe in order for a person to be successful in anything, one must *own* the problem and the solution. Ownership is a mental attitude completely within ones control. You can mentality own any problem and solution that you put your mind to. When you own the problem, you will invest time, and money into the problem and solution. If you have a renter attitude of the problem, then you hope it will go away on its own or you want call someone else to fix the problem as cheaply as possible. 

The initial purchase transaction model will likely to set the mental attitude and behavior for the useful lifespan of the asset. It's quite difficult to apply a different attitude after the transaction model as been set. Here are my personal finance spending short hand.

1) Avoid buying or leasing if possible. Less is More.
2) Buy to own appreciating asset and build up equity over time.
     House, stock, businesses, etc.
3) Buy big ticket items to keep so you will be motivated to maintain the value and extend the useful life
     Car, TVs, major appliances.
4) Rent lifestyle or rapidly depreciating items.
     Gym membership, gym equipment, boats, RVs, skis
5) Pay per use
     Carpet cleaners, DVDs, books, vacation house, time-shares,

Back to the car example, I wouldn't lease a car because the I believe I could maintain the car better and could do a better job selling my car for a good price then the dealership. I can keep the margins on the transaction for myself in case I decide to sell. I wouldn't buy a used car even though the saving is considerable because I don't trust the maintenance level of the average car owner. I still own my first car and it's almost 19 years old. The car is still in good condition (relatively for a 19 years old car) because I had an owner's mentality and invested the proper time and energy for the maintenance. I budgeted 10 years as the useful lifespan for the car (http://www.rickychang.com/2008/01/when-am-i-going-to-buy-new-car.html) and I'm nearly 100% over my target. It's a great feeling. Instead of car payments, I invest that money into other opportunities such as sport camps and college funds for the kids.

The decision to rent or own is not a simple decision that can be made by the online calculators. Those calculators are useful starting points. The real decision is your personal mental attitude and setting proper goals and expectations that are in alignment with the attitude.
If you know your enemies and know yourself, you will not be imperiled in a hundred battles... if you do not know your enemies nor yourself, you will be imperiled in every single battle.
Sun Tzu The Art of War


Tuesday, June 11, 2013

I received the diamond class action lawsuit settlement today.

I applied for this way back in 2008 see this here: Get a refund for your diamond purchases. I have completely forgotten about this class action lawsuit claim, until today. To my surprise, I actually received a check today. I almost ripped up the envelope because it looked just like junk mail.

Amazing. I think this is how people feel when they won a bit of lottery money (I don't play so I have 0 chance of winning.) It's a great feeling. Free money!

Tuesday, June 4, 2013

I blog for my kids.

Blogging and writing is very hard for me. I don't enjoy the process of writing and editing. It's hard work to think of topics. Mostly of all, I don't have any confidence in my writing. It always feels awkward. So why did I start a blog? Like everything truly meaningful and persistent in life. It's intended as a gift and it's out of love that I started this blog.

I remember very clear why I wanted to start a blog. I started blogging back in 12/27/2007. My wife and I were talking about how to teach our son, who was just a toddler, about money and responsibility (never too early too start.). Especially after the mega rush of all the presents he received, we felt this is a very important topic and one of our core family values is to be responsible about finances. I felt a rush of excitement and energy. I had so many ideas that I wanted to share, so many decisions that I have made over the years, some I liked, some I regretted, but all I learned from. Obviously, it was impossible for a toddler could fully understand all the idea and decision process that I hoped to teach. My wife suggested that I start a blog, and I felt that eureka moment when the light bulb just turned on in my head. I even had the vision of the perfect title. 

Over the years, whenever there was a learning moment with my kids, but I was unable to provide a well thought answer on the spot or the answer deserved greater depth of discussion beyond the understanding by young children, I used this blog as a mean to better organize and articulate my thoughts. I remember one of the most important whiteboard conversation of my life. I received my job offer from Microsoft, and I couldn't believe how much I would be making in one year. If you know Microsoft back in the day, their salary for new college grads were bad. It just goes to show how naive I was. It was my friend that set me straight about cost of living, retirement planning, savings rate, etc. It was a quick 15 minutes conversation, but it set the ground rules for my personal financial  planning. My main regret was the talk came from my friend instead of my father. Now, I want to a different kind of father to my kids. 

While working on our family will, I very consciously realized that I wouldn't be around forever, and certainly not with the same mental acuity as I do now. It would be best if I continue to wrote blog entries so my kids can understand the context and the rational of our decisions and the results we hoped to achieve. It's my hope that when they grow up and have kids of their own, they would read these entries and realize that we were human. We made decisions with much thought and love, but plenty of mistakes were made too. And, just in case, if 18 years of asian tiger parenting drove them crazy and they stop talking to me, at least, they would still read the blog and read about the values that shaped me and I tried to pass to them.

Looking back at my very first blog entry about the meaning of the title. This blog is a dialog of my decisions between my present self to future self AND TO MY KIDS. 


Wednesday, May 22, 2013

DIY Project - Dishwasher detergent tray replacement.

I like DIY projects. You show the wifey that you can be handy, save money, and help out around the house. You have good reasons to watch youtube videos, go shopping at Amazon and Home Depot and even do a little blogging. The downside risk is that if you mess up then you'll have to call the appliance repair guy anyways. You might be out a few extra buck if you got the wrong part and can't return it. However, chance are, most appliance are designed for easy part replacement and repair so do a bit of internet research and try it. It might be fun. 

This one is super easy. 
- 30 minutes of research and ordering the replacement part. 
- 5 days waiting for the part to arrive.
- 30 minutes to replace the part

Watch these two youtube videos. 
2) Generic guide for detergent tray replacement 
3) Order the replacement part

Everything worked as shown by the video guide. I added some detailed photos to show steps not covered by the video and specifically for the KitchenAide dishwasher.

The replacement is not exactly the same. It's slightly bigger and bulkier.


You only need 2 tools for the project. You'll need to remove 12 security screws to open the front panel. You can buy a good security bit set in any hardware store. One simple advice. put the screws down in the relative position where it was removed from the panel. It helps to remember how to put the screws back on correctly. 

Lift and open the front face of the dishwasher slowly. Disconnect any additional connectors before removing the panel completely. 

Disconnect the power connector from the tray. No tools or large force necessary. There is a flap and a notch in the back of the connector that holds the connector in place. Simply lift the flap and connector pulls out easily. 


Remove the 6 screws on the mounting plate that secures the detergent tray to the  front door.  Note  how the water protection flap is secured to the mounting plate and the tray. 


Finally, replace the tray, secure the mounting plate with the water protection flap, and put everything back together again. Here is the final result, there is a tiny gap between the door because I didn't use original part. 


Time will spend. Dishwasher is working well again, and wifey is happy.