分類彙整:工作

notes

我2月12號到5月8號學到了什麼?(軟體篇)

工作幾個月之後我開始想:

大家都希望工作經驗越久、薪水越高,憑什麼?

年紀越大,實力一定越強嗎?

所以我比上個月強?我比昨天強?

到底強在哪?難道只能空泛的回答:我經驗更豐富了。

於是我就開始筆記,明確的記下來,為什麼我每天都比前一天強。

寫到今天約莫三個月了,決定打成「軟體篇」、「管理篇」兩篇文章。

跟各位分享這本流水帳。

2月12號

* 第一次用別張table的id當主鍵,以前都是新建一個id欄位當主鍵

* 第一次使用CodeIgniter內建的Test library

* 應用了Jamie Rumbelow的MY_Model跟它的relationship功能

* 我終於知道怎麼寫單元測試了!

* 第一次應用Mock up的技巧

* 第一次把dependency injection應用在舊的model

2月13號

* 替每個web app在server上建一個帳號有好處。改root密碼時就不用全部shut down了。

* 單元測試真不錯。你替model加新功能,接著加新test,然後你可以確定全部功能運作正常

* 學會怎麼用JavaScript驗證input是整數來達到不錯的User Experience。

* 很流暢的完成的一段複雜的交易系統。

* 在需要同時開發新功能、修bug、更新美工的情況下,用git的branch做了良好的管理。

2月14號

* 操你媽的Bitbucket居然會掛站。所以我學會如何在windows上用AppServ, WINSCP, GitShell, Putty, LinuxReader達到類似Linux的開發環境了。

* 媽的PHP居然病毒般吃光我Linux資源。所以我學會recovery 模式、top還有kill指令了。

2月19號

* 在前一份php檔定義常數可以防止異常使用當前的php檔欸

* 知道php的singleton函式怎麼寫了

2月20號

* 實作一個簡易log系統

* 學會jeditable,還有一點小hack

* Restful的定義多理解了一些。

3月3號

* 原來瀏覽器在submit表單只支援GET跟POST

* 知道怎麼流暢處理exceptions或是errors了

* 自創一套方法,在model內應用validation library。(別人都在controller內用,我覺得醜死了。)

* 知道怎麼用salt跟hash更安全的處理密碼資料。

* 媽的用salt下去hash,丟失salt之後為什麼還是可以驗證?上一個工程師到底在寫殺小?

3月5號

* catch住exception,可以顯示錯誤訊息然後再丟出去。這樣不錯。

* 學到了第三方套件Mandrill還有它的設計架構。

3月6號

* 學會怎麼用phpmail透過gmail發信了

* 實作了「忘記密碼」的程序

3月8號

* 他媽的,mysql的float居然連1.3或1.4都存不好,幹。

* php有array_unique跟unset這兩個函式欸。糙,這語言真的沒什麼品味。

* 將simpletest導入CodeIgniter並且準備使用它了。

* 今天又碰了一次spark

3月10號

* 這輩子第一次去看Apache的server log來debug!

3月14號

* 理解到controller應該幾乎什麼都不做,但model也不能太大。所有class都應該要小!用library吧,不要出現God Pattern,不要出現mixin(商業邏輯與呈現混在一起)。每個class專注在一件事上!

3月17號

* 知道如何用table將email內容置中

3月21號

* 學會migration了

3月22號

* 會用simpletest了

* 更了解Test Driven Development 

4月3號

* 更懂abstract class是什麼了。(誰要是繼承我,就必須提供這些函式)

* 在Github上開了我生涯第一個issue

4月9號

* 客製化Exception有兩種:傳入code或直接繼承它

這樣理解它:

用code就是狂欠技術債(一堆沒整理的數字),但幾乎沒利息要還

用繼承的方式就是資產,但開發比較慢

4月10號

* 理解前輩的log library在寫什麼了

* 理解PHP set_error_handler跟set_exception_handler,還有CI如何組織它們了

4月18號

* 知道了CI, FuelPHP, Kohana, Laravel的歷史背景了 

4月23號

* 原來上傳檔案會被PHP暫存在tmp資料夾,程式跑完會自動刪掉。

