2010年3月22日 星期一

Analyst Programmer 入門小檔

Analyst Programmer 入門小檔

如果說程式編寫員(Programmer)負責砌磚,分析程式員(Analyst Programmer)的職責就相當於管工-負責管理指導,亦需要按照上方的要求協助下屬完成實際工作。

Analyst Programmer位於Programmer之上,System Analyst之下;三者組成Programming Team,專門負責設計和編寫程式。Programmer負責編寫程式,Analyst Programmer需要依照System Analyst的指令設計和分析系統,發展軟件功能,並對Programmer提供指導。System Analyst的角色屬於決策性,除了分析和設計系統外,還負責計劃管理(Project Management)的工作。

Analyst Programmer必須有能力編寫程式,所以需要熟悉軟件發展工具,能夠將System Analyst或Project Manager的要求翻譯成電腦語言。

入職要求

人事資源顧問公司InfoTech Services (Hong Kong) Ltd的發言人譚國翹(Edwin Tam)指出,不同公司對Analyst Programmer的學歷有不同的要求。一般來說,隊伍或公司越大,對於Analyst Programmer的要求亦越高。如果隊伍超過二十人,公司人數超過二百,通常要求Analyst Programmer起碼要有電腦學位或高級文憑課程。但2000年前後市場對於Analyst Programmer的需求甚大,要求的學歷亦隨之降低。

技能方面亦視乎工作要求有所不同,能夠精通以下各種工具的話,找工作就暢通無阻:

網頁發展語言 - Java, ASP, HTML
電子商貿工具 - Websphere, Site Server
前端工具 - Oracle Forms, PowerBuilder, Visual Basic
伺服器語言 - C/C++, COBOL, RPG
數據庫 - Oracle, MS SQL Server
作業系統語言 - UNIX Script JCL

僱主聘用Analyst Programmer一般希望受聘者謹慎、思維清晰、有耐心、做事有系統、精於算術及勤奮努力,並且最少需要一年Programmer經驗,薪金由$12,000至$19,000不等。合約員工的薪金比起長期員工的薪金約高20-30%。

晉升歷程

Analyst Programmer可以按兩條路晉升,一般晉升過程:

Analyst Programmer --> Senior Analyst Programmer -->System Analyst -->

Senior System Analyst --> Project Manager --> IT Manager/Director -->

Chief Information Officer(CIO)

若在電腦供應商、軟件公司、互聯網服務供應商(ISP)工作,Analyst Programmer亦可以晉升,歷程也可以是:

Analyst Programmer --> Consultant -->Project Leader -->

Chief Technology Officer(CTO)

市場趨勢

Edwin表示近年來Analyst Programmer負責越來越多程式編寫工作,牽涉程式設計、分析的工作卻逐漸減少,職責越來越近似Programmer。現時市場要求Analyst Programmer除了對多種電腦語言/發展工具有認識以外,還要對幾種語言/發展工具.數據庫,平台有專門的認識。如果精通一些少人認識的發展工具 (如COBOL、RPG等),更有助提高身價。:)

(轉載招職雜誌第10期,2001年8月10/日,稱心稱職欄,題:Analyst Programmer入門小檔,文:Queenie)

The AIDA Marketing Model in Web Design

The AIDA Marketing Model in Web Design
A = Attention
I = Interest
D = Desire
A = Action
Bonus: S = Satisfaction

2010年3月6日 星期六

網路創業:你需要知道的事(一)

今 天在開會的時候,聊到對於網路創業的入門者來說,需要注意或知道的事情。結果在Refly那傢伙當年的筆記裡面找到一堆東西,就直接拿出來用了XD 以下是小小的重點整理:

一、你的「創意」根本就沒有價值

創意如 果就只是創意,那他根本就沒有價值。創意的價值在於你把他做出來之後,才成其價值。每個人都可以有創意,點子其實很好想,但重點在於實做他、推廣他、行銷 他。


二、網路創業賣的不是產品,是流程、是體驗
賣產品、賣服務 實際上都不是網路創業真正的核心價值。你要賣的是整體流程、是服務體驗,你的核心價值來自於哪裡?來自於整個商業流程的背後,來自於你整體給客戶的流程、 客戶從你這裡得到的體驗,這才是網路創業的核心價值。

