一个老程序员和他的1000万小挑战

接触软件程序有二十几年了,将近五十岁的程序员,在中国我想是不多的,至少在我周边很少。

我本非猿,却做了二十年程序员,我本非财,却做了十年财务会计。

没做过什么轰轰烈烈的事,也没参加过什么伟大的项目,甚至都没有任何出格的事,人就老了。看着那些小年轻,心里极是羡慕。到了这个年纪,不敢谈什么适应世界、改变世界的梦想。毕竟,世界永远是年轻人的。

虽然没有什么资历,但是一路平凡,也看了不少风景。单就阅读量来说,我还是读了不少书的,涉猎也算广泛吧,只是比较肤浅。就软件开发来说,我个人还是有那么一些感触。

我算是程序员的一个特例吧,作为老板,自己写程序,大部分是却给自己公司用。偶而也会给朋友公司写点软件,至于完全的软件项目,则是给我的拍档去负责的。

先讲下个人经历:

最初的软件是用C语言、AutoLisp做CAD的辅助开发,也是为了工作需要,纯粹是爱好,后来找了专业的软件开发工作,也去华为面试过,不过人家不要我,估计是嫌我基础太差了。毕竟我是非专业出身的,当时不服气,后来才知道自己的基础有多差。再后来去了港资、台资软件公司,他们做事比较规范,自己也开始学习整理一些东西。再后来就自己出来开软件公司,败得一塌糊涂,以为自己能独立开发一个软件,就能撑起一片天。创业后才知道自己什么也不是,市场才是价值。花了几年才从失落的阴影中走出来。而这几年也是人长进最快的几年。

人生最苦恼的时刻,也是最成长的时刻,但是大部分人都因为没人帮助而一蹶不振。而我因为妻子的支持,让我走出了那些年的困境。当一个人完全否定自己的价值的时候,你会迷茫,痛苦,找不到方向。这时,你自然会去思考,我是谁,人为什么活着,是什么造成了我与别人的差别,那么我能改变自己吗。这几年,我写了大量的日记,有厚厚的好几本,大部分是关于人的意识的。也查阅了大量的书籍资料。从神经科学、进化论、宗教信仰、哲学寻求解释人是什么。而这期间,我大部分时间是在学习和写作上,工作只是偶尔给别人做个小项目而已。当然,自己的爱好,写程序是没有丢的,一有时间,我就完善自己设计的一个架构,这个架构也是我一直在使用的系统核心。

后来,我们有了点积蓄,开始与朋友合作,渐渐地开了几家公司,有贸易,也有制造。虽然都不大,但是都用上了自己开发的系统管理,还算规范。而我,主要的任务则变成了财务会计,几个公司的成本核算、会计报表都从系统出,当时自己设计财务系统就买了金蝶、用友的软件来研究了一段时间,总结了他们各自的优缺点,经过简化、改进后基本十年没变。

因为自己是老板,因此,对于系统需要做哪些功能是非常清楚的,十年下来,修修改改,公司就变得必须依赖系统才能运作了。

虽然我只是一个小老板,但是从一个老板的角度对于企业信息化看法,与普通的程序员,还是有些区别的。而我周边的朋友,也大部分是中小企业的老板,不管上市或不上市的,对于信息化的看法也都有自己的见解。

每当一个朋友要在公司上信息化项目时,如果要我提点意见,我都会首先规劝一下,小心再小心。对于现代化的企业来说,信息化是必然,但是并不是上一个软件就是信息化。

在刚出来创业时,就以为只要自己能给企业量身定制一套软件,就能给企业解决信息化的问题了。

而现在,自己才感触中小企业信息化的路多么漫长。

那些大企业,动辄几亿、多则几十亿的信息化投入,问题尚且多多,不要说小企业花那么几万、几十万就能做好信息化了。信息化的成本,软件投入往往只是其中很少的一部分,企业架构的整改,人员的配置,流程再造,任何一项都不是小事情。

看看市面上的那些软件,推出的那些产品,能解决什么呢,所谓的OA,什么考勤、工作计划、人事管理、通讯录、通知、制度、车辆、知识、会议、审批。看起来很多功能,但是对于中小企业来说,这些大部分是可有可无的。很多公司上OA,无非就是想通过软件来规范公司的制度运作。

可是,真的有效吗?

如果一个企业,连考勤都要靠系统来管理,你的下属来没来上班,你都没关注,你还能管好部门吗?对于老板来说,我需要的是员工产生了多少价值,而不是他来工作了多少小时。

工作计划,是每个人自己的事情,不需要告诉老板,老板要的是结果。你需要资源可以预先找老板,你怎么做事的,则不需要告诉老板了,否则你的上级或老板很累的。

通讯录,对于一个中小企业来说,管理人员是不能太多的,否则沟通成本就很高了,因此,人手一份通信录,每个员工自己会维护好,因为那是他的工作,他的饭碗。

通知,现在都用微信群、QQ群了,为了及时性,通常在群里吼一句的。

其实没有OA软件系统,企业办公现在一样可以很现代化。

 

而对于贸易公司,进销存软件,是必须的,但是每个行业都有自己的特点,通用化的进销存虽然能基本满足要求,但要做到精细化管理,则必须增加一些其他功能。

 

而对于制造企业,MRP是必须的,但是很多小企业一样没有也可以运行,因为他们有一套Excel表格,自动展开运算,虽然麻烦点,也可以获得结果。对于程序员来说,觉得那个太lose了。但是别人一样有好处,如果你那个不可靠的服务器或软件系统出现问题,他就没法工作了,那如果耽误一天,可能工厂就停机了。

