Tuesday, September 15, 2015

Elon Musk

So attracting the book that I don't have time to stop and write note.

"It's almost a binary experience for him. Either you're trying to make something spectacular with no compromise or you're not. And if you're not, Must considers you a failure."

"Elon came to the conclusion early in his career that life is short. If you really embrace this, it leaves you with the obvious conclusion that you should be working as hard as you can."

Tuesday, August 4, 2015

Team Geek

- p.7 bus factor: 
- p.9 interrupt protocol: 
- p.14 The moral is this: do not underestimate the power of playing the social game. It's not about tricking or manipulating people; it's about creating relationships to get things done, and relationships always outlast projects.
- p.17 your self-worth shouldn't be connected to the code you write. To repeat ourselves: you are not your code. Say that over and over. you are not your code.

- p.18 Failure is viewed as a golden opportunity to learn and improve for the next go-around. 
- p.19 "not hiding in the cave until it's perfect" 
       The key to learning from your mistakes is to document your failures. Write up "postmortems,' as they're often called in our business. (what was learned and what is going to change) 
       Don't erase your tracks, light them up like a runway for those who follow you! A good postmortem should include the following: A brief summary, timeline of event, primary cause, impact and damage assessment, a set of action items to fix the problem immediately, a set of action items to prevent the event from happening again, lesson learned.
- p.47 Comments should be focused on why the code is doing what it's doing, not what the code is doing.

Tuesday, June 2, 2015

How google works

"給認真努力的員工更好的待遇" 這樣的觀念一直是矽谷傳統。
原來在1960年代的時候,Bill Hewlett 和 David Packard就已經開始了,他們在Santa Cruz的山上買了一塊地,將其建造為Little Basin,是一個專為員工及員工的家人度假的地方。(Today it is a part of Big Basin Redwood state park)
他們也比Google早十年就請來了廚師免費招待餐點給員工和客戶了。



"schedule interviews for thirty minutes", 因為大部份的面試結果都是no-hire,所以Google認為不需要花超過三十分鐘來面試,如果真的相談甚歡,在安排下一次的面試也不會麻煩。於是如何在三十分鐘內讓面試討論的內容有意義才是關鍵。在早期,Google甚至對一位面試者面了三十次而且還無法做出決定!在做了些分析後他們發現,Decision accuracy在第四次面試後(85%)很快的下降,多一次的面試只增加不到1%的準確率,最後他們決定把面試次數上線改為五次,另一方面五是個質數(笑)。

Technical insight:
"To start with a solution to a narrow problem and look for ways to broaden it's scope"

"Disproportionate rewards"
就像職業棒球員一樣,明星球員的薪水可以到數百萬美元,而板凳球員就只有幾萬。"What's most important in the internet century is product excellence, so it follows that big rewards should be given to the people who are closest to great products and innovations, Pay outrageously good people outrageously well, regardless of their title or tenure. What counts is their impact"

"Plan your career"
    Here are some simple steps to creating a plan: 想想你的理想工作是什麼?不是現在而是五年之後的那份理想工作。你會想在哪裡上班?這份工作的內容是什麼?這份工作帶給你的薪水是多少? (where do you want to be? what do you want to do? how much do you want to make?)
把符合這份工作所需要的條件寫下來,就像是如果你在徵才網站上看到這份工作,上面寫的會是什麼?

    現在快轉五年,你真的得到這份工作了,你的履歷長什麼樣子,你是怎麼樣做的才可以讓你從五年前的狀況到達現在這裡? Keep thinking about that ideal job, and assess your strengths and weaknesses in light of it. How will you get there?  What training do you need? What work experience?


"Statistics is the new plastics"
Data is the sword of the twenty-first century, those who wild it well, the samurai. So start sharpening that blade, uruwashii, and take statistics.

"Know your elevator pitch"
    you pitch should explain what you are working on, the technical insight that 's driving it, how you are measuring your success(particularly, customer benefits), and perhaps how it fits into the big picture. Say it with conviction!
    Job seekers should also have an elevator pitch. This shouldn't be a condensed version of your resume, but should rather highlight its most interesting parts along with what you want to do and the packt you know you will have


Decision 和 Communication的章節像是與CEO比較相關,站在過來人的立場,給了許多當經理人的建議。Eric believes in the three-week rule: When you start a new position, for the first three weeks don't do anything. Listen to people, understand their issues and priorities, get to know and care about them, and ear their thrust. So in fact, you are doing something: You are establishing a healthy relationship.


