权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

这几年已经组织开发或者即将开发我的或与我有关的第7个薪资管理系统、第5个人事管理系统,从中你觉得啥才真正值钱?

2009-02-07 03:31 通用C#系统架构 阅读(...) 评论(...) 编辑 收藏

开发管理系统N年了,我还没彻底厌倦,我其实也很佩服自己,为什么这么喜欢做枯燥的软件开发,沉迷与无聊的被人看不起的管理系统,
越战越勇,越来越来精神,越来越有感觉体会,导致今夜又失眠了,开发管理系统对我来讲是娱乐消遣。

1. 先从薪资管理系统讲起

大概在2003年左右,宁波的一家中学、小学、幼儿园同时需要一个薪资管理系统,他们3个单位的薪资发放栏目都不一样,发放的模式也
不一样,有的一个月发一次工资,有的一个月发两次工资,还有老外的工资也要发放(注:老外的个人所得税起证额是跟国内的人不一样的),
个人软件上线后,一直用到现在,我们的个人所得税起证额,好像发生了2次变化,我没去修改过程序,每个单位发几百个人的工资,工资条
又需要水平的,垂直的,工资发放时转账的银行也不一样,所以各个银行需要的数据格式也不一样,有的要文本,有的要Excel,有的要栏目先
后顺序格式不一样,三个单位3种需要,我总不能开发三套吧?需求是不一样,甚至是冲突的,说白了,你想得很简单,觉得互相冲突那就得
开发三套系统了,那绝对是不对的,虽然客户的需求是矛盾的,你表面上是矛盾的,其实不矛盾的,说不定那天另一个单位工资也分2次发了。
当时项目的预算不多,这3套系统用 C/S 开发了基于SQLServer数据库的,也不需要开发说明,客户也不要求要设计文档,软件好用就可以
了。当时系统里的数据库底层访问组件,就是用我现在这个的早期版本,这个程序现在还能跑得起来,我只是没精力去推销这个薪资管理系统,
具体功能说说,还是很厉害,若是遇到相对简单的薪资管理绝对可以用上,我也能卖出去的。
当时这个系统里权限处理,也是用的是我现在的权限处理的早期版本,变化虽然表面上不大,但是已经有质的区别了,
诚实的说,我参加工作的第4年,我才真正知道我们国家的个人所得税到底是怎么发的,那个公式是啥意思,哪个钱应该先扣,怎么扣,
然后才是怎么怎么了? 三金怎么算?降温费,通讯费又怎么算?房租水电费又怎么算等等我彻底搞了个明白。

我大学毕业后的第2年2001年,到了当时宁波最大最好的软件公司,叫宁波宇泰公司(台资)去工作,我在哪里学到了很多很多,我刚去的时候,
就搞不明白当时为什么外企,台资企业收入那么高,真的是有很大的差距,那时候带我的经理都是月收入好几万的,也算是台湾的精英层,
我第一次学会项目管理是什么?开发人员应该如何管理?什么才叫专业的技术?如何团队开发?如何真正用SQLSERVER。虽然我很早也自
学了数据库,那简直是差了老远了去了,不是一个数量级的,什么叫牛人,我第一次感受到,当时那些人为什么月薪有好几万,的确有水平啊。
我为什么现在底气很足,也是由于那时候基础打得牢固一些的原因也有的,在外企你,就算是台资企业,稍微厉害些的,也能学到老多知识。
当时公司开发ERP系统,想做全国最好的ERP系统,虽然没成功,现在也是很多公司难超越他当时的水平,我虽然没参与到ERP的开发,但是我
会经常关注,项目是在如何管理,都用什么控件,报表如何弄,安装盘如何做,软件注册怎么搞,软件的网络化管理是如何实现的等等,我还有
一次帮着去改进ERP系统里的权限处理,从那个时候开始,我着迷了权限管理系统
,因为台资企业非常注重管理、权限、流程等,我当时的意识
就是权限管理是整个管理系统的核心命脉,把当时公司里的权限管理思想彻底学了个透彻,按时髦的话讲就是完全符合RBAC什么的,其实也
可以讲,我2年前才彻底超于了当时的宁波宇泰软件的权限体系,我研究了6-7年,才彻底超越了2002年左右时的我当时宇泰公司的权限思想
当时我在那个公司是研究 Linux + mysql + php,做的项目是 postnuke 的二次开发,那是当时开源世界里排名前10的,最近几年的VB.net
版本的postnuke的排名也很靠前面的,不是吹牛的,我当时把整个 postnuke 的PHP代码架构都背了一遍,我现在的很多处理思想也是从那里
学过来的,也并不是我自己创造的,因为我不是神仙,一直在那个公司做了接近3年的Web方面的技术,所以我对B/S的系统非常自信,了解的深
度也是足够的,从那个公司走出来的人,现在大多在IT软件领域都混得不错,最差的也都在当部门经理吧,我就是属于哪个最差的一个之一。


