提問的智慧
篇文講點係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
- Deductive reasoning try to model the real world by observation
- 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.
- Completely involved in what you are doing
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
- Productive enough if you meet the expectation.
- 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
- You need to
【投稿】離職前一定要做的七件事,全部做到你就能勇敢離開尋找新出路
Just a todo list
- 交接工作
- 勞健保、休假兌換、公司欠款釐清
- 釐清與公司的財務狀況
- 還野,claim錢
- 拒絕簽署不合理文件
- 但若有公司要求簽署「不可向公司索取應得的款項」或「不可散播對公司、股東或董事不利之言論」等比較不合理的項目,都可以直接跟公司提出來,或表達不願簽署等
- 好好道別