MF99 coding 💻

keep learning; keep coding;

智慧音箱 OS 設計

前言

2015 年,Amazon Echo 讓世人展現了 Smart Speaker 的威力, 2016 年 Google 也推出了自己的 Google Home 系列,頂著 IoT Smart Hub 的光環以及利用藍牙音箱這個已知需求為載體,智慧音箱一躍成為當紅炸子雞。

在這個背景下,當時作為專注於提供兒童/父母數位產品的公司,也決定製作一款面對新世代新手爸媽與學齡前兒童的智慧音箱產品。

f:id:mouseface99:20200707103802j:plain

不過,這個產品一做就是兩年(雖然最後因為隱私問題,首批量產了但是最終沒有上市.....),而且由於多種商業因素,這個產品的軟體部分在公司內部翻掉重做了至少 3~4次。 不過也因為如此,每一次重做時,我們技術團隊都能夠記取過去的教訓,一次次的完善這個產品的設計與架構。

這裡就來分享一下,我們當年大改小改不知道多少次之後最終的設計概念與架構。 雖然不一定就真的是 Amazon 或是 Google 音箱內的設計(至少他們應該不會用肥大的 Android OS),但至少也給想開發音箱,或是類似平台的團隊一點參考方向。

Read more

Leadership Journey - training notes

f:id:mouseface99:20200606184454j:plain

最近剛好在整理過去的筆記時,看到了當初一次公司針對主管階級的內訓課程時做的筆記。 當時也覺得很受用,所以也在這裡分享一下當初的筆記,以及這幾年實際擔任團隊主管後的一些綜合經驗

首先,身為一個 Manager,主要的任務分為三個面向:

Manage Self

  • Self awareness
  • Setting expectations
  • Goal setting

Manage People

  • Delegation
  • Managing performance
  • Coaching for development

Manage Team

  • Teamwork & Leadership
  • High performance team
  • Create a positive and motivational environment

管理自己,管理人,管理團隊。

某種程度也可以對照我之前分享的工作經驗分享:Manager 的部分。 (裡面的英文其實表達的很傳神,我就不特別硬做翻譯了)

最後,列出一個 Manager vs Leader 的特質對照

Manager Leader
Focus on Things Focus on People
Do things right Do right things
Plan Inspire
Organize Influence
Direct Motivate
Control Build
Follow the rule Shape entities

一開始看到這個,其實很容易理解為不要當左邊,要往右邊看齊。

但是其實實際上,身為一個主管,同時兼任著「管理者」與「領導者」雙重身分。

在很多時候,需要針對兩種不同身份的立場下去考慮,做決策。

雖然「領導者」的特質看起來比較能鼓舞/激發人心,但是實際上在社會中,或是在公司體制內,很多時候還是需要有一些制度跟管理方法。

除非是很新的新創團隊,大家求的就是快/效率,但是當團隊成長到一定程度的時候,還是需要有一些方法來有效的「管理團隊」,這樣才是長期能夠走得遠的基礎。

ME-App:我的履歷 App

終於能來寫這篇了~

最近在工作轉換期的空擋。之前自己一直很想寫一些東西,一來當作個人作品,二來也可以練習一些之前一直想玩,但是工作上沒用到的一些東西。

所以最近剛好有時間了,就來安排一下~

Play Store 已上架完成

play.google.com

要做一個 App,首先就要有個方向。 主要有兩個思考方向:

  1. 想要呈現什麼內容?
  2. 想用什麼技術元件?

內容部分,其實之前有過很多想法,工具類、遊戲類、社群類。 但是由於沒有太多資源可以利用,最後決定就做一個個人履歷的內容。

計劃階段

簡單明瞭,一來從技術面可以練習一些技術框架跟工具,二來從內容面也可以比較有彈性的呈現一般履歷無法呈現的效果。 而且內容都是自己的經歷,所以內容產出與整理都可以自己完成。

確定方向之後,再來就是 Brainstorming 來確認一下大概這個 app 的 scope 要多大

f:id:mouseface99:20200605102643j:plain

Read more

MVVM 經驗分享

關於 MVVM 的基本概念,可以回顧一下上一篇

mouseface99.hatenablog.com

這篇直接就我之前工作上的一個實際案例,分享一下我們當初使用 MVVM 建構這個產品的一些經驗

簡單介紹一下我們這個產品:

基本上是一個體育向的新聞+社群平台,平台中提供許多體育賽事的資訊、比數,以及相關的球隊/球員新聞報導。 另外也提供用戶在平台中相互討論、互動。

大致的介面大概像這樣

f:id:mouseface99:20200524225103p:plain

Read more

MVVM 概念篇

f:id:mouseface99:20200524154324p:plain

當一個應用開發的越來越大,越來越複雜的時候

除了開發團隊人員會越來越多之外,開發新功能,修正 Bug 的複雜度通常也是呈現指數成長

如何在產品持續營運/擴張的情況下,讓產品本身的代碼有著高度的可讀性,可維護性。

這時候第一步,通常就會搬出祖傳的 MVC 架構(或是後續變形的 MVP / MVVM / VIPER 等)

這篇會簡單介紹一下 MVC/MVVM 的概念,以及它帶來的好處以及影響,最後會帶到這套架構在 Android App 中的樣貌

但是具體的實作經驗,則會有另外一篇來介紹。

另外這篇不會提太多 MVC / MVP / MVVM / VIPER 的差異或是比較

Read more

面試:應徵者 vs 招募者

f:id:mouseface99:20200428224622p:plain

網路上其實找的到許許多多的面試技巧,面試撇步

不管是單獨針對招募者該注意的項目,也有應徵者該準備的東西。

但是我這裡想要針對「面試」的這個制度的一些想法

為什麼要面試? 到底應徵者與招募者花這麼多寶貴時間坐下來談到底要談什麼?

雙方想要,或是需要得到什麼樣的資訊來幫助自己做下一個階段的決策?

根據我這幾年不管是身為員工在應徵公司,或是身為部門主管在招募的時後的一些想法與經驗

Read more

工作經驗談:Manager

f:id:mouseface99:20200423223433p:plain

從 2014 年開始接手 Team manager 至今,接觸管理職也有 5~6 年左右了,中間也經歷過撰寫擴編計畫、招募/面試、團隊規劃、績效考核、團隊轉型以及縮編/裁員。

所以這邊也分享一下這幾年下來,擔任主管職的一些心得,也提供給想接觸,或是剛接手管理職的人一些參考。

團隊主管,不管是直接管人、管理多個團隊,甚至於管理整間公司,其實大致上概念是差不多的。

基本上分為兩個維度,四種管理面向

管理 對內 對外
管事 調節工作節奏
工作分配
上層/外部主管的時程管理
成果交付
管人 組織結構
成員成長規劃
接班機制
團隊考核
擴編/縮編管理
預算控制

這邊就照著這幾個面向,來具體聊一聊裡面的細節

Read more