Career Path

Front end software engineer

  • More chance to train soft skills
    • More communication with Product manager, UI/UX designer and customers
    • Can learn communication skills
    • Can build up product mind set
  • Keep screen shot or prototype on the features built
  • Good front end engineer have their own design
    • Good technical skills
      • Don’t only focus on skills, also how to create good product
    • Can design product with good UI/UX
    • Design product which is beautiful and feasible to build

Back end software engineer

  • Tech stack more mature
    • A lot of open source work available
  • Need a lot of work on studying complex tools
  • Engineer usually focus on a small scope, because backend is complex
    • Not a very good singal for long term

Full stack vs specialist

  • Full-stack
    • Cover more topics, event non technical
      • Backend
        • Business logic
        • API design
      • DevOps
        • Automation
        • Cloud Service
      • Web frontend
      • Android/iOS App
      • UI/UX design
      • Requirement collection
      • Project management
    • Work in small company allow you to get experience on different topic
    • Easy to find job / change field
  • Specialist
    • Focus on a few topic or specific area
      • Large scale
      • Business domain knowledge
    • Big company have resources to let you drill deeper in a topic
    • More difficult to find job

Engineer with sense of data

  • Understand domain knowledge and product
    • Design the system for data in mind
      • Understand what need to be collect
      • Know how to collect data
      • Know what kind of report need to be generate
  • Design data infrastructure base on the report need to be generate
    • Real time analysis vs Batch processing
    • Data volumn vs Database / Data analytic framework
  • Roles of non-data engineers
    • Implement tracking correctly and accurately

Interview

Usually have 3 rounds of interview for engineers

Round zero

  • If apply job through agents, they will call you before contact companies
  • Similar to first round interview
  • Agent will tell you what companies are hiring, but the job description don’t have much detail
    • Should ask the interviewer in first round
  • Agent usually ask your current salary and expected salary

First round

  • Phone interview / On site short chat
    1. Self introduction
      • What did you do in current job?
      • Why do you want to leave?
      • What do you expect in next job?
      • Expected salary
    2. Company introduction
      • Introduce the business of the company
      • What kind of people they looking for
      • The duty of the position
  • Ask interviewer how long does the whole process takes
    • How many rounds?
    • Will there be code test?
    • Easier to schedule multiple job application
  • Should stop here if not interest in the position

Second round

  • Take home code test
  • Ask
    • Deadline
    • How long does it takes
    • What is the requirement

Third round

  • Usually it is the final round
  • Likely to give offer if you have the final round of interview
  • Give feedback on code test
    • Some reply in the email
  • Meet the team lead
  • Don’t give reply immediate, give yourself enough time to do Pros and Cons

How much quality can we afford?

Strive a balance between development speed and reusability.

Points

I only pick the points I think it is correct here.

  • The cost is development time
  • Good quality mean
    • Free of bugs
    • Few feature make for reusability
    • Maintainable
    • Knife through butter testing (Easy to test)
  • Minimal
    • No unuse feature
    • No half baked ideas
  • Reusable code take more cost
    • About 3 times more, it mean we have to use it 4 times to recover the cost
  • Lean and Agile does not mean low quality
  • Make defect prevention cheap by
    • Continuous integration
    • Virgin install
    • Test Driven Development
    • Acceptance Test Driven Development
    • Lightweight code-reviews
    • Pair programming
    • Static analysis tools

Read More

Skills for hackathon

Hackathon大約分兩種,一種係Slideshow presentation比賽,另一種係Mockup presentation比賽。

Slideshow presentation比賽

如果個Hackathon係少於24小時,咁多數係Slideshow presentation,因為冇咩可能夠時間build到一個prototype出黎。大部份嘅Hackathon都係多過24小時,但係香港係有D 24小時以內嘅slideshow比賽扮hackathon。

Mockup presentation比賽

除非比賽前一早諗好個idea,form好team,就算俾夠你48小時,都好難build到個prototype出黎。好多時都係build一個可以郁嘅mock up用黎做presentation。個Focus都係個product idea同UI/UX,個mock up大約show到個flow就得

相關嘅skills

  • 熟唔同嘅library,唔洗深入,demo到就得
  • 最好熟一D可以快速set up嘅framework, plug and play就得
  • Hardcode 所有野,千析唔好諗住整backend
    • 如果個idea係唔洗backend就更加好
  • UI/UX 要簡單易用,唔係pitch果時,單單講點用已經用左好多時間
  • 諗Idea唔好由technical嘅角度出發,Hackathon係product比賽,唔係programming比賽
    • 諗User有咩問題解決,之後諗點樣用3rd library/service去完成。

記事本圓夢計畫

E本書教你點樣用記事本去幫助完成夢想。入邊有D concept同GTD有D似,不過GTD集中係完成工作,而佢係集中講點堅持長期目標。

Chapter 1

點解用notebook可以幫助完成夢想?

  • 冇計劃完成唔到長期目標
    • 記低待辦事項 (類似GTD bucket)
  • 要時刻提醒自己個夢想,先容易堅持落去
    • 記低理想的自已
  • 手寫可以加強對夢想嘅情感同記憶

Read More

What is Internet of Things?

Internet of Things (IoT) is the new buzz word. I know it is simply connect digital device to Internet. Sounds simple, but after reading a few articles, IoT can bring big changes to our future life.

What does IoT bring us?

  • Easier for data collection
  • Can control everything by APIs
  • Easier for automation

Read More

當我們一起跳海

E本小說講有一班人組織左一個團隊去集體跳海自殺。係尋找跳海地點嘅旅程當中,佢地唔少人走出左困境,更同自殺伙伴萌生左友誼,最後反而唔想死。而一個懷疑自殺團隊實際上係恐怖組織嘅探長,反而因為過度工作而死,真係諷刺。其實真正想自殺嘅人應該係最輕鬆,無論咩風險都唔怕,好有行動,反而闖出一番新天地,活得更精彩。最後quote一句係第一章出現嘅芬蘭民間格言:「生命中最嚴重的是死亡,但說到底也不算太嚴重。」