* 而實作上傳功能只是把它從tmp移出去而已。

5月2號

* 第一次接觸Angular.js。酷斃了。但它好像很自成一套,而且跟jQuery不相容。

* 我發現我的JavaScript還是寫成procedural programming,並不是OOP或是functional programming!

 

 

(Photo via  Brady Withers, CC license)

Creative Company Conference 2011

我2月12號到5月8號學到了什麼?(管理篇)

工作幾個月之後我開始想:

大家都希望工作經驗越久、薪水越高,憑什麼?

年紀越大,實力一定越強嗎?

所以我比上個月強?我比昨天強?

到底強在哪?難道只能空泛的回答:我經驗更豐富了。

於是我就開始筆記,明確的記下來,為什麼我每天都比前一天強。

寫到今天約莫三個月了,決定打成「軟體篇」、「管理篇」兩篇文章。

跟各位分享這本流水帳。

2月13號

* 不要對自己的個性或人格太滿意而沾沾自喜。其他人可能根本不喜歡你。

2月20號

* 每天起床前有兩個選擇:繼續躺著做夢,或是起來完成你的夢。

3月5號

* 想要別人付出超乎標準的能力,你需要讓他「一點不爽的感覺」都沒有才行。

可以讓他有壓力,但不能讓他有一點不爽的感覺。要讓他在工作環境感到絕對的自在,這也是主管能對屬下付出的地方,也就是管理者該做的「託付」。

因為人是不可能在不自在的地方久待、全力付出的。

況且沒人是笨蛋、會在沒被託付的情況下,將自已託付給別人。

3月8號

* 別只想著找到能「做你喜歡的事」的工作。也許能「用你喜歡的方式做事」的工作也很棒。

3月10號

* 更了解消費者行為一些了

3月12號

* 37signals公司在暑假甚至一週工作4天。

* 37signals下面這個政策就叫做他媽的行銷。又有多少人能理解。

「公司出錢讓員工去學業餘興趣有一個條件:你必須跟所有人分享你學到了什麼。不只是跟其他同事,要跟所有37signals部落格的觀眾分享。」

3月13號

* 有限的時間會鼓勵人去有效率的運用時間。

* 生產力怎麼衡量?不是一天寫幾行程式碼吧?

「我能斷言,任何軟體開發的真正生產力,只能用它帶來的商業價值去衡量。」

3月21號

* 是否只能用「激勵他的內心」去增加生產力、很難用「限制他能做的事情」去增加生產力?

* 這樣去理解Jason Fried如何當一個老闆:他就像很保護其他人的一個老大哥。

* 沒什麼急事,就放人慢慢做。永遠都是「很急」,那叫壓榨。

3月22號

* 「被禁止上網閒逛的員工,因為必須消耗意志力去克制自己,所以生產力也下降了。」

* 「很多大企業會提供健身房、遊戲室、休息室給員工。這只解決一部分的問題。遠程工作(允許在家工作)是最佳解。但真正的問題是管理者需要去信任員工,別像管小孩一樣管人。理解有時候看著窗外發呆比較有生產力、有時候跟可愛女孩調情比較有生產力、有時候傳傳簡訊比較有生產力,而不是強迫他在電腦前面敲鍵盤。改變文化、擁抱新工作方式吧。」

4月10號

* 壓榨員工,公司比較賺錢?讓員工快樂、放任,公司比較賺錢?

公司已經「知道如何賺錢」、有方向,壓榨員工的確可以擠出生產力、也就是賺更多。

公司還「不知道如何賺錢」就讓員工準時下班、取悅他、期待他快樂的工作、期待他佛心去幫老闆找到方向、找到賺錢方法。壓榨他出來的東西,大概還是無法幫公司賺錢。

4月19號

* 來了幾個實習生,讓我想幾個步驟。不如這樣:

1. 凡事回答「都好都好、OKOKOKOKOK」

2. 表明你不會管他平常在幹嘛,一切看成果

3. 要求成果、要求成果,視情況協助安排進度

4. 檢討成效、協助下次能完成目標。

