Archive for the '經營兩三事' category

China Pa,臺北讓人放慢腳步的一隅

十二月 07 2014 Published by under 經營兩三事, 食記x校園x餐廳活動, 餐廳經營

 

現代人壓力大、被生活有時壓迫的真想找個地方躲一下,

或者應該說,暫時喘口氣,

抬頭看看,在那一層樓有紅色燈籠圍繞的窗邊,

紅的暖了心,燈光微熱,

在 China Pa 我們走進了另一個與眾不同的氛圍…

螢幕快照 2014-11-27 16.10.00

正面對著的是一幅以敦煌石窟壁畫中飛天為發想的牆面藝術,

China Pa 甫搬入京華城的11樓,

雖然在我們眼裡覺得所有裝潢、擺飾都皆已到位,

但挑剔的美學總監則笑笑地說

“還沒呢!我們還要再弄棵樹、還有地方讓客人們可以開心跳舞” ,

踏入的那一刻,確實有種時間錯亂的感覺,

而我們不禁要特別的說,

除了視覺的呈現,讓我們更留下印象的是那一股讓人瞬間放鬆安心的味道,

“是樟木”

將藝術、美學與享受五感生活 是 China Pa 想要傳遞給客人的訊息,

從泰國、西安、中國收集而來的藝術品,

甚至是擺放的坐臥菩薩,

都是希望客人能夠在這兒覺得心中能有一絲的平靜,

知足常樂,在這裡擁有放慢腳步的慵懶。

螢幕快照 2014-11-27 16.21.58

我們也疑問,既然想要營造放鬆的基調,

為何選擇秦始皇如此俱有衝突性的主題作為所有陳設的發想? 

“因為秦朝-有著故事性延伸最好的方式”

秦始皇對後代影響裡之大,

萬里長城、渠道、文字統一立法

店內的牆面用銅裝飾、兵馬俑擺飾、 紅色、紫色、金色 ,

屬於帝王的色調,隨處可見。

 螢幕快照 2014-11-27 16.43.04

我也想證明,誰說 Bar 的食物不好吃?!

深入了解後,才發現這裡以中華料理為主是台灣(酒家料理,客家菜與原住民料理)

例如砂鍋魚頭、台味魷魚螺肉蒜、花椰菜乾 還有主廚的手路菜西汁青芥明蝦球,

以台灣阿里山山葵現磨加上白汁,

特別根據時令搭配的水果,像是以奇異果或草莓佐菜,

帶點玩性的料理,似茶卻非茶的蓮花落

是相傳慈禧太后御用的養生御膳,

多種菌菇與白木耳及枸杞特熬湯頭、清新芬芳的紫蓮花,

讓吃飯多了一分樂趣,也正符合刻意要來訪的客人放慢步伐的精神。

螢幕快照 2014-11-27 16.45.32

 

後記 :

黃金泡菜的誕生,

那是一個在天氣寒冷落雨的際遇下,偶然在南庄初嚐阿婆的手工豆腐乳,

前後拜訪了半年才取得了這樣頗富台灣味的好食材,做成店裡的人氣商品。

我們以為只有人才要茅廬三顧,原來,在好的食材上亦是如此。

螢幕快照 2014-11-27 17.05.19

 

No responses yet

東南亞是即將起飛的大規模市場

十二月 06 2014 Published by under 創業故事, 經營兩三事

96-1

從馬來西亞起家的 GrabTaxi(類似 Uber 的手機叫車服務),

剛從日本 SoftBank 軟體銀行拿到破記錄的美金 $250 Million

折合台幣 75 億元的資金,來拓展它的服務到全亞洲。

上個禮拜印尼的 Tokopedia(印尼的掏寶 / eBay),

也拿到美金 $100 Million,台幣 30 億元的資金拓展市場

東南亞擁有 6 億人口,是一股快速成長中的經濟實力,

 

印尼,甚至可以說就是下一個中國經濟成長的複製地。

當各國的資金和 know-how 大量迅速的灌進這個大市場時,

當地的團隊會更加快速的成長和學習,並邁向一流。

以我的角度來看,我預估東南亞的網路服務會在兩年內超過台灣水準,

所以若台灣團隊現在也不積極的向東南亞去發展,

我們又會再一次失去先機,且邊緣化的更嚴重,

經濟實在很難找到下一個成長動能。

這也是為什麼 EZTABLE 義不容辭,

一定要在東南亞將這個服務根基紮深,

做一個跨國的服務品牌。

Alex Chen, Chief Executive Officer @ EZTABLE 2014.12.6

No responses yet

【可以有不一樣的選擇】如果你也有些厭倦餐廳不知不覺被觀光客給佔領了…

