我单干的这个项目是:公司已有一个用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. 是不是我能力不够? 大家说我这样的人到中年了的两孩子的妈妈, 还能继续搞软件开发吗? 欢迎拍砖