不可覺得手下沒做好、下次會更好,因為你這個廢物沒資格這樣想。你自己也沒做好,失敗你負一半以上責任。(你當人手下的時候,目標失敗不也覺得主管是廢物、老闆是廢物?)你帶的人fail,你就是廢物。只覺得問題出在他不夠強?是你不會用人吧。

為什麼中途沒發現會失敗?為什麼沒看出此人實力能放任到哪?目標導向、成果導向是否只是讓人無所適從?為什麼沒給人可以出力的方向?成就感、成長感沒人不喜歡,所以奮鬥是快樂的,結果他沒快樂奮鬥,問題會不在你身上?

把人當小孩子帶、出問題責任都推給別人,絕對不會有人用全力奮鬥去回報你。

4月24號

* 「信任是這樣的:我們一開始多少都會信任別人,當別人沒有善意回報,我們的信任便會少一些。」 

4月25號

* 看看這個創辦人如何以身作則:

—  他認為介面不夠自然,於是就自己寫了程式改善。此舉讓這名比利時藉的設計師嚇呆了。「像他這樣的行為真的很容易就像病毒一樣感染員工。」

5月8號

* 「你工作要主動一點」

不要這樣講話。像在指導小孩子。

他「怎麼做」不是重點。他厲害的話,一個人毫不溝通就默默全部搞定也可以。

直接點出「績效」是如何被判斷為「不佳」。讓他理解到「不主動好像真的做不出公司要的東西」

身為管理者,一定要嚴格看待自身言行。當你發現自己似乎在對小朋友講話的時候,小心了,你正在羞辱人。

* 他領日薪,你就每天跟他計較生產力。他領月薪,你就去在乎他每個月的績效,不要每天在那邊靠北靠目。

(Photo via   Sebastiaan ter Burg, CC license)

jason_fried

當代領袖怎麼想:員工上班時間摸魚、逛Facebook!

台灣這幾年似乎沒有年輕領袖。檯面上都是郭台銘、張忠謀、施崇棠一類上一輩的企業家。

上一代的企業家持續影響著這一代的所有人:教導大家工作的方式、管理的方式、生活的方式。連創新的方法、網路時代的野心都是他們在談。

我想分享一些國外當代領袖對事情的看法,希望能給大家一些靈感。

————————————————————————-

今天要討論的問題就是「當代領袖怎麼想:員工上班時間摸魚、逛Facebook」,回答者是37Signals、Basecamp、「工作大解放」的作者Jason Fried。

下文摘錄自他在接受Inc網路媒體專訪時,分享他一天如何工作,以及對工作的看法。

Jason Fried:

午餐過後,我在1點到3點之間會覺得很慵懶。我覺得就算工作也沒生產力,所以我通常會上網隨便逛逛。我覺得這很重要。每個人都應該了解一下網路上最近什麼蠢東西很紅、或是看看有什麼新鮮事。

我痛恨把員工當小孩子的公司。他們封鎖Facebook或Youtube,因為他們希望員工一天工作8小時。員工不會因此更有生產力,他們只會很失望。管這種事到底能幹嘛?只要工作能做完,我不在乎大家一整天都做些什麼。

(以上只節錄訪談的一小段,建議有興趣的各位可以去翻閱原文。

順帶一提,Jason Fried的Basecamp是一間獲利「非常驚人」的小型網路公司。)

—————

原文出處

http://www.inc.com/magazine/20091101/the-way-i-work-jason-fried-of-37signals.html

(Photo via Inc)

馬雲

當代領袖怎麼想:當公司快倒了,員工卻不在乎業績,還每天準時下班!

台灣這幾年似乎沒有年輕領袖。檯面上都是郭台銘、張忠謀、施崇棠一類上一輩的企業家。

上一代的企業家持續影響著這一代的所有人:教導大家工作的方式、管理的方式、生活的方式。連創新的方法、網路時代的野心都是他們在談。

我不認為這些人懂當代的管理、當代的經營。我認為他們不懂。不然去這些人手下做事的年輕人,怎麼好像都沒有很滿意?為什麼當國家整體實力低下的時候,是年輕員工的競爭力不足,而不是上一輩企業家整體管理/領導能力的低落?

為什麼勞資關係惡化的時候,都是老闆對員工說「我認為你還沒有準備好當一個員工」,而沒有員工對老闆說「我認為你還沒有準備好當一個老闆」。