三、有人抄襲就是你的成功
東西 好,才會有人抄襲;所以有人抄襲,就是成功;沒人抄你,你就要開始找自己哪裡有問題了。那被人抄了怎麼辦?身為原創者,你本來就應該有比別人更好的點子, 所以基本上不用考慮被抄襲這件事情。

四、網站群
一個網站單打獨鬥,一定比一群網站一起 奮鬥來得差。在你的主要產品出爐之後,最好做一兩個相關性質的姊妹站一起奮鬥,利用網站群讓自己的主要產品茁壯。

五、 只有感覺是不行的
除了創意之外,你還要考慮可行性。不是說你覺得某個創意一定會賺錢,他就會賺錢,你得確定在某個領域當中真的缺少 了某個非常關鍵的部分,接著努力去做才會成功。

六、實際評估
要認真的評估自己的產品或 創業計畫,使用任何制式化的工具來評估都可以,總之跟上一段一樣,不能只用感覺的。並且記得要設定停損點,並且常常檢視並修改這個停損點。

七、 中止
有的時候,真的就是會有這種時候,所以做好計畫中止的打算,無論是拿不到資金、拉不到人潮,這些都有可能是你中止計畫的理由, 只要做好評估跟事後分析,都能為後者之師。
對了,不要忘記那些定期支出(固定成本),我們就是被這個東西害到過XXD

八、 社群
就算東西還沒做出來,要是能先把社群經營起來,那最起碼在產品出爐的時候,會有第一群白老鼠幫你推廣(笑)

九、 計畫
把每個過程需要的資源、時間、里程碑都寫出來,有時候你會在計畫階段就發現計畫根本不可行,然後就可以省下不少錢了XD

十、 蜜月期
等到產品出爐之後,通常會有一段蜜月期,但在蜜月期之後也會有一段不短的停滯期,要小心的就是停滯期,因為這東西會讓你心灰 意冷

ref: 網 路創業:你需要知道的事(一)

2010年3月2日 星期二

吃你自己的狗食、工程師當自強

吃你自己的狗食、工程師當自強
最近花了許多時間與朋友、同事、老闆們溝通快速實作大於詳細規劃的概念,也著手在做一些東西,分享出來希望能夠跟大家一起討論。

吃你自己的狗食
前陣子在公司一直講這句話,因為我看了這篇 vgod 大的文章很有感覺:「追求神乎其技的程式設計之道(十)」,裡面有句話就叫「Eat Our Own Dog Food」: 一家公司應該要在內部用自己的產品解決自身的問題,才能發現真正的問題,並且說服人這東西真的很實用。Google 是奉行「吃狗食」原則的典型公司。

這段話讓我檢討思考許久,當公司在發想階段時,我曾提議過我們應該跟 Google 一樣,先在公司實作工具並給員工使用,當內部同仁喜歡後、推出為產品時的認同度才會高。但是三四個月下來雖說我們做了不少打地基的事,但是並沒有用我們的主軸概念去做出任何小工具、讓員工使用。而沒這樣做的主因,就是身為工程師的我們缺少積極性、還是用過去在前公司的思維:等待著 Marketing、Product Manager 把市場搞清楚、再等 Production 把產品的規格寫詳細才會接手去做。

一些質疑的聲音不斷地在我腦海中盤旋,這樣的流程用在創新概念的新公司合適嗎?從知名的 Google、Facebook、Yahoo!、Microsoft 到台灣的成功新創網站,像是無名小站、痞客邦、地圖日記... 哪一個不是從兩三個工程師徒手做起?若這些網站一開始就導入完整的企劃與流程,而不是先把一個簡陋的東西弄出來給自己與朋友使用,它們會不會像今日這麼成功呢?
工程師當自強

有兩個非工程師的朋友講了讓我印象很深刻的話:

    * 「工程師在台灣的密度超高,隨便車禍裡五個都有三個是工程師,工程師若想走人,再找就有了。」
    * 「沒見過有想法的工程師,我不能了解他們在不滿什麼。」

我沒有辦法反駁他們,默默承受、不善表達、私底下抱怨、溝通不易、不懂生活的確是台灣工程師常見的面向。