大概是2006年吧,我自己开公司时,承接苏州明基逐鹿外包部门的二次外包单子,当时做安徽电力的人力资源管理系统,项目进行了有些时间了
我们派过去的工程师,搞不定薪资管理模块了,我亲自出马了,到了安徽合肥,薪资到底是怎么个回事我清楚得很,带了2个工程师,用了1个多月
轻松把当时安徽电力集团版本的薪资管理系统全部搞定了,当然那2个工程师,差点儿虚脱了,他们两个也很努力人品也好。这个项目里我对薪资的
管理的了解高度及深度充分派上了用处,相对来讲项目进展得非常顺利,扭转了整个局面,开发底层是用了安徽电力的规范的开发平台,我们只管
开发程序就可以了,他们是B/S版本的 Oracle 数据库的,经过这次的折腾,我对薪资系统的了解深度又提高了一个层次,跟上一个系统比,重复利
用的就是对薪资系统的了解情况,是由明基逐鹿的工程师做的需求分析,由我工资组织的编码,由安徽电力提供的开发平台。明基有要求这个项目的
相关资料不能外泄,也签订了合同,我就当时没保存在自己的电脑上,那时候的想法是做一个好的商人,说话算话,那个项目我干得很拼命,正好是
我创业的最高峰期的时候。

2008年,我到我们杭州分公司工作,当时我要求来工作的,所以就保持低调了,领导给我安排了高级程序员的岗位,求人家来的,那只能是安排啥
就干啥吧,说白了自从毕业以来,我第一次这么低调,我一最普通开发人员的姿态,参加了义乌的一个大型企业的整体信息化项目,当时我看了数据
库设计不合理,提了几个改进意见,人家不吊我,我没办法,我看了设计规范不太好,注释的写法命名也不太好,又提了改进,人家没吊我,全部被
驳回了,我说我做外包人家要求都很规范的,项目经理说了,我就做外包的技术总监,我无语了,看了整个系统的权限设计,我又提了几个改进,人
家也没吊我,项目经理觉得他是这个领域的专家,他的设计才是合理的,我又无语了,他觉得他的是牛X的,最能符合客户的需要。他要我开发费用
预算这部分,我以前做过这个,我一个月越多,吧分配给我的任务做好,但是我死活不用他的架构,我实在是忍无可忍,我就他的架构里内嵌了我自
己积累的架构,我第一次体验了一下,多种架构其实在一个项目里也可以完全平滑兼容,用户是表面上是根本看不出来的。
在宁波工作时我被N个人批评我不用代码生成器,这段时间正好可以在义乌安心研究一下,我就花了1周左右的时间,把后台的代码生成器做好,然后
用PowerDesigner 把数据库结构设计好,然后用代码生成器一天产生了接近1万行代码,把1周的时间都补过来了,至少心里上会产生安慰,我平均
起来每天还是一天1千行的标准规范代码产值,不是吹的一般人达不到的,我总算把这个代码生成器的心愿了解了,自己也体会了一下代码生成器的强
大威力,有关代码生成器的文章请看 http://www.cnblogs.com/jirigala/archive/2008/07/28/1254763.html。后台代码的成生器你想要啥样的?
只要跟我说,你愿意付费,我在一周内全部给你搞定,费用也不太高,大家多发布一下前台的代码生成器吧,这个已经没啥意思了,微软也都自带了。