這跟學校教育、家庭教育有點關係。大家在唸書的時候,連上課舉手發言都覺得不好意思,離開學校之後又怎麼敢表達自己的意見。

除此之外,我還認為大家普遍對領導人的要求太低了。沒人要求自己的領導人格局要夠大、胸懷要夠寬廣。大家覺得這種事情可遇不可求、下面的人沒有資格要求上面的人。

我想從今天開始,分享一些國外領袖對事情的看法,希望能給大家靈感。

———————————————————————————–

今天要討論的問題就是本篇標題,回答者是阿里巴巴、淘寶網的馬雲。

大家看完問題可以先想想,故事發生在台灣,老闆會怎麼想?當事人員工會怎麼想?台灣員工敢這樣準時走嗎?那準時走是錯的還是對的?事不關己的其他人又會怎麼想?

原文出自阿里巴巴的生意經,是阿里巴巴旗下的一個社群平台。

網友sxf50000提問:

史上最牛業務員,一單不出準點下班。 80後女老闆抓狂了,我這是為員工在打工嗎?

我是一個80後女孩,畢業後工作一年,就自己出來創業了。做時尚時裝的外貿,是專做貿易,利用網絡平台在做。做了半年多了,毫無進展。現在是我和2個外貿業務員在做,自己每個月能出幾個小單,可是業務員一個單都出不了。即使能出小單,也入不敷出。我每天晚上都工作到11點,感覺很辛苦,我的業務員比我還輕鬆,他們每天下午6點準時下班,也不知道如何管理他們,現在是老闆比員工還累,壓力好大,再這樣我覺得我快堅持不下去了。我該怎麼辦?

馬雲:

我覺得這問題出在老闆身上。

第一,是不是招錯人了。

第二,是不是沒有激勵機制。

第三,總共三個人的公司,你要學會替別人多想想,別人就會替你多想想。你做10個小時是應該的,別人做10個小時是不應該的。因為你沒有讓​​他覺得是你的一份子,他憑什麼這麼做?

原文出處

http://baike.1688.com/doc/view-d20798915.html

(photo via wikipedia)

smoke

關於未來,我們一直在搞錯。

我常看到某些人發表他們特別的想法。 他們常發表一些很有啟發性的言論。當然,某些人只覺得那些是胡扯。

我發現這些人用各自的方式說出了同一件事,關於未來的事。

首先我想摘錄Seth Golding的一篇文章 — Our inability to see ahead

「兩百年以前,愛德華·拉特利奇(美國獨立初期政治家)簽署了獨立宣言。他現在的直系後代是凱特·哈德森(美國女演員)以及歌蒂·韓(美國女演員)。兩百年前他臨終時,若你在他身邊,你根本猜不到這樣的結果。」

接著我要摘錄Quora上對於一則提問「你希望自己21歲就知道什麼事情?」 的最佳回答。 得到最高票數的是這則。

「我們嚴重高估自己十個月內能有的成就,然後嚴重低估自己十年內能有的成就。」- Tim Scott

我要摘錄的第三段話,取自Rework(中譯:工作大解放)

「計畫是一種猜測」

「除非你是算命師,否則長期的商業計畫就只是幻想。…你以為寫計劃書就可掌控這一切,但其實你做不到。

我們何不把這些計畫正名為猜測。當你將猜測轉變成計畫,你就陷入險境。計畫是讓過去指引未來,讓你變得盲從。…這就是問題所在:計畫跟即興發揮並不一致。而你必須有能力隨機應變,以便抓住突然出現的機會,有時你必須說:我們得要轉進新方向,因為今天要這樣做才合理。…

停止猜測吧,決定這星期內你要做的事,而不是這一年。…即興而為沒關係。先上飛機吧,等你抵達目的地,再挑件好一點的襯衫、刮鬍膏和牙刷。」— Rework

從我大四、當兵到退伍後出社會,的確有每天都在改變想法的感覺。因為每一個明天我都不知道會有什麼新的機會出現,而我又會失去什麼。