而前陣子 Facebook 對我的履歷很有興趣連絡上我,我有問他們一個問題:「你們大可找全世界最頂尖聰明的哈佛校友,為什麼找上一個英文講的不是很好、還要煩惱簽證的外國人呢?」,原來他們除了 Yahoo! 的經驗、好的前端工程師難找外、還被我過去做的 Hacks 與傳教士的經歷吸引:Your background is very impressive and I surmise that you are continuing to do some interesting things.。的確我跟大多數工程師的不同之處:就是在我常不務正業,寫部落格、在外講課、用自己有限的技術做一些好玩但不一定有用的 Hacks。我花了很多時間在表達我的想法上,而且從中得到了許多甜頭,未來也將如此。而台灣有沒有這些懂得思考的優秀工程師呢?其實相當多,但是他們大多自行創業或者把時間投注在社群中,傳統公司的框架與流程並沒有辦法讓他們發揮身手。

之前就對 Google 的產品生產方式有所耳聞:他們是一家工程師導向的公司,身為一個工程師,你必須在公司內部對所有人講述你的靈感、提案以及實作的產品。讓其他人決定你的提案是否可以繼續或者中止。若可繼續,身為工程師的你就是 Project Lead、可以去選擇你的 Team Member。而另一家公司 Facebook 則有一個定期的 Hackathon,他們幾個重要且成功的產品像是 Video 與 Language 介面便是經由這樣的過程激盪出來的:「Some of the best product we've ever ships, arouse from a single night effort」,而 Facebook 並沒有活動辦完就把得獎作品丟一旁,而是把公司資源全力投入,把東西給做出來。所以這類公司在找工程師時,技術變得只是基本門檻,創新能力、思考能力、表達能力、實作能力才是取決的要點。而工程師在這些公司的重要性與被賦予的使命也完全顛倒:以工程師實作為基礎、做出作品內部覺得好用時、再由 Marketing、PM、PD 調整來發光發熱。

工程師與其他角色最大的不同就是技術能力,在討論靈感時,如何實作的大致技術與困難點通常可隱約地浮現在腦海中。好的工程師與普通的工程師差別就在實作能力、加上產品力與實作的話,能創造的東西跟主導權將會完全不一樣。如果甘心產品流程永遠都是從上而下,工程師永遠都只是會技術的工人,沒有權力對設計圖加入自己的夢想,只能用一流的技術去蓋房子,但很現實地,當一流技術的產品銷售的很成功時,名利雙收的絕對是建築師而非工人。因為發揮想法的人並不是你。

你,甘於現況嗎?還是想要調整自己的心態成為會做工的建築師呢?
狗食計畫

在前公司時,工程師們最常抱怨的問題就是自己發揮創意所做的 Hack、公司沒有辦法投入資源去實作。跟 Google 與 Facebook 比較起來,前公司的制度的確是有缺陷的,大多數非工程師的人並不會把這些 Hack 當成一回事(太粗糙、沒資源、有資安顧慮),而且也沒有一個架構讓工程師的作品在內部被廣泛使用。

但很棒的是,我現在所在的新公司並沒有這些包袱,而且開明的老闆願意給我們空間去做由工程師發想的東西。雖然流程架構與角色與前公司如出一轍,但我們還保有改善舊有流程的可能性。所以我就宣布了一個「狗食計畫」,遊戲規則是初期成員只能有自願的工程師來發想與規劃產品,老闆不能要求我們做他想要的功能(因為是我們自己的時間),實作出來的東西強迫每個 Team Member 都用(到時候我們產品會強暴使用者,現在是工程師強暴 Team Member XD),之後則歡迎其他角色加入一同把產品發光發亮。

而這禮拜我跟另外一位工程師做得不亦樂乎,加班都很樂意,這自願且熱血的感覺甚至比 Hack Day 還強。目標就是用我們產品的主要架構去做出一些內部實用的小工具,像是員工通訊錄(不要小看它,其實作起來還蠻邪惡的 XD)。在過程中,我們也有很多發想,甚至想把過去的一些想法與創業夢給實作進去。另外就是看到了在許多還沒想到與規劃到的細節、甚至我還想跳脫既有的設計,把我的覺得比較好的作法給先實做出來。

依照自己的想法而非規格書來做產品是非常開心的一件事。我不是要把產品導向改變為工程師導向,但如果公司內部可以保有這樣 10% ~ 20% 的機制是像 Google 或 Facebook 的的時候,才能不斷正向地激發工程師的熱情:對手上在做的產品感到熱情,覺得自己的才能被徹底發揮。

希望身為老闆的讀者們也可以了解這樣的想法,Keep Your Talented Engineers。
相關連結

    * Eating one's own dog food - Wikipedia, the free encyclopedia