通过这个项目我逐渐意识到,不要指望改变别人,别人不想提高或者进步,你也别管了,做好你自己的事情就可以了,想改变别人最终是得到别人的
厌烦,及排挤,白猫黑猫能抓老鼠就可以了,也没必要争,更没必要吵,自己还落个不好的名声,等他来问你,你就回答,乱就乱去吧,反正这个项
目我不负责,结果这个一直到年后了,还没能进行完,当然项目的工作量是很的,不只是项目经理的问题,这个薪资管理系统,我明明知道数据库设
计不合理、系统架构不合理、编码不合理,税怎么算也会弄错,我也懒得去告诉怎么算了,你觉得牛X,你自己去弄吧,我也懒得管你了,是你提高,
又不是我提高对吧,何必我跟你过不去呢,随他去吧,这里差点儿那里差点儿,整体上就差了老了,70-80-90之间有啥本质的区别,难道都是10分吗?

2009年,快到春节前,我在宁波时的BOSS来杭州了,看看我们中高做的项目是怎么个情况,看了看,是否满足宁波的需要,我就装傻了,老老实实
的,因为我说我是薪资管理的专家,那不是得派我到宁波去做薪资管理了?说白了,一定会是跟安徽电力的需要很接近的,都是大企业,都是国有的,
都是有几千几万人,能不一样嘛?但是我不之声了,因为我想陪老婆在杭州在一起,好不容易走到一起啊,我去宁波做项目,老婆跟别人跑了?我这辈
子咋么过啊?明明是我擅长的,我做过的东西,我就装了个哑巴,装了个跟我没关系,一方面可能表明我已经老道了,狡猾了,另一方面我的干劲可能
有些被抹杀了,我去拼死拼活把这个项目做好了,也不是拿我月薪嘛,也不会给我补贴的,哎,对一公司整体来说,像我这样的老狐狸不能太多,需要
多几头高产量的大母牛,说实话我也有些怕去宁波公司了,因为我总会遇到总总阻拦,好再我没恶意,出发点都是善良的,我太完美注意者了。宁波的
人事薪资管理系统应该要上线了,我的经验总结没派上任何作用,不知道他们是否采用了我的以前积累下来的东西,我离开也快1年了,基础类又改进了
很多,又好用了很多,但是我怕给他们了,又会引起很多人的意见,我宁可不给了,若需要向我要,我再给吧,不过1年前的版本也是很好用的,改进是
永无止境的,但是改进的接口功能变化会越来越少,越来越成熟稳定,几乎更换一下DLL就可以,其他什么都不用做,这是分层的优势,分工的优势,
你不用管了,别人会不断改进,你改进你负责的那部分就可以了。宁波公司里有些人总想开发一个比我的更好的开啊平台,我又不能打击,因为你不能
打击别人好的思想,那我不是成了顽固派吧,鼓励吧,又多了一个小山包,到处是山包的问题,说实话真的很伤公司的元气,动不动就开发个什么开发
平台,哎呀,菜鸟也不行,还得投入精华力量,这些人年薪、公司的开支都都应该会有5万以上,2-3个人搞的1年,10-20万又白浪费了做不好了吧,
拍拍屁股走人就可以了,等东西做出来,.net 里又出来了新技术,哇靠免费的,还更好用,你用自己的,还是用微软的?凭空开发平台是最轻松的,
因为客户不会烦你要实现这个实现那个,想怎么搞就怎么搞,先搞上1-2年再说吧,自己也是提高,又采用新技术对吧,公司又不是我开的。而且大家
也对新事务,新想法,很有好奇心,我现在拉你去开发,你也愿意,他们还没深入了解我的权限,就给我下一个定论你的权限不行,因为我心目总想的
这个问题,你是解决不了的,还没等我说,扭头就走了,哇靠牛X了,你以为我是混饭吃的吗?这么牛X, 服了你了。