对于生产计划,通常基础数据不准确的情况下,运算出来就只是个参考,而要搞准确那些基础数据,是要付出很大成本的。不是你的软件算法不行,而大部分是工厂管理和人员素质的实际情况限制了。

 

因此目前我们看到的景象就是:

    大平台软件服务商:整些标准化的OA功能、进销存功能、财务模块。通常大公司独立开发OA,所以其实对于中小企业来说,就是进销存这个还能用下,而OA也就附带用下,对于财务模块,中小企业怎么可能把财务数据放网上呢。

    小软件公司OA软件到处卖,但是都很便宜,因为产生的价值不大。能忽悠一个是一个,老板通常不会心动。

    财务软件,是标准化的,通常整一个盗版的用着就行,对于大点的公司,也只是买个标准版的正版软件,很少做财务管理的定制化开发的。

    制造企业的MRP、APS、MES等,都是必须项目式的定制开发的,每个企业根据自己的模式,甚至是企业管理人员自己的模式来开发。

   

    再来看做信息化的人,老板亲自来做信息化,是不可能的,因为他不清楚从哪开始。但他最清楚需求,就是要效益。下面的管理人员,并不关心效益,而是最大化自己的利益,就是工作最轻松,整好了,自己工资加一点。对于使用的员工来说,最好是不要增加我的工作量,但也不能不要我了啊。那实施信息化的人呢,希望每个人都支持自己的工作,尽快把软件系统上线完事。系统上线了,公司管理是否就规范了呢,成本是否就节约了呢,那不是信息化人员关心的。因为他们相信只要每个人按照预先设计好的行事,效益必然是有的,至于有多少,是无法估量的。

    对于软件开发公司,必然就是以最少的投入,获得最大的报酬,如果客户一直拖,要改这改那,是耗不起的。对于中型企业如果有那么几个人组成的IT部门自己开发系统,如果不好用,就说用户不配合,如果翅膀硬了,就飞走了。

   对于老板来说,投个几百万下去,过两年,企业规模扩大了,或变革了,没人跟进改进系统了,又得重新来过,那是很痛苦的。

 

    现在很多朋友,都苦于这种恐惧中,不信息化,就是死,信息化,可能短时间会更加混乱。所以我大多时候跟朋友说,企业管理的提升,是企业管理改革、自动化、信息化三者结合最好。找一家合适的咨询公司,从生产管理核心开始提升效率,采用工装自动化和软件系统辅助管理改善,至于其他的办公信息化、财务、供应链管理则是锦上添花的事情。

 

   作为程序员,如果你仅仅是研究计算机技术,那么看到的问题往往只是片面的,解决的问题也仅仅是局部的。无论你从事什么工作,多广泛涉猎一些不相干的知识,对于看到和解决问题可能更完整。

   任何的科学,任何的技术,足够深入的时候,才发现哲学才是根本。很多不是一门知识就能解决的。而就技术本身而言,其他领域的认知,会更多给技术一些新思路。

   就编写一个处理文件的函数,那么必须清楚什么是文件,佛说一切皆文件。那么你就会有更抽象的思考,对于文件就不只是硬盘或内存中有名字的那个文件,而可以是一切数据。一个字母,一个条记录,都可以是一个文件。“有名乃万物之母”,你只要给它一个人类意识的概念,它就是它。

 

  我以前写程序,都是一堆类似的代码,现在大部分都抽象了。而对于业务理解也一样。就如库存管理,销售出库、销售退货、采购入库、采购退货、库存盘点调整、领料出库等等很多不同种情形,是不是每个都做一个规范呢。开始时是这样,后来发现很多类似的处理流程,对于库存本体来说,不就是进进出出吗,而进出也是一样的流程,只是一个正数、一个负数。因此全部可以简化成一个流程处理。业务简化、程序也简化。对于现金、银行日记账等一样都可以抽象。

当一个程序员不只是将用户的需求简单实现,而是有能力站在企业运营的最终目标去思考时,才真正成为一个资深的程序员,一个有价值的程序员。

 

挑战一下,一个程序可以节省1000万投入:

一日朋友提起他们公司半成品库存积压问题,就是每天500-800吨的薄板钢卷要开料(电器的外壳等都是钢板),利用率要达到99.2%以上,员工手工排版,为了利用率,就开出了很多半年也用不完的料。朋友问我有什么办法不。我算了下,他们现在开出的那些料几千吨半成品,积压的资金有两千万以上,还需要场地堆放,需要人管理,找料也更困难,因此如果能将库存理想控制当天用当天开,那么产生的经济效益还是不错的。怎么解决呢,找朋友给了样板数据。

1. 问题要求:

    1)钢卷材料宽度固定为1200mm

    2)每天要开的板条宽度和数量由MRP系统跑出。

         样板数据(130.5mm,21条)(65mm,2条)(122.5mm,11条)(133mm,30条)(56mm,20条)(55.5mm,40条)(85mm,10条)

     就是要将宽度数据全部排列组合成多个1200mm,   

    如一卷钢,1200mm,可以开出122.5mm的9条,还剩97.5mm,可以开85mm的一条,还剩17.5余料,那么这样的开法,利用率肯定达不到99.2%的,因此要不断尝试。

   以上样板数据,需要多少卷1200mm的钢卷呢,怎么排?

  单从技术上来说,是无法完整解决问题的,因此要求程序员要站得更高一点,从管理者角度,看可以获得哪些资源。而如果你对于算法本身要解决的问题不能预估,那么就会陷入算法问题本身中。

   这是一个最优组合排列算法,如果你能解决这个问题,那么算法也算没白学。

   如果你能解决这个问题,我们可以一起创业去,身边很多的需求,可是没有人才来解决。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值