互联网软件开发和企业软件开发

来源:互联网 发布:淘宝上哪家书店比较好 编辑:程序博客网 时间:2024/04/30 11:45

 

     听到一位朋友说当今的软件开发可以分为两个方向,一个是企业软件开发,通常表现为一个个订制的项目;另外一个是互联网开发,比如那些用户百万,千万,甚至亿万的门户网站,电子商务网站等。两个方向差异很大,几乎是两个行业。

 

    他说的很在理。企业软件开发讲究的是快速实现企业的业务需求。需求是非常复杂并且多变的,所以要求快速开发,良好的扩展性和可维护性。典型的例子是SAP的ERP系统。ERP有强大的定制模块,开发之外的业务分析,调研是关键。当然更多的是其他大大小小的企业管理软件,大多数的程序员兄弟都在这里混饭吃。这里的技术门槛并不高,各种技术资料也很齐全。

 

    互联网软件是以技术为中心,优先要考虑的是架构,性能,吞吐量,并发量,可伸缩性,可用性等。业务需求相对来说简单,也比较稳定。这里的技术门槛比较高,需要对一些东西底层很熟悉,比如对分布式计算的依赖等。典型的是谷歌,这个公司为了应付海量的数据和海量的访问量,用了一些分布式技术,比如GFS和Map/Reduce等。

 

     您说哪个方向更好呢?哪个行业的工作更高级呢?就比如江湖两大高手,一个专注硬功,练到了九段,另一个各种功夫都会一点,硬功,轻功,太极,少林,草上飞,水上漂等,但都只练到了4段或5段, 哪一个更厉害呢?

 

    抛开公司好坏,薪水高低不说,因为这与市场供需有关。 单说在软件开发上,我认为这并无太大的不同。如果把你用的工具,平台,基础设施等看成上下文(Context)的话,你写下的代码才是真正的文章。文章的好坏取决于两点:1. 你对上下文的掌握程度(知道自己可以利用的资源);2. 你对客户需求的把握(知道自己在干什么)。

 

    软件说到底只是一些逻辑。这些逻辑建立在一些限制上,比如硬件的限制。iPhone上有强大的触摸屏,建立在这个硬件技术上的应用软件那是让人眼花缭乱,这些应用都来自于无穷的想象力,然后才是其后的逻辑,逻辑梳理成代码,从而成为用户手上的应用程序。

 

    更多的时候我们程序员关注的是手上的工具,也就是那些上下文。当然,这是一个门槛。但我认为,这并不是最重要的。如果那些上下文是知识的话,你自己创造出的东西才是能力。这些能力包括:你的思维习惯,怎样去思考和解决一个问题的;多快的去掌握一门技能(也即是知识);你想象力有多广,有没有思考的框框;你对细节的关注;甚至你久而久之形成的直觉能力。

 

    不管什么技术方向,我们的目的都是一样的,那就是尽可能的去支撑业务的运行,尽可能的去满足客户的需求。岳飞戎马一生,打仗无数,从无败绩。纵观他的每一仗,几乎就是不带重样的。他有一句名言:运用之妙,存乎一心。我的理解就是他对工具和资源,及其他因素的灵活应用,总是围绕打胜仗这个目标服务的。

 

    互联网软件和企业软件,它们的关注点不同,思考的侧重点也不同,只不过花了更大的力气在某些方面而已。以前总羡慕某些黑客,他们四处出击,几乎无所不能,后来发现其实多数黑客只不过用了一些工具而已,顿时觉得不过如此,如果我花同样的时间和精力,没准也能成为一名超级黑客。

 

 

原创粉丝点击