2009年春节放假前,我们一个新项目开始启动了,里面还是有薪资管理,我也懒得自己开发了,有没有谁做得更好?我又不去引进宁波的成果,直接
就在网上公布了,我需要薪资管理系统,结果没人理我,我给钱也没人理我,薪资管理系统需要啥功能大家不知道嘛?若你是做过信息管理系统?心里
应该很有数,我自己也感觉累了,花点儿钱买一个好用就买一个吧,钱是赚不完的,拿拿工资,就可以了,一切都慢慢来吧。

可能我们公司的人都以为,我不会搞薪资管理,或者我不懂薪资管理,哎,说不定我比我们公司的会计还懂,
因为我们杭州公司的会计总是把我的工资算错,老是把个人所得税搞错,我也懒得管了,也不是我能管的职能范围,
说白了2003开发的那个软件,现在给公司装了用,也完全能满足我们公司的工资要求,但是我去惹这个麻烦干啥?
我真的变成老狐狸一个了,太狡猾了,这个新项目启动起来了,以往的内容哪些是值钱那?从公司老板的角度考虑问题,
总不能指望我吧,那我走了,怎么办?我不加薪,我死活不干了,老板怎么办?公司的积累应该如何积累。

若真的水平很高,以上7个薪资管理系统,完全可以由一套软件来满足所有的需求,不是不可以真可以,没啥了不起的,你真的把薪资彻底搞明白了,
我要是一搞这个,还真有些信心,我还见过我们宁波公司代理的北京一家公司做的薪资管理系统,完全自定义,只是C\S的版本的,还真的是几乎是
万能的,人家那个公司上百个人,就搞薪资,能做不好吗?实在没人给我提供,我就把2003年的那套软件拿过来部署,就完全可以了,你开价太高了
我宁可稍微维护一下2003年的系统,就可以满足客户的要求了,因为分层架构,权限架构,跟我现在的是完全兼容的。

说白了管理系统搞来搞去都是搞这些,当你碰到了这样的项目是千万要学会珍惜,把成果沉淀下来,不断在不同的项目里完善改进,你的工作效率会
很高,会变成这个行业专家,平时开发管理软件也不累了,因为需要只是大同小异而已,你不能老是换方向,一方面你啥都不精,日常工作也很累,
东一个西一个,10年,你啥都懂,啥都没有,别人需要啥,都需要从零开发,你两手空空进入IT行业,让你两手空空离开IT行业,我很害怕这个,
所以,我从2002开始写的代码,几乎都在电脑里,2003年写的系统,也经常在维护与时俱进,这些都是我当时花了好几个月的努力拼搏出来的,
按女人来说,那是我生出来的孩子,我看着不顺眼就可以丢了?把自己的孩子想丢了就丢了,随便不去管他嘛?你不想让你的孩子成长提高嘛?
犹豫以前给他买了衣服,他成长了以前的衣服穿不上了,你还要买新衣服,由于这些合理的理由借口,你会想尽一切方法阻止你孩子的成长吗?不会吧。

国家为啥搞计划生育,强制要求你不能生太多的孩子,将来厉害的老板,有眼光的老板也会强制法律一样要求,程序员不能弄出太多的小山包,一个公司
只能生一个孩子(一个小山包),要讲优生优育,精耕细作,像日本维护自己的稻田一样,软件也是一样的道理。

开个玩笑,你今年又生了吗? 可以彼此开玩笑了,一个软件公司别生太多的小孩,你照顾不过来,一个国家就有100个男人有20个男人就踢足球的
精英,那可能这个国家专门搞全世界的足球比赛就可以了,生10000也多余,应为就需要20个男人就可以了。

不要觉得天下就你厉害,你的难题别人也解决不了,我也会仔细学习 RBAC 权限的国际模型, 也会多听听大家的意见,大家也别不管啥,就有个
谬论产生。

 开发软件,本来就是人来一波走一波,春分吹又生,一年换一波人,一波又一波。所以你必须要事先想好人员的变动因素等,如何自己积累经验成果
公司如何积累经验成果,都是很深的学问。

 



C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友