"Innovation"
這章就很有趣,其中提到了Google[x]如何決定是否去執行一個idea:
1. 這個想法必須是能解決一個極具挑戰性的問題,一個可以影響幾億人的的機會。
2. 這個解決的辦法要和過去或已有的市場有著根本性的不同,不是要去改善現有的產品,而是start over。
3. 這個想法不是一個遙不可及的異想,是能在未來的幾年內能夠達成的,
Project Loon就滿足了這三個條件。
Before there can be innovation, there needs to be the proper context for innovation. This is usually found in markets that are growing quickly and full of competition (lots of companies are working on automated cards; most of them are actually car companies!) Don't look for empty space and then be lonely; it is much better to use an innovative approach to become a  player in a space that is or will be large. This may seems counterintuitive, since many entrepreneurs dream of entering "greenfield" markets that are brand new and have no competition. But usually there's a reason the market is empty: It's not big enough to sustain a growing venture.

To us, innovation entails both the production and implementation of novel and useful ideas. Since "novel" is often just a fancy synonym for "new," we should also clarify that for something to be innovative it needs to offer new functionality, but it also has to be surprising. If your customers are asking for it, you aren't being innovative when you give them what they want; you are just being responsive. That's a good thing, but it's not innovative. Finally, "useful" is rather underwhelming adjective to describe that innovation hottie, so let's add an adverb and make it radically useful. Voila:
For something to be innovative it needs to be new, surprising, and radically useful.
像是Google的Self-driving car.


"Derek Sivers: How to Start a Movement" https://www.ted.com/talks/derek_sivers_how_to_start_a_movement
First follower principle, 當你要開始一件活動,吸引第一個跟隨者是最重要的事。
"The first follower is what transform a lone nut into a leader...
If you really care about starting a movement, have the courage to follow and show others how to follow. and when you find lone nut doing something great, have the guts to stand up and join in!"

"1999 John Doerr, simple tool, think big, OKR"
一個目標必須是可以用輕易地用數字衡量是否達成了
例如:increase usage of feature by x percent, run a half marathon in under two hours, new WW systems serving significant traffic for XX large services with latency <YY microseconds
一個好的目標是有點超乎自己可達成範圍之後一點點所能夠完成的(stretch)


"Ship and Iterate"

"It's not about money"
那些成功的,鼎鼎有名的20% project,在Google裡是沒有錢可以拿的。原因很簡單:做這份任務中得到的成就感就是酬勞。"We don't provide any monetary incentive for 20 percent projects for the simple reason that we don't need to: The rewards comes from the work it self."
另外研究也指出外在的獎勵並不會刺激創意的發展,而且還有可能阻礙,把一份可以收穫很多的任務變成了只是為了賺外快的差事。



Tuesday, April 21, 2015

The Effective Engineer

最近發現這本Effective Engineer,一開始還以為是Effective C++系列的書,原來是現任於Quip的工程師寫的,內容應該是關於如何有效的選擇出最有影響力的工作任務來做,來提升自己。正好是我喜歡看的內容。二話不說就馬上買來看了

To be effective engineers, we need to be able to identify which activities produce more impact with smaller time investments. Not all work is created equal. Not all efforts, however well-intentioned, translate into impact.

第一章提到的這個點正是最近常想的事情,時間老是不夠用,但有許多事情是要花時間才的做完的,像是想要加入一間頂尖的公司,那得先花時間準備面試不是嗎?想要完美的呈現魔術表演,那得先花時間準備把戲,想瘦身也得花時間去運動。這麼多事情,加上每天吃飯洗澡睡覺開車瑣碎的小事,每一件都花一點時間,如果什麼都不想,日子就會一點一滴地流走,結果一點效果也沒有看到。所以如何挑出最有影響力的事情,然後用最少的時間去完成,才是聰明人的方法,work smart instead of work hard,以前附中的會讀又會玩的最高指導原則好像也有類似的精神喲。


overall leverage can only be increased in three way:
1. How can I complete this activity in a shorter amount of time?
2. How can I increase the value produced by this activity?
3. Is there something else that I could spend my time on that would produce more value?


"Dedicate Time on the job to develop new skills"

上班日總是覺得工作越來越多做不完,Task list上要做的事情一直增加,覺得自己跟不上進度嗎?
或許拿Google著名的20%時間是最好的例子,20%的時間相當於一個工程師每個禮拜中撥出一天來做side project來讓公司變得更好,對應到個人上面也一樣,我們也應該撥出時間來讓自己工作更有效率,與其花一整天八個小時,更建議大家每天花一到兩個小時來練習,這是為了培養出一個習慣。至於要練習什麼?  Edmond提供了十點建議:

1. Study code for core abstractions written by the best engineers at your company.
2. Write more code. [註1] 這點又再次被強調,看來達人們的建議都指向同一方向 :)
3. Go through any technical, educational material available internally.
4. Master the programming languages that you use. [註2] 正在練習中
5. Send your code reviews to the harshest critics.
6. Enroll in classes on areas where you want to improve.
7. Participate in design discussions of projects you're interested in.
8. Work on a diversity of projects [註3]
9. Make sure you're on a team with at least a few senior engineers whom you can learn from.
10. Jump fearlessly into code you don't know.

[註1] It's easy to think you understand something you've read, only to find large knowledge gaps when you actually set out to do it.
這句話我在同意也不過了,越聰明的人,領悟力可能也很好,看解答後好像一下就會了的樣子,但過兩天等短期記憶消失後還能夠在順利的寫出答案來嗎? 恐怕很難吧。
[註2] Make sure that at least one of your languages is a scripting language (e.g. Python or Ruby) that you can use as your Swiss army knife for quick tasks.
[註3] Interleaved practice of different skills is more effective than repeated, massed practice of a single skill at preparing people to tackle unfamiliar problems.


工作以外的時間呢?
- Invest in skills that are in high demand [註4]
- Read books  作者本人一個星期可以看完一到兩本書!
- Join a discussion group (e.g. book club, reading group)  
- Attend talks, conferences, and meetups [註5]
- Build and maintain a strong network of relationships. [註6]
- Write to teach [註7]
- Tinker on side projects, pursue what you love

[註4] 手機上的上網人口增加,手機銷售數量超過PC,當這些趨勢繼續,要是能具有mobile     development的技術說不定就能有更 多的機會。
[註5] 在十八世紀,一位叫做Benjamin Franklin的政治家和發明家組織了一個稱為"club of mutual improvement"的聚會,在每週五的晚上一群朋友們聚在一起,積極的討論著道德政治哲學,讓每個組員有系統地強化他們的能力。
[註6] "Lucky people dramatically increase the possibility of a lucky chance encounter by meeting a large number of people in their daily lives. The more people they meet, the greater opportunity they have of running into someone who could have a positive effect on their lives." The luck factor, Richard wiseman
[註7] "Writing also provides an opportunity for mindful reflection on what you've learned." Physics Nobel Prize winner Richard Feynman 這點也再次被許多成功人士分享,當我們將所學的知識寫下來時,會幫助自己在已知的地方有更深入的了解,原本不懂的地方也能pinpoint出那些不了解的細節與觀念,哪個是自己還沒了解的,這些事不寫下來是不會發現的!


Saturday, March 21, 2015

onward - Howard Schultz

Starbucks CEO寫的書,一直想要開一家自己的咖啡廳,打造一個舒服的環境讓宅宅們可以打電腦(笑)
如果真的有這個機會跟資本,那我這家cafe一定是明亮採光好,每個座位都是靠窗,中間是barista工作的地方,可以環顧四周的人客,每一杯咖啡都是花時間做出來的或是上面有著漂亮拉花圖案。因為自己希望處在空間感寬敞的地方,所以屋頂一定要挑高。店內不能有吃的味道,一定要充滿咖啡香,這點在Howard的書裡一樣,他覺得Starbucks提供的三明治(breakfast sandwitch)是個糟糕的決定,因為三明治裡面的起司加熱後有股討人厭的味道(that pungent smell he refered),完全破壞了店裡原有的咖啡香(rich, hearty coffee aroma),嚴重影響星巴克的核心價值-- coffee 。會這麼同意,大概也是我也對味道非常敏銳吧。

要像星巴克一樣開這麼多分店絕對是個挑戰,Howard說每兩年一次公司會舉辦長達一週的度假會議,讓所有店長,district manager,regional manager,還有international manager聚集在一起,賦予他們使命感,不只讓每家店要有profit,更重要的是每間店帶給那個區域的人們 people connection。

喜歡的幾段話其中之一是在Howard決定在某天讓全美的星巴克關門一天,重新訓練員工pour espresson的技術時提到的:

  There are moments in our live when we summon the courage to make choices that go against reason, against common sense and the wise counsel to people we trust. But we lean forward nonetheless because, despite all risk and rational argument, we believe that the path we choosing is the right and best thing to do. We refuse to e bystanders, even if we don not know exactly where our actions will lead.

  This is the kind of passionate conviction that sparks romances, wins battles, and drives people to pursue dreams others wouldn't dare. Belief in ourselves and in what is right catapults us over hurdles, and our lives unfold.

  "Life is a sum of all your choices," wrote Albert Camus. Large of small, our actions forge our futures, hopefully inspiring others along the way.


Onward-Starbucks-Fought-without-Losing-ebook