How to convince a software engineer

Somehow, the software developers I’ve met were very difficult to convince. Even as simple as using tabs in code for readability. I, at times, were difficult, too.

I found a script one day. It worked most of the time, if not every time.

I asked engineers to have the product send out email notifications when the product runs into an issue. As usual, they passively refused to do so. One day, at 6 pm, I found R sitting in his cube. I asked “R, shouldn’t you go home now?” He told me he was waiting for a long-running ETL script to finish. He needed to babysit the script so that if there were any errors, he could take care of it as soon as possible. I said that you should implement the email notification so that you can go home and only hop on then computer only if you got an alert.

They key is to tie the desired behavior to their benefits. Since then, I have been using the same trick.

If one is going to have a long vacation, I would ask him/her to document things like how to support the product, troubleshooting steps, etc. so that I don’t have to call him/her to be log in to fix the issue while on vacation.

 284 total views

Developer Metrics

Sports have a lot of numbers to gauge how good a player is. In baseball, there are batting average, ERA, etc. I had been wondering about software developer metrics. We can judge how good a developer is by reviewing his code, but that is very subjective. I’d like to have metrics that show how a good developer brings values to the company.

When I got my second management position, I got my chance to try to develop and implement the metric. Luckily, I also go have a great project manager to work with. He helped collect and report the numbers.

Here are the metrics:

Net Daily Burn: This is the typical velocity in Agile per developer/working days. In a typical iteration, NDB is burned/days in an iteration. However, people can get sick or take vacation. We changed it working days. So this metric tells me how much work the developer can burn per working day.

A higher ADB tells me the developer is good. It could be that the developer works hard(long hours) or is very smart and efficient. For example, if the task is to time how long all data access methods take, instead of writing system.out.println in every data access method, he/she uses AOP.

Average Daily Burn: This is ADB + other dev tasks that are not considered when the estimates were made. Our typical ‘other dev tasks’ are extra time to deal with build issues, unit testing, etc.

 426 total views

幫小孩出一半大學學費

GG大概6-7歲的時候, 有一天帶GG到Michaels(美國賣藝術用品的賣場)買藝術用品, 她很高興的拿了滿手的東西要結帳, 我一看, 有些並不是真的那麼必要, 不想浪費錢,但又不想澆她冷水, 突然想到一個辦法.

我: 這麼多, 妳都要買嗎?

GG: 是.

我: 這樣好不好,我幫妳出一半的錢。

GG想了一下,她把大部分的東西拿回去放,只要一個手寫板(boogie board). 我想她是真的很想要那手寫板,因為那要花她$20.

從那時開始,很多時候,必要品,像是吃的,穿的,我們全出, 其他我們都出一半,因為這會讓她們在買東西之前,想想那東西是不是真的那麼必要。慢慢地, 我們發展出一個SOP. 只要是”need”的, 就是必需品, 我們全出, “want”的是可有可無的, 我們只出一半.

這, 當然包括很貴的美國大學學費。

大學學費是need, 還是want? 唸大學是need, 但唸很貴的大學是want, 這是我個人的看法.

美國大學學費,四年下來,可以燒掉半間房子。我們的半個以上的房子, 還在貸款,退修金還沒存夠, 怎麼可能幫她們付全部的學費,於是又想到付一半學費的想法. 但大部分華人都會幫小孩付學費,連有些美國人也會幫小孩付學費,假如我們只願意幫她們付一半學費,會不會太殘忍?有二個故事讓我決定也這麼幹。

故事一是從Love Language這本書,一個西方父母把子孩送到大學,幫他付學費,有一天,那小孩決定輟學,他父母問他為什不唸完大學,他說大學是他們要他唸的, 他並不想唸。另外一個故事是,一個在台灣的媽媽把她幫小孩付的學費當貸款,要她孩子以後賺錢, 要還媽媽的錢.

想到這二個故事,我還是說了.

我:大學學費,我們真的沒有辦法幫你付全部,那是我們的退休金,我幫妳出一半,其他妳要想辦法,像去跟銀行借。Eventually, 我們會幫妳付全部的學費, 因為等我們死了,剩下的錢妳可以拿去付學費的貸款.

這麼做,有個意外的收穫: 她們開始想大學想什麼。

GG原本想唸藝術,對比較熱門的,像醫,computer science沒什麼興趣。她不只對藝術有興趣, 也有自己的設計的小公司, 曾經幫幾個客人設計logo, 還有一個客人來自新加坡, 賺了一些錢, 但這個夏天(2022),她拿到行銷的實習生,幫忙做設計. 她發現時薪不高. 她開始想想其他的選項, 像science 或computer science.

 301 total views

閒聊 寒暄 英文

small talk. 通常是社交場合中的閒聊. 談一些無關痛癢, 又可以讓場合愉悅的話題. 雖然是small, 但不少人不知道怎麼small talk. 我有一本100 small talk話題的書, 我太太還笑, 要怎麼講話, 還要看書.

10個small talk的ideas

  1. pets
  2. home town
  3. books
  4. sports
  5. movies
  6. music
  7. current events
  8. the weekend
  9. the weather
  10. foods
  11. hobbies

 331 total views,  1 views today