总写失败的经历,可能会误导大家,大家会觉得吉日嘎拉是个失败王子,更是常败将军一样、百战百败一样,总战总败?也可能会对刚开始学习软件技术的人也会有一些消极的负面的影响,大部分人也会觉得我的开发水平、管理水平很糟糕一样,其实我也说不出来有啥独特的技术,自己总结下来后:“以最快的速度搞定客户的实际工作需要,把项目用最快的速度做好、最稳定高效运行,能经得起长期的考验,大数据量的考验”。
故事的一切前提:
你是个工作狂,工作拼命,不管是打工还是创业,不管是xx还是春节,你心思都用在工作上,为了把工作做好就算打工你也可能经常搞个通宵,没有这样的拼尽、干劲,几乎什么东西也做不成的,连打工都打不好的人,想独立做项目或者创业,那基本上失败的可能性是90%还要多吧。
我创业时总结了一些开发方面失败的经验:
01。当你想自己开公司时,做项目需要的东东,不是你自己开公司时才开始准备,而是在你打工的时候就全部提炼好,真正做项目时一个月4-5千元薪资的程序员,一个月有可能啥明显的工作成果也干不出来的,你也不能因为这个把他开除了,你也拿他没办法的,而且你还要指导他怎么怎么做,而且做出来的东西也不太稳定,复用性也比较差,而且还有人员流动的风险,给你留下搞了一半的半摊子项目,让你死去活来,现在开软件公司的老板应该会有比较深的体会。
02。你需要有个比较稳定可靠的数据库访问层等等,可以提高软件开发速度、减少编码工作量的稳定高效的组件、同时也可以适当的约束你的同事、合作伙伴。
03。你需要一个{wn}的管理类软件的后台管理效果,例如菜单的控制管理,里面的页面都怎么做,需要有一整套的固定风格,而且做得也比较漂亮大气、稳定可靠的那种,这样你不管接了什么项目,稍微修改一下就可以在下一个项目里用,见效快不会乱折腾,尽量不要在这方面消耗过多的成本。
04。你应该有一套稳定高效的后台控制工具,例如用户管理、用户的权限控制,系统的菜单管理、用户的菜单访问权限管理、角色管理等,而且不能有丝毫的错误,稳定得要命,你可以在几分钟内就可以部署好你的管理功能工具,几个小时内就可以把用户的账户权限等全部配置好,想都不用想就可以搞定了。
05。你还需要一套高效的数据库设计工具,总不能系统需要啥功能就建一个表、做到哪里算到哪里,那你这系统早晚会崩溃的、明显是属于乱搞嘛。
06。你还需要一个高效的代码生成工具,那些底层的,没有技术含量的代码都不要靠人工写了,人会累会马虎会大意会走神会偷懒,这些都使用代码生成器写就可以了。
07。你有一整套的成熟的日常工作上遇到的问题如何解决的成熟思路,例如编号序列生成器、参数管理工具、日志管理、数据备份、当然哪些左链接啥的对你来说是小菜一碟就是,想都不用想就可以搞定了。
08。简单的页面,你可以在半个小时内做得一个bug没有,而且精力旺盛、斗志比较高、身体也强壮一些,否则也吃不消连续的高工作压力下连续工作多天,有上百个功能等着你要实现,你要有足够的心理承受能力,否则会精神分裂或者压抑暴躁。
09。你有严谨的思维,可以把一个项目分解成几百个小功能点,然后不重复折腾,先后顺序井然的,一个个的,一口气作战把一个个页面、一个个功能都能搞定,每天都搞定10-20个功能,甚至更多,而且就像是玩一样的速度,工作就当成娱乐而不是痛苦。
10。你能处理非常复杂要求的功能页面的能力,遇到再复杂的功能,你也心不乱、心不慌,估计需要你{yt}之内就可以搞定吧,Javascript 、ajax 等用得也比较熟悉一些,三下两下就可以调试通过。
11。你还有几招必杀技,例如有比较技术震撼力的解决思路,解决方法,解决方式,友善的操作页面等等。
12。你需要有{yt}能测试出别人程序100-200个错误,能检查出上百个代码不规范,同事可以检查3-5个人的代码,一眼扫过去就能大致知道这个人写程序哪里会有问题,程序还没运行时,你就能说出这个程序会有哪些Bug,哪些安全隐患等等的能力。
13。你有{zg}配置的笔记本电脑,电脑要能跟上你的思路,N多的工程瞬间就能编译好,根本不会在编译调试上浪费时间,有熟练的调试能力,三下两下就可以把复杂的功能调试好。
14。你有大规模可复制粘贴的大量范例程序,可能是你3-5年来一直在完善的例子程序,哪个功能从哪个文件的哪个位置复制粘贴,连想都不用想,瞬间就可以找到复制的区域,我的电脑的ctrl + c, ctrl + v 键盘几乎是磨损得最厉害,我根本不讲什么创造性,1个月搞定10万,客户也满意,你也满意就可以了,何必瞎折腾呢?
15。说百了,需要“数据库设计规范、编码规范、页面规范、权限架构规范、规范的例子程序、代码生成器”有了这些,再来一个神速的复制粘贴 + 惊人的调试组织能力,严谨的项目拆分、组织、先后顺序安排能力,这个项目就像玩一个搞定了,只不过是一个过程而已,因为是重新开发、有上百上千个功能点所以再神也不可能{yt}内搞定而已。
16。客户要的不是高科技,就是那些通俗的日常业务,只是需要你做得越快越好,越好用越好,越省钱越好,越稳定越好、你懂什么设计模式、接口、泛型、委托、代理、工作流、silverlight、WCF、WF、WebService等等一大对狗屁技术还不如把用户界面做得更漂亮一些,你懂什么某个性能的{jz}优化,还不如把你的项目整体做得最稳定、最可靠、最方便客户操作、整体运行效率高,客户就最满意,而不会偏重与某个细节上,客户更注重的是项目的整体。
17。客户关心的不是编码、用什么语言、代码质量等等,客户关心的是能否满足他们的需求、能否实现那些最基本的功能,但是你编码太烂,就经不起客户的折腾,人家功能稍微变动一下、逻辑稍微更改一下,你的烂代码就瘫痪了,俗话讲的话,就经不起折腾了,在我眼里,代码再烂能经得起客户的反复折腾而不乱就是好代码。
那你若具备了以上几个要求,那下面的故事就可以开始了。
有一家上海的小型IT公司(10个开发人员内左右吧,估计其中有2个人开发这个项目)承接了杭州一家电子商务公司的B2C网上购物系统,前后搞了3个月,总是远远满足不了客户的实际需求,因为软件系统必须要经得起实战,客户的投资也不小,项目等{yt}就是损失好几千元,还有跟钱一样重要的是时间成本,机会成本,十几号相关的配套人员就等着这个项目上线运作,前后3个月了也远远满足不了客户的各种需要,客户的运行总监自己也是IT行业软件出身他也看出来要靠这个小软件公司早晚是个死,就下决心叫停这个项目的开发了。
他找我,问我多久能做出来这个项目来?我评估了他们已经做好的功能、程序代码、数据库设计等等,基本上是中等偏下的水平吧,代码有些乱,数据库有些乱,类也乱,分层也乱,我也没耐心去维护那个代码,我就直接跟客户讲,这个公司的水平不怎么高,接下来能把这个项目能做好的希望是渺茫一些,而且他们越做越赔钱而已,开发公司也确实支撑不下去了。
我网上找了一些网上购物的现成的软件,基本上是PHP的多,我是没能力去折腾修改PHP的程序,那估计对我来说是个折磨,我找了一些其他.net开发的项目,也不是很理想,我自己也评估了一下,系统整套的功能做下来估计需要3周-4周,而且接下来都会非常容易维护,系统的稳定性也高一些。
客户的时间和宝贵,后面还有更大投资在进行中,客户跟我说得很实在他们只肯出10万的软件开发预算,只能有1个月时间,问我是不是愿意帮他们一下?我想了一下,也不好拒绝,正好想买个车子,有10万也差不多了,不够的按揭买个车也不错。
客户说,我怎么可以相信你,你一个月内可以完整的完成这个项目?我的回答“若我不能按时完成这个项目,我愿意赔偿4万元”,因为我只有这么多存款,其他实在没钱了,那就签一个合同,不能按时完成,就按合同来。
接下来,我大致的时间安排是:
01:用了{yt}时间,说服他们的公司的从上到下,是足够可以完成这个项目,让他们彻底相信我的能力。
02:用了{yt}时间,把他们现有的系统的功能都了解好,然后把客户的期望值了解好。
03:用了{yt}时间,把他们的表结构整理好,把没用的代码删除掉、把没用的层什么的删除掉。
04:用了三天时间,把他们的系统的错误都修正好,让网上购物程序先跑起来【客户必须能提早{yt}上线,就需要提早{yt}上线,无法容忍拖延下去了】。
05:用了{yt}时间,把他们系统的外部广告推广接口实现好。
06:用了{yt}时间,把心的SVN服务器架构好,把新域名配置好,把数据库服务器、网站服务器配置好,把后台管权限理工具配置好,把前台购物网站、后台管理网站配置好。
07:用了五天时间,把前台购物网站全部重新实现好,用户的注册、购物车、订单确认、配送方式、邮费、商品购物、游客购物、 支付宝接口实现等等全不实现好,几乎没有停顿,平均{yt}10-20个功能实现好,{yt}2-3个功能页面搞定好。
08:用了{yt}时间,给他们展示前台功能,让他们了解项目的进展。
09:用了{yt}时间,把他们原有系统里的数据全部导入到新系统里,不用客户重新输入数据了,几百条纪录人家也是输入了很久的。
10:用了三天时间,把商品的管理、上架设置、价格设置、库存设置、尺码款式设置、产品说明管理等等做好。
11:用了三天时间,把整个订单的管理、配货、发货、收款、退款、客户服务、评论管理等都做好,平均{yt}10-20个功能实现,{yt}平均3-4个页面的速度。
12:用了{yt}时间给他们演示系统的功能,其中用了半天时间,部署新的网站,项目成功上线,就等客户验收付款。
其中有几天,心情不好睡懒觉、陪老婆看电影,逛街,写博客吹牛,主要是觉得做网上购物的程序,前途还是比较光明,市场也会比较看好,现在人人都开网店,网上购物也越来越普遍,稍微有钱的公司,有钱的老板,都想按自己的方式来个网上购物网站,投资个10万8万也觉得很正常。
千些日子,我老婆的师哥,在北京找了个人做一个网上购买书的电子商务网站,砸了个万八的,{zh1}项目失败了,其实你不要觉得做一个B2C的网上购物网站有那么简单,你可以自己做个试验,你真的能用1个月的时间,能做出一个完整的网上购物系统(包括前台、后台)吗?
我这些年,就连就了一个水平,如何用最快的速度把项目拿下,一个项目拿下了后,我就会休息,寻觅机会,不断完善自己的工具、架构、把积累再巩固一下,等把下一个项目用更极限的时间完成。
只有那些陷入困境的项目,客户很急的项目,有紧迫的时间要求的项目才比较值钱一些,比较刺激,比较挑战极限,我并不是为了炫耀自己,只是想给那些学计算机软件的朋友们一个信心,做软件是可以赚到钱,但是需要你付出很多努力,需要你有很多积累。
同时也向经常打击我的朋友说一声,我没啥其他能力,只有一个能力就是神速搞定陷入僵局的项目,以最快的速度把软件项目完成,这就是我这些年练就的水平,就只关注了做软件赚钱速度,其他什么都没怎么在乎,你若不服,你可以自己折腾一下看看,网上购物程序,订单管理系统、互联网是时代发展的潮流。
写得乱了一些,希望能对你有所帮助,别人再有需要网上购物程序的,别忘记跟我合作,我这里有成熟的网上购物系统,代码质量高,配套工具也全,一起合作赚钱,还是比较开心的,我们不要跟钱过不去,我是能把事情办成的人,你也有希望从我身上赚到钱,拿我赚到钱的希望是有的,我有你可利用的价值。
当然我们做出来的软件系统,客户天天在用,为全国的朋友在做服务,也是值得骄傲的事情,很有成就感的事情,当然你连一个月都没用把整套的B2C网站系统都做出来了,那我可以很认真的告诉你,你强,我认输了,我不是你对手,我错了兄弟,你才是真正的软件人才。
机会不是天天都有,1年能碰上这样的机会1-2次就往往就足够了,一个开发人员一年才赚几个钱?累上1-2次,休息个5-6个月,应该也没啥问题,每次项目突击好了,把经验再总结一下,把自己架构中的不足、程序中的不足好好优化一下,把做新项目学到的知识,可以重复利用的模块再优化一下,放入自己的知识库,等下次更好更有油水的项目,在家里等等机会,网上写写文章,让需要的人能 及时搜索到你,能{dy}个搜索到你,就是在家里喝茶,也有希望钱会找上门来的。
有时候别人会说,吉日你也太能吹牛了,我可以用以下几点来证明一下:
1:我的大老婆是笔记本电脑、真实的老婆是属于二奶的位置上。
2:{yt}除了睡觉、偶尔想想美女外,脑子里全是软件程序,虽然水平不高,但是日常生活里遇到的问题想得足够透彻。
3:一个技术问题若没能解决,我{jd1}是饭吃不下,觉睡不着,非把这个问题解决了不可,有些问题可能折磨我三五年,才能想通。
4:看过N多书、N多技术文章,平时不怎么看娱乐新闻、也不看任何名著、也不看连续剧、生活单调无趣。
5:10年都超过了,几乎天天是这样的生活,猪也能变成高级程序员了吧,傻瓜也能会写程序了吧?天天琢磨这玩意儿啊。
6: 今年是大学毕业后的第10年了,还经常想程序想得走火入魔,经常深夜起来写写程序,把自己的思路及时记录下来,每个月至少都会有那么1-2次吧。
什么叫赚钱:
1个项目,你干了4周,报价2000元,把工作死去活来的做好了,那也叫赚钱。
1个项目,你干了4周,报价10000元,你把工作死去活来的做好了,那也叫赚钱。
1个项目,你干了4周,用了2天时间、说服了客户这个事情值10万、用了2天时间把成果展示好、让客户从上到下都满意都认可你所做的工作,最终大家都开心的支付了你10万的辛苦费,也叫赚钱。
你今天创业了,你的思路是用在,用4周把活儿干完上,那你是猪了,你思路用在如何让客户相信这个东西值10万上,那你可以经商去了,创业失败的可能性比较小了。这就叫做,会写程序与会经营的区别,你就是用了1天时间完成了,报价1000元?能证明你什么呢?比我厉害30倍吗? 我给你算一下10万元/1000元 = 100倍的收益差距。
4周若是觉得太短了,我还见过1-2天就能搞定一个电子商务网站的人,网上下载一个免费的PHP的电子商务网站,然后按客户的要求,把图片换几下,数据重新录入一下就可以了,每次收费1000-2000元左右,只是客户的需求更简单一些,逻辑也简单一些罢了,你若真觉得我4周时间太短了,有必要我也可以写一下,2-3天一个电子商务网站搞定的文章来给大家分享一下经验。
【定制网上购物程序】【定制网络订单管理系统】【提供B2C高质量源码】【定制网购程序】【提供电子商务源码程序】【定制开发服装行业网上购物程序】
【C# ASP.NET 网上购物程序】【C# ASP.NET Oracle 网上购物程序】【C# ASP.NET SQLServer 网上购物程序】【神速开发网上购物程序】
希望别人有需要时能搜索到这个文章,希望是我给大家分享的回报吧。
posted on 2010-01-16 23:57 阅读(2463)
评论
01. 没有经验
02. “定可靠的数据库访问层”,有了。
03. ”管理类软件的后台管理效果“ 正在做,是个原型系统框架。
04. “稳定高效的后台控制工具“ 不断完善中。
05. ”数据库设计工具” 有了。
06. “高效的代码生成工具“ 有了,继续完善。
07. ”成熟思路” 思路没屁用,最重要是软件工程的过程控制,不过完善中。
08. “简单的页面” 同03,原型系统
09. “你有严谨的思维” 因人而异,自己觉得严谨,别人看来是sb。。。
10. “能处理非常复杂要求的功能页面的能力” 同上。
11. “几招必杀技” 有了,就是自己的框架。
基本上属于合格阶段。。。还不敢随便接单。
01. 1天。说服
02. 2天。需求阶段最关键,不敢快。
03. 1天。整理原数据库结构,并了解关系。
04. 0天。直接无视原系统
05. 0天。无视原系统。
06. 1天。搭建新的开发环境和运行环境。
07. 3天。实现“户的注册、购物车、订单确认、配送方式、邮费、商品购物、游客购物、 支付宝接口”,原型系统直接搞定,基本上很少业务逻辑。
08. 1天。客户展示
09. 0天。需求没有稳定,不导原数据。
10. 5天。根据客户,细化功能、同时“商品的管理、上架设置、价格设置、库存设置、尺码款式设置、产品说明管理”/"整个订单的管理、配货、发货、收款、退款、客户服务、评论管理等"
11. 0天。已经结合在10.
12. 2天。导数据、稳定性测试。和旧系统并行运算,查看问题。
** 3天。完成各种文档、说明书、交付系统、收款。
** n天。进行售后服务。
合计:19+n天。
那还得看这个程序是谁写的?写了这个程序有几年了?有些程序都测试了3-5年都有了,还有必要测试吗?那些标准smaple页面有的5年前写出来的,经过N多个人的反复测试长时间的完善,复制过来,简单的修改一下?
还有必要测试个没完吗?
一个3-5年开发经验的人的程序你可以不太相信,走火入魔10年的人写的程序,你可以比较一下不?当然也是需要测试,只是开发+测试大部分同时进行了,开发和测试都混到一起了,我也没必要非让你相信。
只是说,一个刚毕业的人写的程序,测试可能花费的时间比写程序还要多很多,但是一个几年一直完善下来的标准页面复制过来的程序,可能只需要半小时的测试就可以了。
前提:数据库设计规范、编码规范、代码生成器、标准样例,这些都是把没必要发生的Bug,尽量都扼杀在了摇篮里了,不给他们多少机会。