我單幹的這個項目是:公司已有一個用traditional ASP 寫的Web Application. 但由於最初的數據庫設計很不合理,沒法擴展, CODE也很難維護. 我的任務是重設計數據庫, 再用 C# ASP.NET 把程序寫一遍.
我做得很努力. 當我把數據移植到我新設計的數據庫上,並運行我的新係統時, 做到了數據和該實現的功能跟老係統一模一樣時, 我自己都為我自己感到驕傲. 這要求數據移植的無誤,程序邏輯恢複得也無誤. 整個數據庫我設計了30多個table, 寫了幾十個SQL scripts才把老數據庫的數據移植過來. 我還把已有的難讀的ASP CODE 讀了N遍(寫的人已經不在公司了). 我新寫的WEB Application 包含近20個頁麵. 七八個Class. 70多個store procedure(有些都是上百行的). 好幾個customer control. 設計的軟件都是n-tire的. 所有的都是database driven的. 還給他們用的很多好DD: Master page, form authorization, AJAX, etc. 我覺得都挺Professional的. 我開始要求600小時,走的時候才用了500多小時.
在最後REVIEW 的時候, 大家七嘴八舌提了一堆idea. 老板和project manager 都不懂太多的技術, 老板是連business logic都不知道. 他們就界麵提建議, 比如這個DD要放在最上麵, login 頁上應該如何如何, menu要重新組合一下等等. 還提出了一些以前沒告訴我的新的feature要實現. 其實頁麵的設計都是4個月前大家開會討論一直通過的,隻是他們都忘了, 看到我做出DD演示給他們,又有了新的想法. 但我仍覺得頁麵的組織不是個大事兒, 就說了這樣一句:”All the functionalities are the power code of the project, GUI is kind of ice on the cake.”. 其實也不是頂創, 我就是強調一下.
到了周五,老板就把我叫到辦公室. 他說:”我們覺得我們需要找一個更有經驗的人”. 他列舉了一些理由:
(1) 我不能直接face client. 他說: 每次客戶有什麽要求都要先跟他說, 他再轉述給我,甚至還要把具體的步驟告訴我, 按道理我應該可以直接跟客戶打交道的. 我說:”你從來沒有要求我這樣做”. 他說:”I never asked you to do this, that is because I think you are not there yet”
(2) 他說我時charge 時間太多.比如有一個活兒, 他指望我10個小時幹完的,我最終charge了將近20小時. 實際上是,我從來都是很快就把活兒交出來的, 總是我在等別人.
(3) 他說我很難聽懂business logic, 就拿幾天前的REVIEW來說, 他和project manager都在一個page 上, 就我一個人還在堅持我自己的, 我讓他覺得很frustrated. 其實他們要求要改的地方我都接受了, 不就是說了兩句comments嗎?
我心想你對我這麽苛刻, 不想想你才付我多少工資. 我問他:”你雇我的時候, 對這個position 是個什麽樣的expectation?”. 他低頭說:”probably open that position is a mistake. We would like to pay higher salary to hire a much more experienced person. Your performance is well. You are very smart. You can choose to stay here to work for another month”. 我說:”我不再幹一個月了,我收拾一下,馬上就走”
另外還有一個情況是,我們組裏幾個星期前剛剛雇了一個有12年經驗的developer.
我覺得很傷心: 我都努力了,我還不能meet人家的 expectation. 是不是我能力不夠? 大家說我這樣的人到中年了的兩孩子的媽媽, 還能繼續搞軟件開發嗎? 歡迎拍磚