十一月 30 2014 Published by under 經營兩三事, 餐廳經營

tea 1

茶,

在咖啡橫行的世界裡,

不知為何的漸漸式微,

常聽許多人說,“走!我們去喝杯咖啡",

卻鮮少聽見,"我們等下去喝茶吧!"

tea 3 

金品茗茶,擁有 37 年歷史的台灣品牌,

深知“喝茶人要的東西”,不應是用了過度的包裝及行銷,

而弱化了喝茶這件事的本質,

 

但,什麼是喝茶人要的東西呢?

 

走進金品茶語 (為金品茗茶在金品茶樓頗受好評之後的第二個新品牌,

明亮舒適的用餐空間,和一般制式腦海裡那個泡老人茶的場所很不一樣,

tea6

“我們想要做的,是讓茶能更接近年輕人”

一邊向我們解說茶葉故事、傳承意義的 Terry 

對於金品的第二個品牌,如此堅定口吻的說著,

在店裡我們用最現代、茶包式的喝法,讓消費者品一杯好茶,

愛喝茶的人也許會疑惑?為什麼要用茶包?

但我們就是要告訴大家

" 泡茶是可以這麼簡單!"

 tea4

提到最近炒得沸沸揚揚的茶葉問題,

Terry 說,金品茗茶是首家推行誠實標示的茶葉廠商,

所有金品茗茶的茶葉產品皆清楚的標示茶葉來源、比例,

“這是不可避免也是未來趨勢”

商品應該要能夠標準化,並以評薦的模式、搭配品質控管,

再推給消費者才是。

 tea5

金品茶語還有一個讓大家對茶會顛覆想法的 idea,

熱騰騰的小籠包搭配上一杯清涼的玫瑰香蘋貴妃美人茶,

小籠包?出現在這看來西式的店鋪裝潢會不會有些衝突?

但若認真觀察,店裡裝潢巧思元素裡其實還有著中西合併的概念,

木頭窗花像是一幅畫,裡頭更融合了茶葉、茶壺、小籠包三種元素,

用套餐的方式將一般人認為有一點油膩的小籠包與酥餅,點上了清新的茶品,

 tea7

在金品茶語,

我們覺得可以待上一個下午,

點壺貼近生活的好茶、望向窗外蔥鬱的林森公園近在咫尺,

也許妳正想換個口味,品杯台灣在地清香甘醇的好茶,

冬天才剛有(冬季限定)的新茶飲,蛋奶茶酒,或許很適合妳初入門好茶的這個世界。

tea8

 

後記: 

我們談了很多茶葉,

“明年妳回來喝,一定還是一樣的”

足以看出金品茗茶對自家茶葉品質的驕傲,

而吃在口裡皮薄多汁的小籠包,

可是由鼎泰豐帶出的好手藝,

如果你跟我們一樣,

其實有些厭倦餐廳不知不覺慢慢被觀光客給霸佔了,

來這裡享受寧靜吧!

 

No responses yet

彡耕居食事所,一個 “拼了" 的創業精神

十一月 23 2014 Published by under 創業故事, 經營兩三事, 餐廳經營

星期一的下午,頂著烈日在市民大道遊走,

看著地圖走了半個小時還是找不到彡耕居的店面,

“就是這裡啊!奇怪了~" 努力睜開瞇成一條線的眼睛,

轉身一看,找到一家曖曖內含光的低調小店,

螢幕快照 2014-11-21 16.37.05

一旁還可看到茅草鋪成的牆面,鼓起勇氣推開大門,

迎接我們的是像家一樣溫暖的日式居酒屋,

木質的裝潢、昏黃的燈光都給人很熟悉很自在的感覺。

 

創業念頭的萌發

“只要能夠堅持,有著不怕死的信念,就能夠找到目標”

James ,結婚後由於需要多一點時間陪伴家人,

希望能有一份晚上工作、早上陪家人的職業,

Jackal,由於本身喜歡居酒屋放鬆的氛圍,

這樣簡單的興趣揭開了整個故事的序幕…

史迪奇, 一個想當作家、畫家甚至是流浪漢的藝術家,

一肩擔起「彡耕居」廚師的角色,

Emma ,本身對於清酒很有研究,

一個女性角色的加入剛好平衡店內的陽剛氣氛!

螢幕快照 2014-11-21 16.37.18

  

精神與靈魂

 “彡耕居食事所"這幾個字初次見面會讓人不禁倒退三步,

但細細品味後,幾個字代表的是溫暖!

『彡』代表了『家人,友人,客人』

這三個人生不可忽略的重要元素,

意即這是一個要將這三個區塊完美兼顧的志業,

『耕』則代表以一種耕耘態度來經營這塊彼此都認同的事業,

並用精心特調的食物來舖陳堆疊起整間店的風格 ;

『居』則是要讓所有來店的客人都有像家一般的感受。

 

螢幕快照 2014-11-21 16.53.51

  

純淨、簡單卻一點都不簡單

這道被稱作"甜在心"的「梅漬蕃茄」,

除了要一粒粒將蕃茄表皮劃開一個十字形切口,

還要進行最關鍵的處理程序, 手工剝皮 ,

再將去皮的蕃茄和獨門研發的醃漬醬料放入瓮中並密封醃製三天,

如此繁複的手續成就了這一道吃下去會幸福的美味小食,

也體現了彡耕居堅持的理念,

樸實的外表下,藏著簡單細膩的溫柔。

 

最後四位創業夥伴也說:

動手去做就是給自己一次機會,向那些不看好的人證明,

我們都不是專業厲害的人,突然轉換跑道更是一堆的不踏實與擔心,

但,那就用三百倍的努力從頭學起吧!

 

No responses yet

【CEO 專欄】與TripAdvisor聯手,傾聽消費者的聲音

十一月 22 2014 Published by under 創業故事, 經營兩三事

IMG_0246

EZTABLE 今年開始成為世界上市值最大的評論網站 TripAdvisor 的獨家戰略夥伴。

這對我們來說其實是一個很大的鼓舞,

這代表著,“我們在餐飲創新服務受到肯定"

也藉由雙方的合作把 EZTABLE 服務國際化。

另外更重要的,當加入 EZTABLE 的餐廳越來越多,

消費者有更多餐廳可以透過使用App方便訂位時,

我們更想要提供真實豐富詳細的評論內容供所有人做為挑選餐廳時的參考依據。

在這裡,”我提的是真的消費者用餐過後的評論與意見“

不管是從菜色、服務、氣氛、整潔甚至處理網路訂位的態度,

都可以藉由 TripAdvisor 將近 20 年的豐富經驗來替 EZTABLE 會員整理分析紀錄。

 

EZTABLE 的評論有三個很獨特的特色,

1. 所有評論皆來自於真的有訂過位並且到餐廳吃飯的會員才可以填寫,

換句話說,可以排除掉很多所謂的 “水軍" 或 “業配",不會有一堆假評論。

2. TripAdvisor 一直以來都要求評論要至少有 50 個字,

乍聽的確覺得門檻有點高,

因為真的花時間一字一句寫出用餐體驗,確實有些煩人,

但我們發現 50 個字會幫助會員更清楚分享對餐廳的各項評價,

而不會只是 “好吃!",但沒人知道到底是哪一道菜好吃。

在 EZTABLE 所有會員的互相分享下,

評論將變成一個豐富的情報資料庫,供大家查詢。

3. 最後也最酷的地方是,有了這套評論機制,

我們同時幫助餐廳每天都可以固定從 EZTABLE 系統中得到最新的顧客用餐評論,

讓餐廳能更快更有效的處理客人的回饋,而且這些評論都是餐廳的高階主管在了解、調整。

曾經有會員很驚訝的告訴我們說,

隔天一早她就收到餐廳總經理親自打電話跟她說明和邀請她免費到餐廳再用餐一次,

讓她氣全消,反而對餐廳產生好感,還會繼續到那家餐廳用餐。

用 EZTABLE 訂位的好處很多,填完問卷還可以累積點數換餐券呢!

傾聽消費者聲音、不斷改進,

讓更多餐廳也聽見你寶貴的聲音,趕快為下一次的聚餐訂一家好餐廳試試吧!

Alex Chen, Chief Executive Officer @ EZTABLE 2014.11.22

No responses yet

【CEO 專欄】EZTABLE 要創造的: 是給全世界前所未有的用餐體驗

十一月 15 2014 Published by under EZ心情, 創業故事, 經營兩三事

 IMG_4384

常有人問我: EZTABLE 是什麼、想改變什麼?

我尚未看到一個從台灣出發的國際消費者服務(consumer service)品牌,

更不用講在當今世界最熱門的網路業裡。

 

EZTABLE 想做的就是跨國的消費端品牌,一個網路服務品牌。

我的心願,這品牌不只服務給台灣人,還要服務給各國在地的消費大眾。

這品牌的經營團隊不只來自於台灣,更集結來自於各地不同國籍的經營團隊。

大家聚在一起,是為了一個簡單的信念: ”我們要用網路和智慧型手機,做出前所未有的用餐體驗“

2014 年我一個人跑遍全亞洲,不同於過往大部分台灣團隊選擇西進中國的策略,

我毅然決定南進,進入充滿成長潛能,有六億人口的東南亞,

由於充滿了太多變數,當然,一路上看衰、等著看好戲的不勝枚舉,(笑)

 

但如今,EZTABLE 的服務已經在泰國曼谷、印尼雅加達、馬來西亞吉隆坡和檳城、香港等地,

都落地扎根,並慢慢開花結果。 EZTABLE 這團隊的使命註定要開拓、要追求不凡!

在國際舞台上我們已沈寂太久, 縱使拓展國際的過程中有眾多的困難挫折,

我們的願景始終不變: ”我們不享受小確幸,我們追求大革命“

 

未來,請持續注意我們如何用智慧型手機製造人類有史以來最方便的用餐體驗。

 

Alex Chen, Chief Executive Officer @ EZTABLE 2014.11.15

No responses yet

文化──是有同樣熱情做事的一群人所形成的影響力

 

1-IMG_6382_fotor

Hi~~I’m intern, Wellington.

 

我和另外一位intern, Dada,受CTO Atwood大大指示,

要推廣並加強EZTABLE的Engineering Culture,並招募更多的Developer進入EZTABLE。

 

 

 

 

何謂文化? 

culture

在實習的第一週,剛好看到Airbnb上的一篇關於culture的文章,讓我重新更重視所謂的"culture"。

 

 

投影片4
Culture is simply a shared way of doing something with passion.

文化是件很重要的事情,在同樣的地方每個人都有一樣的熱情在做一樣的事情。

 

 

 投影片6

如同我們Alex老大所說,EZTABLE正在積極的尋找新鮮的肉體,有能力、有型的工程師!

因此,我們從內部提升及外部擴展兩個方向著手!

 

 

 

 

內部提升 

投影片7

(內部部分,主要是由我的partner Dada負責,我針對外部。)

我們現在開始每周五固定舉辦workshop,

每次會有1~2位講師分享他們的經驗以及專業領域。

(workshop內容會定期PO在EZTABLE IDEAS上,歡迎各位觀看)

 

 

外部擴展

 投影片8

↑這是我們的計畫。 

 

 

 投影片9

 
所以第一個方式是我們先在stackoverflow──一個最大程式設計領域的問答網站,
開啟我們Career Page,讓知名度更擴展國際。
(BTW 我們是在stackoverflow第三個PO職缺的台灣公司。)
 

 

投影片11
我們在stackoverflow上,開了兩個職缺(Senior Android Software Engineer & Senior iOS Software Engineer)
在兩個禮拜內,每個職缺都達到400~500的瀏覽量!
在這網站裡求職的幾乎都是外國人,
同時我們開始著手面試這些外國人,希望把更加多元的國際的文化帶進EZTABLE。
 

 

投影片15

stackoverflow連絡人說:
EZTABLE的Career Page發佈後,在兩周內達到400以上的瀏覽量,幾乎是他從來沒有聽過的狀況!
所以代表,我們EZTABLE在國際間有不少的人感到有興趣,並且有一定的知名度。

 

 

投影片13投影片14

目前在短短的兩個禮拜內,有32個的外籍工程師申請! (截至08/01早上)

 

 

 

 

 投影片16

之後在未來的一周內,

我們會在Linkedin內PO上我們EZTABLE的資訊,

相信這將會快速拓展EZTABLE的名聲!

 

所以希望不論是現在或是曾經在EZTABLE工作的夥伴,

趕快跟EZTABLE的做連結,

只要讓我們彼此的network更強大,

大家就會更知道EZTABLE這個公司!

 

 

to be continued..

 


 

如果您喜歡這篇文章可以點擊「讚」&「分享」
並歡迎訂閱EZTABLE IDEAS!  😀 

如果你是學習力強,而且經驗值高的人才,
歡迎一起加入我們 EZTABLE!! 

EZTABLE at Linkedin-Senior Mobile Software Engineer

 

No responses yet

【Workshop】知名網站架構分析

八月 05 2014 Published by under Engineering, 創業故事, 經營兩三事

【Workshop@140801】

Topic: 知名網站架構分析
Speaker: Penny Yi

 

 

 3-IMG_1355

大家好,我是Penny,先不免俗地介紹我自己,

2000年開始工作
2004年到2012年都在上海某交友網站工作
2012回到台灣

加入EZT前在搞什麼:Lead Mobile Team + Build API Service (v3)
個人感興趣領域:
Python、Performance Tuning、Lua、Go、LBS、Restful Service、Infrastructure

 

 

今天要分享的是某大交友網站 ,創辦人和EZTABLE一樣是4個有為青年

1-IPART 

04年加入,他們架構就是這個PHP4+MYSQL+ APACHE2直接做
05稱為侏儸紀,正式進入中國,用的東西更多了
08年 公司最茁壯的一年,加上了一些衛星服務
12年 正準備回台時,市場服務又更進一步成熟

 
 
 
 2-IMG_1353
 

中國之旅

網路南北大不同(北網通~南電信~)

網路南北大不同

在中國大陸,很多技術論壇裡的第一個問題是問:你們家機房放哪裡? 是網通還是電信?
如果你了解、講得出來「北網通,南電信」,代表專業,你真的有在大陸混過!

在中國大陸,北網通、南電信,兩方互看對方不爽,導致兩邊的機房不合。
假設你公司的機房放在網通的機房,而用戶透過電信的機房去連,這時用戶的速度大約跟"撥接"差不多。

 

所以那些你叫得出名字的大家公司都是自建機房,
像是阿里巴巴非常聰明接了兩條線進來,再自己的機房裡做交換,自己把這兩方的gap修補起來。
而騰訊比較囂張,對電信表示我的機房比你好,把你的server放在我的機房。
(這家公司大到的程度,已經反客為主了)

 

因為網通、電信很奇怪 ,兩個地方彼此沒有連接,是各自為陣,
所以他們透過另外一個節點,再繞到對方那。
這個節點上有學術網路、還有一個叫「鐵通」。

PS.鐵通的網路是跟著鐵路所佈,網路是跟著鐵軌走的,
所以火車走過去時網路會變慢,交通比較頻繁時很糟糕,常會收到客訴 😛

 

 

CDN服務

Screen-Shot-2012-07-10-at-10.00.31-AM1

因為網通和電信間的關係,中國的CDN彭勃發展,
擁有比較大的CDN可能在全中國都有機房,可以佈署到全中國,使各地的網路品質維持在同個水準。

 

 

CDN服務可達到的優點

  • 加速網頁瀏覽效能:已將緩存資料放在最近的機房中,不需重新向伺服器讀取。
  • 有效分流(頻寬):所有用戶都不再向同一個伺服器讀取資料,大幅降低集中流量。
  • 網站穩定度:網站流量分散網站的穩定度大幅提高。
  • 安全性增加:因網站透過CDN分散出去,駭客較難直接攻擊網站本體。

補充:
「常在打別人,意味著常被打」
駭客表示,打他們成本很高,他們機台分散在全中國,這將會影響駭客的策略: 到底要打哪一台?
駭客的軟實力是技術,硬實力是到底操做多少台PC ,
駭客想的是,打哪個節點效率最高,可是你很難猜,而且每打一次你的漏機又會少掉一堆。
因為server被攻擊後,就把你的IP封鎖掉,
這樣你手上的機子馬上瞬間 6000大軍→600→60,
因此會讓心懷不軌的駭客放棄對你的攻擊,
否則下次軍備競賽時,你的硬實力輸人家!

 

 

 4-IMG_1358

 2005年踏上中國土地,我很無助,我把台灣這塊系統搬到大陸去,結果一天就被打趴了,
在台灣了不起user 500~600,而在這一個禮拜我們經營的user到1000,再過一個禮拜達到6000! 

我發現以台灣的架構過去,擋不住那麼多人進來;之後,針對能最快解決的方法 ,我們打算從DB下手。

 

BTW我回到台灣的母校跟教資料庫的老師說,我進到中國這個領土,做到第5正規化,可是..毀了..
因為我Join太多blalba一堆,結果無法讓DB 的loading降下來,
老師: 你最後怎麼解決?
我: 最後我把第五正規化變成第一正規化,就解決問題了。

 

 

 資料庫優化

  • 減少PHP連線數

透過PHP連DB,如果你的連線數一直維持在一個非常高的連線量,
那DB跟本完全動不了,前面user也不會快,整個網站卡死。

  • 拆分Database,拆分Table

因此我們策略是 既然一個instance沒有辦法負荷那麼多,
那就拆DB,拆掉後有些東西不好拆,那拆table。 

  • CPU升級/SSD硬碟

再者,速度慢有無更好的提升方式──花錢! 只要是錢可以解決的就不是難事。
解Slow Log解了兩天,換了SSD後兩秒鐘搞定,效率提升很跨張。

  • Slow Log優化,和遷移更多的Query到Backup Database

當Data有再做Backup時沒事,而平常沒事做時花錢很討厭,
在高峰時也做些事,然尖峰時間的每台DB的loading 100%、CPU 100%

分享一個概念: 
阿里巴巴有一次在論壇裡分享,他們有幾萬台機台 ,而每一台KPI CPU 98%,代表幾乎是以100%在跑,
他認為100%在跑不見得是壞事,只要確認一件事──CPU跑到100%不會掛掉!
他總是在追求CPU 100%然後不會掛掉的神的境界!

  • API 化 – 以方便針對性擴容,共享

(EZTABLE在這方面做的很徹底。)

  • 靜態網頁CDN Caching

user連到一個網頁,整篇看完後他可能連我們的DB都不用連到,
只要不去改裡面的內容、照片,將會永遠存在上面。

但後來發現這個方案有點弱,不動很方便,但只要有改到內容便會變得很麻煩;
更動後,要把靜態網頁回收重製,

但因為CDN太多,觸發到各地的時間不一,所以可能更改完後,
CDN目前只觸發到北京,北京的資訊新的,而河南還未觸發,資訊是舊的。

  • 盡可能使用緩存(Redis/Memcache)

最後用記憶體的方式,前者EZ用狠多,兩者很有趣優缺點可以是互補

 

 

之後的workshop會再繼續介紹一些還沒提到的內容。

 

 

 

 


 

如果您喜歡這篇文章可以點擊「讚」&「分享」
並歡迎訂閱EZTABLE IDEAS!  😀 

如果你是學習力強,而且經驗值高的人才,
歡迎一起加入我們 EZTABLE!! 

EZTABLE at Linkedin-Senior Mobile Software Engineer

No responses yet

Internship Experience in EZTABLE

 

1-1-CAM03109 

Interning at EZTABLE this summer has been a fun, exciting and enlightening experience. I was led to EZTABLE through AppWorks, and they seemed more interested in my old and rusty programming background. Prior to this experience, I was desperately searching for my future career path, and programming was not on the list of candidates. However, my experience working at EZTABLE as an Android developer has deepened my insight in regards to the world of jobs and what one’s background should look like. It especially boosted my self-confidence, both in regards to my own competence as a programmer but also in my ability to decide on a future career path. Finally, the experience as a whole was a very fun and gratifying one which I shall certainly remember in the distant future.

 

I am a self-taught programmer, and this comes with its pros and cons. I started to learn web development around the age of thirteen. Prior to that I spent quite a lot of time online opening various kinds of discussions boards using pre-made platforms such as phpBB. However, I wanted to start my own websites and design them to do exactly what I wanted. I thus started with the basics, first learning front-end programming and subsequently back-end. As a beginner, everyone suggested I start with PHP and MySQL since they are very widespread.

 

When I started writing PHP, my life radically changed. I felt empowered. All of my brothers and my mother have always been very good at building things, painting, drawing, etc… Being very bad at art (I can draw stick figures!), painting, drawing, or any other things in which I must use my hands, programming was the only tool with which I could build things. I became increasingly addicted to coding, spending hours in my room writing and reading guides, tutorials and discussions online mostly about PHP, AJAX, Web 2.0 etc… At first, in order to properly learn, I restrained myself from using frameworks (such as Prototype or jQuery for Javascript) and tried to build stuff from scratch each time. As time passed by, I would have a favorite IDE, setup my own web server under Ubuntu, and contributed to various projects on the Internet.

 

Many people have asked me why I did not pursue computer science in college. It all comes down to one problem: mathematics. Programming only doubled my already existing hatred for the subject. While certainly helpful, one does not necessarily need to be a math god to be able to write code. With proper reading and practice, programming is an open world available to all those who fully dedicate themselves to it. The math requirements for CS majors repelled me, and I decided to keep it a “hobby” or simply work as a freelancer, which I did for a startup upon moving to Los Angeles. When that startup was aborted by its founder, I found myself in a rather difficult financial situation, and decided to work part-time at various jobs while focusing on my studies. My studies would keep me busy for a good four years, during which I did not write much code (learning Chinese has been a time-consuming challenge as well!). That was until I arrived at EZTABLE.

 

1-CAM02954

While searching for an internship, I realized that even though four years of college surely has taught me a lot, it did not help me make much progress in regards to my future career. After all, what kind of jobs does Asian studies lead one to? Translation? No thanks, I’ll pass. I certainly did not waste time, college was a time of personal growth and where I obtained an excellent education, both in general subjects and in Asian Studies; I was also able to explore various kinds of jobs while working part-time. Arriving on my first day at EZTABLE for an interview, Atwood’s offer for me to join the Android team was a surprise to me. I did not think any employer would look past the two words “Asian Studies.” Indeed, I thought my future prospects as a programmer were doomed the day I stopped writing code and started learning Chinese instead. I decided to toughen up and give it a try. After all, this might be my last and only chance to get back on the boat.

 

I will always remember that interview, especially when I was told “you have four weeks to learn Java.” It was a challenge I had long not been given, either by myself or by someone else. At the time I was still taking classes at National Taiwan University, which limited my time. I would learn the usual way: read brief tutorials, brief language references, do local tests, read “Dos and Don’ts” articles etc… The best way to learn after all, just like [human] languages, is to simply start coding! Having prior experience with programming certainly helped me learn Java faster, however the multi-thread and event-based nature of the language was a challenge during my first few weeks writing the Android application. As a matter of fact, writing Java for the first time in the Android environment was both a challenge but also a big help in itself. While online documentation (e.g., Stack Overflow, android doc, oracle doc) is certainly plentiful, it still took a short while to accustom myself to the different environments. Furthermore, the EZTABLE Android SDK was also an extra challenge and help.

 

The EZTABLE Android SDK was a clear example of the importance of team work. To Annie and I, the SDK was very helpful in that it laid important grounds to start developing the Hong Kong tourist app and provided many useful functions. However, it also felt like a jungle at times and we only discovered the existence of some functions after having coded them ourselves. Make no mistake here: I wish not to criticize the SDK or its developers, but simply wish to point at the importance of properly familiarizing oneself with the team’s code upon arrival. Indeed, when working within a team, in addition to being fast and efficient, code should be well-formatted and properly documented, with clear comments wherever needed; this is a practice I’ve tried to keep for ages, but it was nonetheless a good reminder. In addition to the aforementioned points, GIT is a crux of team work. While it surely has a learning curve, its importance is not to be debated and thus should be mastered within the smallest time frame as possible. Working with Annie, and later with Leo, proper GIT procedures had to be clearly established and regularly followed (I.E., frequent commits & clean branching). Working at EZTABLE certainly was a great lesson of team work.

  

1-2-CAM03108

Writing our application was not limited to our own ability and time, but also depended on the input of other teams within the company. I could not express how pleasant and fun it was to work with Nisha, our project manager. Nisha is a master of team organizing and keeping everyone updated and on track on the latest directives, decisions and issues. Indeed, we often had to wait for data input, but had to keep coding in the meanwhile. This taught me to be flexible in my working style and be ready to face the reality that radical changes may occur at any given moment. Annie and I arrived precisely when the API for articles was in the process of being changed, causing us to have to re-write a portion of the code. Some of the data given to us depended fully on us to be implemented, and we thus had to think of solutions that would best fit within the existing data structure. While it seemed a little stressful for us at first, I cannot fathom what Nisha must endure on a daily basis. Despite this, she always remains calm and friendly to everyone, keeping all of the teams functional and happy at all times. Thanks Nisha!! (Side note: this experience has even caused me consider Project Management as a very desirable option in the future.)

  

Finally, I came to realize that a career depends not necessarily on one’s educational background, but solely on one’s determination. Many people at EZTABLE who excel at their positions and duties did not necessarily study the matter in college but perform excellently. All it takes is passion and enthusiasm for what one loves to do in life; this is a respectable lifestyle. This might seem a little cheesy but to me remains a hard fact. My own experience writing the Hong Kong tourist app has lead to me fully reconsider my future career plans and while I am still open to new experiences, programming has definitely made it to the top of the ladder. Most importantly, I leave this great company with stronger self-confidence, knowing in the future that with determination, one can overcome any challenge.

 

906317_10152562882314788_1706867461786321617_o

I have very high regards for the employees at EZTABLE and the atmosphere that everyone strives to bring together. I could not be more grateful to have interned in such a great company this summer. I would like to personally thank all of the people I got to meet during the past three months and for what they have taught me personally and professionally. I would furthermore like to thank Alex, Atwood, Blaise, Mike, and Nisha for the opportunities, experiences and help they have given me. I could not express how lucky I have been to work with Annie this summer; Annie’s liveliness, honesty, great teamwork skills, and willingness to help are all things I hope people she meets in the future will notice and appreciate. I have made many friends within all teams (and not “departments”..!) this summer and I  could not be more grateful about how life-enhancing their presence has been. Once again, Thank you EZTABLE!

 

Christopher Burroughs, intern of EZTABLE

 


 

如果你也有野心、學習力強,歡迎一起加入我們 
EZTABLE實習生計畫全年無休
歡迎將你/妳的履歷寄到 CTO Atwoos, atwood@eztable.com

EZTABLE at Linkedin-Senior Mobile Software Engineer

 

 

No responses yet

【Workshop】EZTABLE System Architecture/EZTABLE系統架構

七月 24 2014 Published by under Engineering, 經營兩三事

 【Workshop@140718】

Topic: EZTABLE System Architecture/EZTABLE系統架構
Speaker: Hao-Kang 
slideshare: EZTABLE System Architecture

 

 

EZTABLE 2008創立至今,系統上經過許多的轉換與修改,
今天請到Hao-Kang 來和大家分享EZTABLE 至今的系統架構以及未來的一些方向。

 2-2-CAM03004

  

 

EZTABLE System Architecture

 

Long long Ago

以前的EZTABLE 是以PHP技術起家的。
當時,肥大的Kernel是PHP,和Database和worker,而web以PHP和JavaScript撰寫。

 

 

投影片3

Status Quo

現在這個階段多了許多不同層級的app,這些app會去跟PHP要Data,但是目前發現這樣copy來copy去實在太麻煩了,每個APP要的資料結構不一樣,要的欄位不一樣,這將會導致Kernel整個肥大,可稱作一坨"hairball"的狀況,意思是每個資料格式不一樣,同時又並需包括完全部的可能性。

 

 

 投影片4

巨人」──就是肥大的Kernel,累積了每個人不同的要求。

 

 

 投影片5
 

The future

想法: 我們稍為把它切開來。
若我們可以針對每個application、每個team,讓它去做小小的 node.js service時,這時候當你需要做新的API,只要自己開即可。

 

優點: 我們將不用管你是用node.js寫、go寫、Lua寫、PHP寫,寫的語言依照你們自己的team決定。

 

切出來後你會感覺到你和Kernel的溝通是透過Server 溝通,APP不用直接去找Kernel, reformatting要怎麼build 是你家的事(當然還是要做 local ache)。你會覺得 Kernel被切成像是第三方的service (backed service, message service, 訂位service等等),你可以選擇自己想要做什麼東西,只要你記得把小小的server 和小小的APP一起傳上來就行。

 
 
 
 
 投影片6
這便是 MV* 系列的概念(MVC or MVVM等)
不論是哪一種,所有的值都長一樣,Model和View,中間是transformation。
(Model是Kernel, View是mobile/web)
 
 
 

transformation

transformation概念很簡單
我們server kernel會吐一個小小的data給各位的server,當server transform 各位的APP要的資料的時候,就跟小叮噹一樣一個Data走進去一個transformation變成另外一個樣子。

5-5-CAM03014投影片7

所以Data經過一個function變成另一個Data。
Data → (transformation) → Data*
y = f(x)

 7-7-CAM03016 投影片8

transformation能做的可分成四個部分: Combine, Filter, Split, Recorder.

 

  • Combine
    舉例來說:
    我不只要拿一間餐廳,還要餐廳相關的評論,以前的做法就是去找channel說: 欸channel,我要餐廳資訊然後順便把評論一起給我,通常這樣的方法要等一個月!
    而現在你小小的server可以去抓你的APP和你餐廳的IP,以及自己去拉餐廳的資料(A),自己去複製write’s API去拿相關的評論(B)  ,最後再把兩個Combine起來(C)推出去,這樣的方法大約需要一天的時間,而且不需要DEMO
  • Split
    反之,如果你覺得太大包傳輸很慢,便把它分成你所需要的幾包即可。
  • Filter
    當你要做特別的Filter,像是Filter by餐廳、Filter  by菜單、Filter  by地區,
    只需在自己Channel裡的server自己做。
  • Recorder
    要照什麼樣的排序,依自己的需求決定。

  

 

Rule of Thumb

  • event-driven : 盡量可能用event算。
  • autonomy: 每一個小小的service盡量去保持它的autonomy(自治),不要直接去讀SQL、讀人家的DB,而是透過API等方法溝通。
  • clear boundary: 有非常非常清楚的界限劃分,做屬於自己的事情,不和其他不相干的攪和在一起。
  • local cache:  不要每次一個小小的server 都去做 Kernel Combine,你可以直接一個local端把cache寫好,便可以大量使用local cache 節省時間。
 
 

Summary

因為經過這樣一系列的切割,
各種的view不再需要直接與Kernel溝通,而是保有獨立自主可自行運用修改的空間,
同時view彼此間將不用擔心互相干擾而引申出的許多問題,
也因為有了local cache,減少了從Kernel挖資料時的等待時間,更迅速的取得需求,
瘦身成功的Kernel,跟以往肥大的時候相比,負擔變小,變得更輕便,更專業,更有效率!

 

 

 


 

如果您喜歡這篇文章可以點擊「讚」&「分享」
並歡迎訂閱EZTABLE IDEAS!  😀 

如果你是學習力強,而且經驗值高的人才,
歡迎一起加入我們 EZTABLE!! 

EZTABLE at Linkedin-Senior Mobile Software Engineer

No responses yet

« Newer posts Older posts »