很久沒更新一下工作相關的訊息,或許是根本不想工作吧,哈。但是很現實的就是一週上班還是有五天﹍。
今年換部門了,在公司內看了不少人輪調、更換部門,原以為自己並不會有此變動 (至少不是自己提出),沒想到就在今年跨出了一步。新的部門是公司的核心技術部門其中一組,所謂核心,就是跟病毒處得更近了點。以前的部門屬於產品開發,所以都是使用核心模組來做事,但是除了整合以外,其實並不清楚核心真正做了哪些事,而產品上主要又集中在產品功能面開發,滿足企業客戶的需求,搞效能、資料庫、網路,甚至是網域環境等等,所以在面向上是一大差異。
至於會換部門的原因,說穿了就是一時衝動,不過還是有些助燃物就是了。
新部門裡一樣臥虎藏龍,看來可以學習不少。即便以前沒接觸,我想在天天耳濡目染的情況下,仍是會有不少收穫的,哈。
給自己的目標是,今年內先把整體測試的流程跟涵蓋面建立起來,這部分算是自己可以馬上有所貢獻的地方。另一方面,就是慢慢累積自己 threat 方面的知識,這個就看自己吸收的能力了。有空再來更新一下自己最近學習的心得感想。
Showing posts with label work. Show all posts
Showing posts with label work. Show all posts
Monday, March 22, 2010
Wednesday, January 21, 2009
半夜不睡覺
前幾天,半夜起來 debugging。想記錄點什麼,不過同事的 mail 中報告得更詳細,就先擋著先吧。
--------------------------------------------------------------------------------
From: 亞當
Sent: Wednesday, January 21, 2009 5:25 PM
To: 來恩; 費迪南
Cc: 亞當; 雞米; 大衛
Subject: globalcm upgrade from 3.5 to 5.0 process
Dear All
The following is what we did during the 1/19 and 1/20
1. 2009/1/19 around 10pm
來恩 gave me a call saying that the upgrade process failed for some reasons after we try to modify TMCM's schema.xml (since there are 3 columns missing from the DB). The upgrade process is not able to run some store procedure. Then 來恩 asked me to join his WebEx
2. From IIS settings I found that there was SSL port missing on the configuration, therefore I set it to port 443 then reinstalled the TMCM 5.0. The reinstall process went well until it reached the set folder permission (WebUI).
3. 來恩 then asked Ferdy's help to compare the good TMCM's folder setting with the globalcm machine. During the process, I was not able to monitor what 來恩 was modifying.
4. After the folder permissions had been set, the reinstall process didn't get finished and stucked at the end (setup.exe). I then checked the ccgi_install.log and noticed that ccgi was not reinstalled properly. I manually removed CCGI componenet and installed CCGI by silent install script.
5. We then run the reinstall TMCM again, and finally we saw the completion screen of TMCM installation. After trying to logon to the TMCM console, it displayed the CCGI 400 error.
6. I just did a quick check of all TMCM 3 services and 8 exe files which are all intact. At this point in time, I really had no idea why CCGI didn't work. I also checked all registry hive related to the CCGI and found one which couldn't be opened or deleted. I then called 雞米's (another QA) help around (3:00am). He then joined the WebEx session as well and took a close look the services and exes. He suggested that we could restart the OS. After rebooting the machine, that locked registry entry was gone. Then reinstalling the TMCM, we had reached the final stage of TMCM installation completion. However, we still had CCGI problems (cannot reach apphost). 雞米 also found that one of process was keep doing this behavior: dying and starting until it went timeout stage (MsgReceiever.exe). I also noticed that when MsgReceiever.exe die, Dr. Watson created dump.
7. In the morning, 雞米 and I went to office and tried to collect all debug logs and core dump and sent them to RD to analyze them.
8. Afternoon, RD (伊森) was analyzing the core dump. QA (亞當 and 雞米) were trying to install TMCM 5.0 by backing up the original DB and all product profiles. Around 1/20/2009 3:15pm, RD found the possible root cause from the core dump: since we had TMIC registered as one of the TMCM entity. TMIC registered a plugin to TMCM's MsgReceiever.exe (configured in InterceptorHandler.xml). I then backuped the file "InterceptorHandler.xml" to "InterceptorHandler-Backup.xml". And the plug-in "TMICPlugin4CM35.dll" is for TMCM version 3.5 not for 5.0, TMCM couldn't recognize 3.5 plug-in, TMIC team needs to provide a 5.0 build to be able to register to TMCM.
9. In the meantime, the original DB was backuped and so did the product profiles. I remarked the plugin name from the "InterceptorHandler.xml" and restarted the SQL server then all 3 TMCM services. Aafter several logon to TMCM console there was no CCGI error but waited a while, and re-logon to the console, CCGI error appeared again.
=> It seemed that MsgReciever.exe was still having the problem. I then turned on the debug log and collected MsgReceiever related logs and core dump for RD to alalyze the log.
RD (伊森) analyzed the log and core dump, and found the root cause.
=> If the templog is big enough, TMCM will write it to the file and then do the parsing, if at this moment debuglog is turned on and is writing to the debug log file, MsgReceiever will crash.
=> We just found a bug (I will fire a track for it along with the TMIC handler hooked to the MsgReceiever problem when upgrade 3.5 to 5.0)
In the meantime (around 5:00pm), 雞米 and I were backing up the old DB and started to restore the TMCM back online.
1. When we installed the TMCM 5.0, we choosed the re-use DB option in order to use the old DB, for some reasons the installer did not recognize the old installation cmkeybackup folder. The installer always came back to the DB selection. We could not continue to re-use the DB.
2. We then needed to use the really-really manual way to restore the DB back.
=> Install brand new TMCM 5.0, detach the DB, attach the old DB, restore the old profiles, and then merge all necessary xml files for use.
(Around 9:00pm) restart TMCM services and logon to TMCM console => no CCGI error
cheers
--------------------------------------------------------------------------------
From: 亞當
Sent: Wednesday, January 21, 2009 5:25 PM
To: 來恩; 費迪南
Cc: 亞當; 雞米; 大衛
Subject: globalcm upgrade from 3.5 to 5.0 process
Dear All
The following is what we did during the 1/19 and 1/20
1. 2009/1/19 around 10pm
來恩 gave me a call saying that the upgrade process failed for some reasons after we try to modify TMCM's schema.xml (since there are 3 columns missing from the DB). The upgrade process is not able to run some store procedure. Then 來恩 asked me to join his WebEx
2. From IIS settings I found that there was SSL port missing on the configuration, therefore I set it to port 443 then reinstalled the TMCM 5.0. The reinstall process went well until it reached the set folder permission (WebUI).
3. 來恩 then asked Ferdy's help to compare the good TMCM's folder setting with the globalcm machine. During the process, I was not able to monitor what 來恩 was modifying.
4. After the folder permissions had been set, the reinstall process didn't get finished and stucked at the end (setup.exe). I then checked the ccgi_install.log and noticed that ccgi was not reinstalled properly. I manually removed CCGI componenet and installed CCGI by silent install script.
5. We then run the reinstall TMCM again, and finally we saw the completion screen of TMCM installation. After trying to logon to the TMCM console, it displayed the CCGI 400 error.
6. I just did a quick check of all TMCM 3 services and 8 exe files which are all intact. At this point in time, I really had no idea why CCGI didn't work. I also checked all registry hive related to the CCGI and found one which couldn't be opened or deleted. I then called 雞米's (another QA) help around (3:00am). He then joined the WebEx session as well and took a close look the services and exes. He suggested that we could restart the OS. After rebooting the machine, that locked registry entry was gone. Then reinstalling the TMCM, we had reached the final stage of TMCM installation completion. However, we still had CCGI problems (cannot reach apphost). 雞米 also found that one of process was keep doing this behavior: dying and starting until it went timeout stage (MsgReceiever.exe). I also noticed that when MsgReceiever.exe die, Dr. Watson created dump.
7. In the morning, 雞米 and I went to office and tried to collect all debug logs and core dump and sent them to RD to analyze them.
8. Afternoon, RD (伊森) was analyzing the core dump. QA (亞當 and 雞米) were trying to install TMCM 5.0 by backing up the original DB and all product profiles. Around 1/20/2009 3:15pm, RD found the possible root cause from the core dump: since we had TMIC registered as one of the TMCM entity. TMIC registered a plugin to TMCM's MsgReceiever.exe (configured in InterceptorHandler.xml). I then backuped the file "InterceptorHandler.xml" to "InterceptorHandler-Backup.xml". And the plug-in "TMICPlugin4CM35.dll" is for TMCM version 3.5 not for 5.0, TMCM couldn't recognize 3.5 plug-in, TMIC team needs to provide a 5.0 build to be able to register to TMCM.
9. In the meantime, the original DB was backuped and so did the product profiles. I remarked the plugin name from the "InterceptorHandler.xml" and restarted the SQL server then all 3 TMCM services. Aafter several logon to TMCM console there was no CCGI error but waited a while, and re-logon to the console, CCGI error appeared again.
=> It seemed that MsgReciever.exe was still having the problem. I then turned on the debug log and collected MsgReceiever related logs and core dump for RD to alalyze the log.
RD (伊森) analyzed the log and core dump, and found the root cause.
=> If the templog is big enough, TMCM will write it to the file and then do the parsing, if at this moment debuglog is turned on and is writing to the debug log file, MsgReceiever will crash.
=> We just found a bug (I will fire a track for it along with the TMIC handler hooked to the MsgReceiever problem when upgrade 3.5 to 5.0)
In the meantime (around 5:00pm), 雞米 and I were backing up the old DB and started to restore the TMCM back online.
1. When we installed the TMCM 5.0, we choosed the re-use DB option in order to use the old DB, for some reasons the installer did not recognize the old installation cmkeybackup folder. The installer always came back to the DB selection. We could not continue to re-use the DB.
2. We then needed to use the really-really manual way to restore the DB back.
=> Install brand new TMCM 5.0, detach the DB, attach the old DB, restore the old profiles, and then merge all necessary xml files for use.
(Around 9:00pm) restart TMCM services and logon to TMCM console => no CCGI error
cheers
Saturday, December 01, 2007
Sunday, September 09, 2007
創新?解答?
這是公司許久前發的一本書,封底的書介中有句話深深吸引著我。
Clayton M. Christensen 提醒,「必須做對顧客有價值的事,而不是組織擅長的事。」
當公司高層在沾沾自喜,似乎跟作者的理論觀點可以扯上一點邊時,其實我們卻都是一直抱守著自認為的 core value,缺少的正是何謂對顧客有價值與意義的認知。
P.216
值得注意的是,經理人經常掛在嘴邊的「核心競爭力」,其實潛藏無數危機,讓人的目光侷限在組織內部。真正的競爭力應該是做好顧客重視的事,而不是在做自己擅長的事。
書中也提到「什麼該外包、什麼該自己做?」我想起來前陣子公司一直在探討的 outsourcing 的種種。當時公司也說著要把非核心技術外包,這又踩到了個地雷。
P.174
這種「核心/非核心能力」觀點的問題在於:今天非核心的技能,未來可能是非常重要的核心能力,相反地,今天的核心能力,明天可能無足輕重。
P.175
IBM 的例子告訴我們,以「核心/非核心能力」分類可能會導致嚴重、甚至致命的錯誤。管理者不應該問公司目前最擅長什麼,而要問:「我沒們現在必須精通什麼、未來必須掌握什麼,才能在顧客重視的產品功能中獲致成功?」
Clayton M. Christensen 提醒,「必須做對顧客有價值的事,而不是組織擅長的事。」
當公司高層在沾沾自喜,似乎跟作者的理論觀點可以扯上一點邊時,其實我們卻都是一直抱守著自認為的 core value,缺少的正是何謂對顧客有價值與意義的認知。
P.216
值得注意的是,經理人經常掛在嘴邊的「核心競爭力」,其實潛藏無數危機,讓人的目光侷限在組織內部。真正的競爭力應該是做好顧客重視的事,而不是在做自己擅長的事。
書中也提到「什麼該外包、什麼該自己做?」我想起來前陣子公司一直在探討的 outsourcing 的種種。當時公司也說著要把非核心技術外包,這又踩到了個地雷。
P.174
這種「核心/非核心能力」觀點的問題在於:今天非核心的技能,未來可能是非常重要的核心能力,相反地,今天的核心能力,明天可能無足輕重。
P.175
IBM 的例子告訴我們,以「核心/非核心能力」分類可能會導致嚴重、甚至致命的錯誤。管理者不應該問公司目前最擅長什麼,而要問:「我沒們現在必須精通什麼、未來必須掌握什麼,才能在顧客重視的產品功能中獲致成功?」
Monday, July 16, 2007
過程。上課去
週五下班前,老闆拿了本教材來給我看,封面寫著「Personal Process」,說是下禮拜公司有開課,問我有沒有興趣。
先翻閱了一下書,裡頭所講的,便是最近公司上頭大力強調的 TSP (Team Software Process) 及 PSP (Personal Software Process)。
我的表情可能給老闆很直接、興趣索然的反應,他便要我先看看教材內容,說等等再來問我。
其實自己對於這種東西並不是沒興趣,偶而還會想著理論上的觀點該如何在實際面上找到關連或對應。但是在目前的環境下,常常可以發現到,當理論重於一切時,往往是流於空洞,對整個專案全無幫助,回頭看看目前正在進行的案子就可以看到太多實證。
TSP 也是遵循 W. Edwards Deming 跟 J.M. Juran 所創立的品質管理策略而來,被進一步延伸到軟體開發上。
總括來說,PSP 跟 TSP 都是為了確保、提升軟體品質,加上 CMM (Capability Maturity Model,能力成熟度) 的衡量標準,三者間相互配合,期望能改善團隊的品質與生產力,也能協助團隊更精確滿足成本與時程的承諾。
先翻閱了一下書,裡頭所講的,便是最近公司上頭大力強調的 TSP (Team Software Process) 及 PSP (Personal Software Process)。
我的表情可能給老闆很直接、興趣索然的反應,他便要我先看看教材內容,說等等再來問我。
其實自己對於這種東西並不是沒興趣,偶而還會想著理論上的觀點該如何在實際面上找到關連或對應。但是在目前的環境下,常常可以發現到,當理論重於一切時,往往是流於空洞,對整個專案全無幫助,回頭看看目前正在進行的案子就可以看到太多實證。
TSP 也是遵循 W. Edwards Deming 跟 J.M. Juran 所創立的品質管理策略而來,被進一步延伸到軟體開發上。
總括來說,PSP 跟 TSP 都是為了確保、提升軟體品質,加上 CMM (Capability Maturity Model,能力成熟度) 的衡量標準,三者間相互配合,期望能改善團隊的品質與生產力,也能協助團隊更精確滿足成本與時程的承諾。
Sunday, June 24, 2007
Rollback
上週三天的 Beta training,看起來還是有得到一些應有的收穫,這最大的收穫就是讓大家搞清楚,原來忙了大半年的設計、產品,完全不符合客戶的需求。
說來真的是 Looooooooong story,不過這前因後果,外人也難以搞懂,要真搞懂了,也想不透為什麼,所以就省略不提了。因為我也不懂,為什麼一個案子可以搞到這個樣子。
那對我們工程師有什麼影響?有的,就是整個 Schedule 會稍做變化,反正 Change 本來就是公司文化,付諸行動是理所當然。端午節後的這三天,M 級主管密集開會討論加腦力激盪,直到週五下班前,聽說也還沒孵出個蛋來,因為整個案子枝節錯綜複雜,大夥都沒信心與勇氣下定論,不過有個初步共識,就是下禮拜繼續談。
好吧,主管們繼續 M 桌會議,那我們呢?為了怕我們無聊,上班沒事做,不放心我們一頭栽進最近正火紅的股市,或是上網看些容易腦溢血的限制級網站,所以主管們還是會想些事情讓我們可以打發一下時間,以免他們在小會議室開會,我們在外頭開起 Party 來。
當然,這種過渡時期能做的其實也不多,很多瑣碎的事情便是。而經過連日密商取得的共識是不是客戶想要的,卻又是另一個課題了,但也是真正的重點。
可以想見的是,本來要進 Beta stage 的,現在,先打住吧,看來又是這案子第二次 Rollback。
說來真的是 Looooooooong story,不過這前因後果,外人也難以搞懂,要真搞懂了,也想不透為什麼,所以就省略不提了。因為我也不懂,為什麼一個案子可以搞到這個樣子。
那對我們工程師有什麼影響?有的,就是整個 Schedule 會稍做變化,反正 Change 本來就是公司文化,付諸行動是理所當然。端午節後的這三天,M 級主管密集開會討論加腦力激盪,直到週五下班前,聽說也還沒孵出個蛋來,因為整個案子枝節錯綜複雜,大夥都沒信心與勇氣下定論,不過有個初步共識,就是下禮拜繼續談。
好吧,主管們繼續 M 桌會議,那我們呢?為了怕我們無聊,上班沒事做,不放心我們一頭栽進最近正火紅的股市,或是上網看些容易腦溢血的限制級網站,所以主管們還是會想些事情讓我們可以打發一下時間,以免他們在小會議室開會,我們在外頭開起 Party 來。
當然,這種過渡時期能做的其實也不多,很多瑣碎的事情便是。而經過連日密商取得的共識是不是客戶想要的,卻又是另一個課題了,但也是真正的重點。
可以想見的是,本來要進 Beta stage 的,現在,先打住吧,看來又是這案子第二次 Rollback。
Sunday, November 19, 2006
背書
與朋友聊起辦公室的點滴。
曾經有位較為新進的同事, 與我都要出席一場會議。
不過因會議進行的層級不同,我個人覺得去也只是出席,並無決定或是提意見的必要與需要,當下便決定不前往參加。
同事看到我還處在座位上不參加,便問我說「可以不去開會嗎?」
「我是不去,因為我覺得我沒參加的必要。」我答。
會後,老闆來找,提到沒去的原因,我報告了我的想法,加上手邊有更重要的事,老闆也就不追究。
接著老闆問到那位同事,同事回以說。
「glogger 說可以不去﹍」
在當場的我,不免臉上三條線。無言。
事後回想,原來這位同事自己不出席,是要我幫他背書的。我總是以為,個人的決定取捨,是自己要對自己負責的,所以我總是會清楚表達我的想法,也為自己所做所說負責。
這同事的作法,我雖不是第一次碰到,不過倒是提醒我之後在回應上的謹慎。
給人機會的,我會不猶豫地認同與鼓勵。附帶有風險,我會不忘提醒,後果是自己要承擔負責的。
曾經有位較為新進的同事, 與我都要出席一場會議。
不過因會議進行的層級不同,我個人覺得去也只是出席,並無決定或是提意見的必要與需要,當下便決定不前往參加。
同事看到我還處在座位上不參加,便問我說「可以不去開會嗎?」
「我是不去,因為我覺得我沒參加的必要。」我答。
會後,老闆來找,提到沒去的原因,我報告了我的想法,加上手邊有更重要的事,老闆也就不追究。
接著老闆問到那位同事,同事回以說。
「glogger 說可以不去﹍」
在當場的我,不免臉上三條線。無言。
事後回想,原來這位同事自己不出席,是要我幫他背書的。我總是以為,個人的決定取捨,是自己要對自己負責的,所以我總是會清楚表達我的想法,也為自己所做所說負責。
這同事的作法,我雖不是第一次碰到,不過倒是提醒我之後在回應上的謹慎。
給人機會的,我會不猶豫地認同與鼓勵。附帶有風險,我會不忘提醒,後果是自己要承擔負責的。
期望龍心大悅的 Camp
記得去年也為公司的 Engineering Camp 寫了點感想。昨天結束今年的 Camp,也來 記上一筆。
活動辦在西湖度假村。印象中,許久之前曾經到過,但已毫無記憶可言,不過這地點倒是已知久有歷史。另一方面,更是凸顯自己近幾年來以少往遊樂園一遊。
所住宿的新設置「養生會館」,整體上感覺不錯,硬體建設是去年剛落成,無論裝潢格局,都屬佳作。美中不足,兩天都只在會場、餐廳中遊移,未曾到過其他地方,會館也僅在晚間九點多 check in,隔天七點多 check out,所以既無法體會養生之意,也無緣一嘗西湖之美。
兩天行程,真是一大敗筆,與去年相比不惶多讓。第一天七點由公司出發前往,免不了又是六點起床整備,個半小時後抵達目的地,馬上被趕鴨子上架,入一密閉空間開始一天會議,坐的是一般宴會廳之宴客座椅,直挺的硬背,要你整天正挺腰脊,刻意調低的空調,讓你不得不穿上公司幫你準備的外套。
老實說,自己還是睡了兩天的會議行程。
想不透的是,舉辦單位是真不知,還是不得不以這樣的進行方式來舉辦原意良美的活動。
過渡緊湊的會議行程,以及強迫所有人參加的晚間 party,在在看來都只為了滿足高層想像的空間。底下工程師不問意願與否,總是要在取悅龍顏間付出點代價。
很多研討跟演說其實是很不錯的,但是在傳達之餘,應該給予多一點消化跟吸收的時間。建議以後可以在台北舉辦,承租個會議場地,好好專注在該有的活動上。
至於多花了好幾十萬,卻只用來睡個八小時的住宿花費,跟實在是影響食慾的高分貝噪音晚會,就請將之歸於員工旅遊補助與留待尾牙再來搞吧!
活動辦在西湖度假村。印象中,許久之前曾經到過,但已毫無記憶可言,不過這地點倒是已知久有歷史。另一方面,更是凸顯自己近幾年來以少往遊樂園一遊。
所住宿的新設置「養生會館」,整體上感覺不錯,硬體建設是去年剛落成,無論裝潢格局,都屬佳作。美中不足,兩天都只在會場、餐廳中遊移,未曾到過其他地方,會館也僅在晚間九點多 check in,隔天七點多 check out,所以既無法體會養生之意,也無緣一嘗西湖之美。
兩天行程,真是一大敗筆,與去年相比不惶多讓。第一天七點由公司出發前往,免不了又是六點起床整備,個半小時後抵達目的地,馬上被趕鴨子上架,入一密閉空間開始一天會議,坐的是一般宴會廳之宴客座椅,直挺的硬背,要你整天正挺腰脊,刻意調低的空調,讓你不得不穿上公司幫你準備的外套。
老實說,自己還是睡了兩天的會議行程。
想不透的是,舉辦單位是真不知,還是不得不以這樣的進行方式來舉辦原意良美的活動。
過渡緊湊的會議行程,以及強迫所有人參加的晚間 party,在在看來都只為了滿足高層想像的空間。底下工程師不問意願與否,總是要在取悅龍顏間付出點代價。
很多研討跟演說其實是很不錯的,但是在傳達之餘,應該給予多一點消化跟吸收的時間。建議以後可以在台北舉辦,承租個會議場地,好好專注在該有的活動上。
至於多花了好幾十萬,卻只用來睡個八小時的住宿花費,跟實在是影響食慾的高分貝噪音晚會,就請將之歸於員工旅遊補助與留待尾牙再來搞吧!
Friday, October 06, 2006
Voodoo Scheduling
最近公司又得獎了,有了點品牌知名度,規模也不算小,但是一路下來也越來越官僚,充滿制式的僵硬。
剛看了 Mr. 6 先生的一篇文章 (http://mr6.cc/?p=445),觀點批判犀利,不去評論對與錯,不過很多看法倒是一針見血地指出一家官僚風氣充斥的公司運作。
我可以想見,「有一批很有智慧的人,把所有的智慧花在組織裡的複雜互動上面﹍」、「看起來什麼都有(官樣文章),但其實什麼都錯過﹍」,這樣的情形其實在很多地方不時地上演著。
我們要評估 Shedule,做 WBS,所以從七月做到現在都在紙上談兵,當然上面希望你可以利用「閒暇之餘」做點可以先做的事,問題是我也不知道你之後要幹嘛,實在是無能為力。
然後因為時間不夠,開始砍 features,即便一個底層元件,也用了三個月來評估要不要抽換掉,三個月過去了,因為怕時間不夠,所以不去動它。
底下工程師被要求呈報的 Schedule,往往被認為需要工時太多、不合理﹍所以必須再把時間壓縮,使進度超前。我想說的是,上頭既有原先定案的時間,何不直接列出,與底下做事的人討論可以如何分配時間,完成該有的作業。
現在,上頭還是覺得排出的 Schedule 不合理,希望再做調整,我想大概這紙上作業就是這個案子裡可以學到最多的東西吧!
終於體會到所謂的 Voodoo Programming 的精髓,因為我們也在做著 Voodoo Scheduling。
而在如此繁重的任務壓力下,上頭也提供了平時大家互動的理想提案,以專案任務優先,盡量排除外在人事物打擾的情形發生,一切要求外來的干擾都應該照著正常對外的管道進來。如果不是,當你被纏住的時候,隨時可以舉手喊「Managers 救命!」,如此一來,上頭就會幫你解套,讓你可以全心全力投注在專案上頭。
剛看了 Mr. 6 先生的一篇文章 (http://mr6.cc/?p=445),觀點批判犀利,不去評論對與錯,不過很多看法倒是一針見血地指出一家官僚風氣充斥的公司運作。
我可以想見,「有一批很有智慧的人,把所有的智慧花在組織裡的複雜互動上面﹍」、「看起來什麼都有(官樣文章),但其實什麼都錯過﹍」,這樣的情形其實在很多地方不時地上演著。
我們要評估 Shedule,做 WBS,所以從七月做到現在都在紙上談兵,當然上面希望你可以利用「閒暇之餘」做點可以先做的事,問題是我也不知道你之後要幹嘛,實在是無能為力。
然後因為時間不夠,開始砍 features,即便一個底層元件,也用了三個月來評估要不要抽換掉,三個月過去了,因為怕時間不夠,所以不去動它。
底下工程師被要求呈報的 Schedule,往往被認為需要工時太多、不合理﹍所以必須再把時間壓縮,使進度超前。我想說的是,上頭既有原先定案的時間,何不直接列出,與底下做事的人討論可以如何分配時間,完成該有的作業。
現在,上頭還是覺得排出的 Schedule 不合理,希望再做調整,我想大概這紙上作業就是這個案子裡可以學到最多的東西吧!
終於體會到所謂的 Voodoo Programming 的精髓,因為我們也在做著 Voodoo Scheduling。
而在如此繁重的任務壓力下,上頭也提供了平時大家互動的理想提案,以專案任務優先,盡量排除外在人事物打擾的情形發生,一切要求外來的干擾都應該照著正常對外的管道進來。如果不是,當你被纏住的時候,隨時可以舉手喊「Managers 救命!」,如此一來,上頭就會幫你解套,讓你可以全心全力投注在專案上頭。
Sunday, October 01, 2006
Task & Schedule
工作上,上週起開始被要求詳細的時程規劃,紙本作業中列出了一堆任務,每一個任務下又帶有一大串的工作項目,看了挺嚇人的。上面要我們列出自己該做的事外,也把預估的工期填寫上去。
重點是,我想跟上頭說,我也不清楚究竟你們想幹嘛,所以這就像身在一個牌局,被要求要猜想你們會出什麼牌,再妄想自己可以拿到更好的牌,能出手得更漂亮。
事情是真這麼多,還是因應上頭要求,搞出了一堆東西來?我也不知,因為我被上頭要求,可能上頭也是被上上頭要求,但是上上頭不知腦袋在想什麼﹍
重點是,我想跟上頭說,我也不清楚究竟你們想幹嘛,所以這就像身在一個牌局,被要求要猜想你們會出什麼牌,再妄想自己可以拿到更好的牌,能出手得更漂亮。
事情是真這麼多,還是因應上頭要求,搞出了一堆東西來?我也不知,因為我被上頭要求,可能上頭也是被上上頭要求,但是上上頭不知腦袋在想什麼﹍
Thursday, August 31, 2006
Impatience
開始覺得自己心情又浮躁起來,尤其在上班時,對現狀不滿相當明顯,也容易在很多時候未加思索地妄下自己的評斷。
很要不得,所以提醒自己要退一步、緩一緩,好好想想﹍即便是工作上有太多太多的可議之處讓我心煩。
算了,誰叫自己是小員工。
很要不得,所以提醒自己要退一步、緩一緩,好好想想﹍即便是工作上有太多太多的可議之處讓我心煩。
算了,誰叫自己是小員工。
Timecard
老闆說,今天起開始記錄每一天花了多少時間,做了哪些事﹍下班前寄出。
聽說,這是為了有效做好時間管理,而之後,也可以幫助預估 WBS 的進行。
老闆說,今後產品找到問題,只要跟負責開發的人員說:「有問題。」這樣就可以,不用再跟他說問題在哪裡。
聽說,這樣可以減輕我們的負擔,也可以提升開發人員的能力。
果然不愧是老闆,講得實在很有道理。
聽說,這是為了有效做好時間管理,而之後,也可以幫助預估 WBS 的進行。
老闆說,今後產品找到問題,只要跟負責開發的人員說:「有問題。」這樣就可以,不用再跟他說問題在哪裡。
聽說,這樣可以減輕我們的負擔,也可以提升開發人員的能力。
果然不愧是老闆,講得實在很有道理。
Friday, August 25, 2006
School
許久沒當學生,這兩天倒是當了全天的學生,去上了 Linux Cluster Server 架設的課程。
公司出錢的教育訓練費用,原先自己上課意願不高,因近來總覺得給我時間自行研究要好過我去枯坐幾小時,一邊還打瞌睡。
架構瞭解了,上機練習不外是照著 Guideline 在鍵盤上敲敲打打,說起來也不算太難,只是因為是人為設定,難免會有些遺漏掉的地方,有無經驗的差異性就在這裡,如果可以一步一步找出問題的源頭並解決,就是工程人員的價值所在。
公司出錢的教育訓練費用,原先自己上課意願不高,因近來總覺得給我時間自行研究要好過我去枯坐幾小時,一邊還打瞌睡。
架構瞭解了,上機練習不外是照著 Guideline 在鍵盤上敲敲打打,說起來也不算太難,只是因為是人為設定,難免會有些遺漏掉的地方,有無經驗的差異性就在這裡,如果可以一步一步找出問題的源頭並解決,就是工程人員的價值所在。
Thursday, March 09, 2006
Saturday, February 11, 2006
開工大吉
開工一週,渾渾噩噩也混過了五天,很多事要做,卻也很多事都還沒做。
工作上,產品 GM 前兩週,要收拾的東西還挺多的;負責的案子接近尾聲,總是令人高興,但是也見到很多承傳前面幾版的包袱延續下來,不去改變,想必永遠都跳脫不出舊有的窠臼。
工作上,產品 GM 前兩週,要收拾的東西還挺多的;負責的案子接近尾聲,總是令人高興,但是也見到很多承傳前面幾版的包袱延續下來,不去改變,想必永遠都跳脫不出舊有的窠臼。
Sunday, December 04, 2005
Double-C-N-A

去年底用了公司的訓練費用,去上了 CCNA 的課程,所以今年的考核就有項必須拿到證照的目標。還記得一月就線上報名預約考試時間,但是基於準備不夠,加上自己懶惰以及些許逃避的心理,改期了 24 次,要不是這次真的狠下心來,想說一定要去考個經驗,肯定還會一直拖延下去,真是可怕的人性。果然是「人性本散」,懶散跟怠惰。
幸運地比通過標準多了 8 分,記得當按下 End 的那一剎那,螢幕畫面出現了大大 Congratulations 的字樣,還仔細看了一下分數,確定比標準高後,一時間也沒什麼太大的反應,倒還覺得有點意外,哈哈!
過了,今年的公司考核就又達成一樣,至少說起來要比去年好一點。不知不覺,在這家公司待了兩年多,不曉得自己還能再搞些什麼來玩玩!?要想想、要想想﹍
Sunday, November 20, 2005
Camp
Camp: a place where people live in tents or huts for a short time use. for pleasure.
其實 camp 不只這一個解釋啦!想要說說的是這次 18 & 19 兩天,公司主辦的活動。
公司這次是大手筆花了錢,在陽明山天籟溫泉會館,租下了可以容納三百人左右的場地,包括了房間、會議室跟餐廳等等,舉辦了近年來少見的稱之為 CAMP 的活動。用意是把所有工程師齊聚一堂,提供彼此交流的機會,也事先分組來進行所謂 team building 的活動,另一方面,也邀請來幾位公司顧客,從三場訪談活動中,做做經驗交流,推廣公司目前注重的 customer focus 目標。
打從一開始,就覺得同事間的參與感不是很熱烈,自己也是這麼認為,在案子趕忙的時刻,還要去應付這樣兩天滿滿的活動,一想到就反感,更意外的是自己還是其中一組的組長,所以還是必須扮演好自己應當的角色跟任務。
活動行程一公布,只叫人傻眼,一場一接一場的活動,似乎準備叫人沒有喘息的空間,第一天就要討論跟製作提案報告到十點半 (本來說是到十點啦!但是行程一直延誤﹍),與其這樣行程的設計,倒不如在公司會議室舉辦就好,何必大老遠跑到陽明山,花一大筆錢去睡覺,省下來分紅給大家不是更好。
再講到 team building 的進行,我想玩遊戲時倒還好,等到晚間製作提案報告時,你覺得一個小組裡有 manager、architect、senior engineer,那麼資淺的員工要扮演什麼樣的角色?當然就是被凹的角色囉!好一點,沒有官僚或學長學弟制的組別,大家也是跳不開「最好不要選到我、不關我的事」的態度,這時也不用講什麼 team building 啦!不要反目成仇就不錯了。
過程中看到的,還是有倚老賣老的情況,再不然,就是在爭論技術問題時,顯露出來的態度,「我的比你好、比你強,你的有破綻、有漏洞,哪邊不可行﹍」等等,或許是工程師性格使然吧!無可避免又是天雷勾動地火的景象,說穿了,還不是死腦筋、欠缺想像力,在那爭得面紅耳赤,就只為了那一丁點說穿了不值錢,又自以為是的技術能力,真可悲的工程師,容易陷在已知的框框裡﹍
第一天搞到晚上十點半,才有機會去喝個兩杯、玩玩牌,回到房間時,已經有幾位室友先就寢了,不過還是有一兩位跟自己一樣的夜貓子,洗完澡後又一起聊了一會,對工作、公司、同事互動間的看法,年底的組織重整、人事異動,又是大夥茶餘飯後的好話題,每個人心中都有自己的一把尺吧!
三點多睡覺,七點半起床,當然又是在會議進行補眠的工作。早上的行程一樣是充實又緊湊,中午吃完飯後已經有了要不要提前落跑的想法。在考慮的同時,剛好有位高層的經理人請櫃臺人員去開行李置放間,順道去拿了自己的行李也加深走人的念頭,搭了同事的便車就離開會場了,時間也剛好是要進行第二天下午 team building 的活動,希望組員們不要太在意組長提前落跑,哈哈!
其實 camp 不只這一個解釋啦!想要說說的是這次 18 & 19 兩天,公司主辦的活動。
公司這次是大手筆花了錢,在陽明山天籟溫泉會館,租下了可以容納三百人左右的場地,包括了房間、會議室跟餐廳等等,舉辦了近年來少見的稱之為 CAMP 的活動。用意是把所有工程師齊聚一堂,提供彼此交流的機會,也事先分組來進行所謂 team building 的活動,另一方面,也邀請來幾位公司顧客,從三場訪談活動中,做做經驗交流,推廣公司目前注重的 customer focus 目標。
打從一開始,就覺得同事間的參與感不是很熱烈,自己也是這麼認為,在案子趕忙的時刻,還要去應付這樣兩天滿滿的活動,一想到就反感,更意外的是自己還是其中一組的組長,所以還是必須扮演好自己應當的角色跟任務。
活動行程一公布,只叫人傻眼,一場一接一場的活動,似乎準備叫人沒有喘息的空間,第一天就要討論跟製作提案報告到十點半 (本來說是到十點啦!但是行程一直延誤﹍),與其這樣行程的設計,倒不如在公司會議室舉辦就好,何必大老遠跑到陽明山,花一大筆錢去睡覺,省下來分紅給大家不是更好。
再講到 team building 的進行,我想玩遊戲時倒還好,等到晚間製作提案報告時,你覺得一個小組裡有 manager、architect、senior engineer,那麼資淺的員工要扮演什麼樣的角色?當然就是被凹的角色囉!好一點,沒有官僚或學長學弟制的組別,大家也是跳不開「最好不要選到我、不關我的事」的態度,這時也不用講什麼 team building 啦!不要反目成仇就不錯了。
過程中看到的,還是有倚老賣老的情況,再不然,就是在爭論技術問題時,顯露出來的態度,「我的比你好、比你強,你的有破綻、有漏洞,哪邊不可行﹍」等等,或許是工程師性格使然吧!無可避免又是天雷勾動地火的景象,說穿了,還不是死腦筋、欠缺想像力,在那爭得面紅耳赤,就只為了那一丁點說穿了不值錢,又自以為是的技術能力,真可悲的工程師,容易陷在已知的框框裡﹍
第一天搞到晚上十點半,才有機會去喝個兩杯、玩玩牌,回到房間時,已經有幾位室友先就寢了,不過還是有一兩位跟自己一樣的夜貓子,洗完澡後又一起聊了一會,對工作、公司、同事互動間的看法,年底的組織重整、人事異動,又是大夥茶餘飯後的好話題,每個人心中都有自己的一把尺吧!
三點多睡覺,七點半起床,當然又是在會議進行補眠的工作。早上的行程一樣是充實又緊湊,中午吃完飯後已經有了要不要提前落跑的想法。在考慮的同時,剛好有位高層的經理人請櫃臺人員去開行李置放間,順道去拿了自己的行李也加深走人的念頭,搭了同事的便車就離開會場了,時間也剛好是要進行第二天下午 team building 的活動,希望組員們不要太在意組長提前落跑,哈哈!
Subscribe to:
Posts (Atom)