簡評二十七

提問的智慧

篇文講點係hacker community問問題,䓢中風格係一針見血,保持禮貌,同埋問左蠢問題預左(要習慣)被人串。
當中比較特別嘅point:

  • 描述問題症狀而非猜測
    • 告訴黑客們你認為問題是怎樣造成的並沒什麼幫助。(如果你的推斷如此有效,還用向別人求助嗎?)
  • 描述目標而不是過程
    • 如果你想弄清楚如何做某事(而不是報告一個Bug),在開頭就描述你的目標,然後才陳述重現你所卡住的特定步驟。

How do source maps work?

E篇文講左source map點運作,包括file structure,VLQ encoding,點interpret source map。最後仲解釋左debugger點解set唔到break point係某幾行minify左嘅code。

職場搶救句點大作戰:跟主管聊天的三大妙招,讓對話毫不冷場!

  • 當人地無端端提到同E家話題唔關事嘅野,代表對方想講果個話題
  • 如果人地講緊嘅話題你唔識都唔緊要,最緊要係表現出熱情
  • 等人地將佢想講嘅野講完,之後先問你想知嘅野
  • 每次搞烏龍,記得最後一定要讓你的苦主「物超所值」
    • 唔好怕俾人佔便宜

On Abstraction - Zach Tellman

A very nice talk on high level idea with interesting real world example. But there is no code, it is pretty abstract. I like the clock story of John Harrison, which explain the importance of context of a system.

  • “Experience and good taste” is not a good answer
    • We have to make the standard and judgement objective and measurable
  • Abstraction & Invariant & Assumption
    • Abstractions maps the internal model onto external semantics
    • Invariant constrain the internal model
      • limit / simplify the model
    • Assumption
      • Models (implicitly) assume everything they omitted are either constant or irrelevant
      • We can consider invariant is an assumption always true
      • If assumptions fail together, they belong together
  • The quality of system affected by the context (environment), which may make assumptions we made invalid.
  • Deductive reasoning vs inductive reasoning
    • Deductive reasoning try to model the real world by observation
      • High cost and brittle in software world
    • Inductive reasoning use model to draw analogies between different parts of the environment
      • Most software relies on it
      • The analogies is the abstraction, where we ignore some details in analogies
      • We need inductive reasoning because we cannot have perfect internal models in software engineering
        • Change is the only constant
      • It is not perfect, but we only need to success often enough
  • When assumption does not works
    • We can set up conventions
    • Conventions limit use cases, make the flawed system can be used in most situations
  • Over-engineer & Under-engineer
    • Over-engineer = the model makes too few assumption, the system could have the same effect with less effort
    • Under-engineer = the model ignore too much
      • We can make our model larger
      • Replace our model
      • Narrow our intended use case
  • Principled system
    • Hieracrchies
    • Brittle
    • Predictable
    • Difficult to make changes
  • Adaptable system
    • No rules and pattern
    • Flexible
    • Unpredictable
    • Redundent
  • We can layer principle and adaptable system
    • Adaptable components in principled framework
    • Principled components in adaptable framework
  • Complex adaptive system
    • Principled components in adaptable framework
    • Adaptable framework reduce the changes in environment
    • We can update and replace the component easily
    • If components are too small
      • Need to write ots of adaptable glue code
    • If components are too large
      • Increase the cost to replace code
  • Components
    • Principled components are smaller, faster and can be understood incrementally
    • Use principled components where possible
    • Use adaptable components where necessary

如何從一般水平的工程師轉變為10倍影響力的工程師

  • 技術能力 != 影響力
    • 團隊能力遠大於個人技術能力
  • Focus如何解決用戶問題,而唔單係技術問題
  • 精通讓你的影響力複合成長的技能
    • 找到比較便宜的方法來驗證假設
    • 完成並出貨你可交付的成果
      • 真係有deliver出黎嘅code
    • 深入了解你所從事的業務領域
      • 與你的用戶(購買者、使用者、業務部門、銷售團隊或內部團隊)溝通
      • 用更好更有效嘅方法去解決問題
    • prioritize 高槓桿工作
    • 做你擅長嘅野
    • 成為更好的溝通者
      • 確保訊息可靠和無摩擦的溝通渠道
    • 轉到具有較強工程文化的公司或團隊

如何知道是該辭職的時候了?

  • 不公正的報酬
  • 受到不好的對待,低估或是不受尊重
  • 與你的經理和同事無法共事
  • 不能適應公司文化
  • 不同意公司的基本策略或實踐並且以目前的職位無法改變它們
    • 無謂浪費時間,揾個適合嘅地放成長好過
  • 當你發現你在一個工作上的學習逐漸減少到達高原停滯狀態,也該考慮離開

以下無需重讀

【你住哪裡?】心理師:你住的地方,已經悄悄透露你的個性

  • 地域心理學
    • 我們所處的空間狀態,地域、社區或是城市樣貌,如何影響著我們的心理現象,包含情緒、決策、思維與行為(人格或個性)
      • 風俗民情影響
      • 氣候或是自然環境影響
      • 區域中人與人的互動

Flow, the secret to happiness

  • Money cannot make us happy
  • Looks to those who find pleasure and lasting satisfaction in activities that bring about a state of flow.
  • What is flow?
    • Nervous system is unable to process more than approximately 110bits of information per second
    • When focus on a task that is difficult enough
      • we cannot feel anything other than what we are doing
  • How does it feel to be in flow?
    • Completely involved in what you are doing
      • focused, concentrated
    • A sense of ecstasy
      • of being outside everyday reality,
    • Greater inner clarity
      • knowing what needs to be done and how well we are doing,
    • Knowing that the activity is doable
      • that our skills are adequate to the task,
    • A sense of serenity
      • no worries about oneself and a feeling of growing beyond the boundaries of the ego,
    • Timelessness
      • thoroughly focused on the present, hours seem to pass by in minutes, and
    • Intrinsic motivation
      • whatever produces flow becomes its own reward.

Are You Productive Enough?

  • This article raise 3 questions for you to review your productivity
  • Productive: “Achieving or producing a significant amount of result.”
  • Enough: “As much or as many as required.”
  • Q1: Am I meeting expectations?
    • Productive enough if you meet the expectation.
      • What if the expectation keep changing?
    • If no, go to next question
  • Q2: Are these expectations my own, and not required by others?
    • Having high expectation on yourself is ok
    • But don’t need to push too hard on yourself
      • Cannot meet high standard does not mean you are not productive enough
    • If no, go to next question
  • Q3: Am I owning my time management and using productivity resources?
    • You need to
      • manage your time
      • set boundaries
      • be focus
    • Make sure of productivity tools to achieve efficiency
    • If you do these and still cannot make the target, you are productive enough
      • negotiating expectations

【投稿】離職前一定要做的七件事,全部做到你就能勇敢離開尋找新出路

Just a todo list

  • 交接工作
  • 勞健保、休假兌換、公司欠款釐清
  • 釐清與公司的財務狀況
    • 還野,claim錢
  • 拒絕簽署不合理文件
    • 但若有公司要求簽署「不可向公司索取應得的款項」或「不可散播對公司、股東或董事不利之言論」等比較不合理的項目,都可以直接跟公司提出來,或表達不願簽署等
  • 好好道別