所以不侷限下一步的走法,不要求自己遵循什麼金玉良言或是誰的經驗之談。於是變得很放任,做決定甚至以情緒為依歸,不顧後果、不替長遠的未來做準備。

說來放縱,卻也充分的感受到各種可能性,覺得下一步可以是各種可能,常常覺得充滿活力。

最後,我想以Seth Golding同一篇文章的結尾做結。

「你能擺出的最佳姿態只有一個: 認定你全部的計畫都是錯的。

如此去想,將發生令你意想不到的事情。」

 

reference:

(Photo via  Dr. Jaus, CC License)

dream

你所有的理想,沒有一樣是不切實際的。

標題看起來很荒謬,不過我的確這麼認為。

那些理想之所以讓我們覺得沮喪,是因為它們真的有可能達成。

  • 你不會因為自己選不上總統而鬱鬱寡歡
  • 你不會因為自己拿不到諾貝爾獎而抱憾終生
  • 你不會因為自己沒辦法一夕致富而覺得很痛苦

這些你一點興趣也沒有,這些對你來說不切實際,你不會把這些當作自己的理想。

反過來說,那些不去做會讓你沮喪的事情,正是對你來說實際可行的事情。

正是這種沮喪感、這種不去做會覺得有遺憾的感覺,說明了你其實不相信自己做不到。

  • 你工作久了,想創業
  • 你想當眾挑戰你的主管
  • 你想把音樂當作生活的重心
  • 你想把工作辭了然後去旅行
  • 你想不顧別人期待去做自己想做的事

你會因為這些想做卻又沒有勇氣做的事情而沮喪,而這些沒有一件是你做不到的。

全都只要去做就行了。

當然會得到一些別人的嘲笑、一段挺窮的日子、一堆不祝福的眼光,但這年頭幾乎怎樣亂搞都生存得下去,何況是勤奮的實踐理想。

每個人都多少知道自己的天命,背棄了它,它就像詛咒一樣來找你,讓你朝思暮想,朝思暮想那個心目中想成為的自己,又可惜自己沒有勇氣。

我總相信試過是最幸福的。也許試了會發現它其實不切實際、發現它其實很幼稚、發現它根本不是自己要的,而本來的生活其實很不錯。甚至發現本來的生活才是你的天命。

於是你回到原本的位置,然後在原本的位置過得比以前快樂多了。你也許會很滿足,不再朝思暮想。又也許,會找到新的理想。

所以動手幹吧,可以先從幹一點點開始。
然後不要問幹一點點是什麼意思了,你早就知道了。
那可是你想了好久好久,早就想試著去幹看看的,你的天命啊。

(Photo via @Doug88888, CC License)

office

新創公司跟大企業,哪個高尚?

還在唸書的時候,跟一些身邊的朋友對新創公司、網路創業充滿了憧憬。

覺得startup(新創公司)試著解決人們還沒被解決的問題,少少的幾個人聚在一起,試著用自己的力量去創造價值、做不一樣事情。

特別在網路火熱的這幾年,web領域根本充滿了機會,像一片大海。只要敢出海,就可能得到超乎想像的回報–startup根本超有趣又高尚。

退伍一陣子之後,對此有了全然不同的見解。

大企業正是因為解決了人們很大的問題,所以才一路成長為大企業。正是因為創造了很大的價值,所以才有巨大的報酬。

為了要找到更好的解決辦法,所以需要徵招更多人、更多優秀的人。所以進大公司也是用自己的力量創造價值,更重要的是,是在解決”已經確定存在的問題”。

因為問題確定存在,所以努力會直接有回報-也就是高薪、福利、年資等等。

反觀startup,大家充滿幹勁的在打拼,很大的機會卻只是在瞎闖、想解決根本不存在的問題。說是想用自己的力量去創造價值,實際上可能什麼價值都沒創造出來。

一心渴望在幾年內功成名就,簡直可以說startup是汲汲營營的一種終極形式。

startup跟所謂大公司、大企業 根本沒有高尚與否以及好壞的區別,不過就是不同的屬性、不同的選擇而已,都在各自的位置創造些什麼。

既然如此,那大家都好好努力吧,一起加油囉。

(筆者在新創公司工作)

(Photo via Paladin27, CC License)