互联网软件开发和企业软件开发
来源:互联网 发布:淘宝上哪家书店比较好 编辑:程序博客网 时间:2024/04/30 11:45
听到一位朋友说当今的软件开发可以分为两个方向,一个是企业软件开发,通常表现为一个个订制的项目;另外一个是互联网开发,比如那些用户百万,千万,甚至亿万的门户网站,电子商务网站等。两个方向差异很大,几乎是两个行业。
他说的很在理。企业软件开发讲究的是快速实现企业的业务需求。需求是非常复杂并且多变的,所以要求快速开发,良好的扩展性和可维护性。典型的例子是SAP的ERP系统。ERP有强大的定制模块,开发之外的业务分析,调研是关键。当然更多的是其他大大小小的企业管理软件,大多数的程序员兄弟都在这里混饭吃。这里的技术门槛并不高,各种技术资料也很齐全。
互联网软件是以技术为中心,优先要考虑的是架构,性能,吞吐量,并发量,可伸缩性,可用性等。业务需求相对来说简单,也比较稳定。这里的技术门槛比较高,需要对一些东西底层很熟悉,比如对分布式计算的依赖等。典型的是谷歌,这个公司为了应付海量的数据和海量的访问量,用了一些分布式技术,比如GFS和Map/Reduce等。
您说哪个方向更好呢?哪个行业的工作更高级呢?就比如江湖两大高手,一个专注硬功,练到了九段,另一个各种功夫都会一点,硬功,轻功,太极,少林,草上飞,水上漂等,但都只练到了4段或5段, 哪一个更厉害呢?
抛开公司好坏,薪水高低不说,因为这与市场供需有关。 单说在软件开发上,我认为这并无太大的不同。如果把你用的工具,平台,基础设施等看成上下文(Context)的话,你写下的代码才是真正的文章。文章的好坏取决于两点:1. 你对上下文的掌握程度(知道自己可以利用的资源);2. 你对客户需求的把握(知道自己在干什么)。
软件说到底只是一些逻辑。这些逻辑建立在一些限制上,比如硬件的限制。iPhone上有强大的触摸屏,建立在这个硬件技术上的应用软件那是让人眼花缭乱,这些应用都来自于无穷的想象力,然后才是其后的逻辑,逻辑梳理成代码,从而成为用户手上的应用程序。
更多的时候我们程序员关注的是手上的工具,也就是那些上下文。当然,这是一个门槛。但我认为,这并不是最重要的。如果那些上下文是知识的话,你自己创造出的东西才是能力。这些能力包括:你的思维习惯,怎样去思考和解决一个问题的;多快的去掌握一门技能(也即是知识);你想象力有多广,有没有思考的框框;你对细节的关注;甚至你久而久之形成的直觉能力。
不管什么技术方向,我们的目的都是一样的,那就是尽可能的去支撑业务的运行,尽可能的去满足客户的需求。岳飞戎马一生,打仗无数,从无败绩。纵观他的每一仗,几乎就是不带重样的。他有一句名言:运用之妙,存乎一心。我的理解就是他对工具和资源,及其他因素的灵活应用,总是围绕打胜仗这个目标服务的。
互联网软件和企业软件,它们的关注点不同,思考的侧重点也不同,只不过花了更大的力气在某些方面而已。以前总羡慕某些黑客,他们四处出击,几乎无所不能,后来发现其实多数黑客只不过用了一些工具而已,顿时觉得不过如此,如果我花同样的时间和精力,没准也能成为一名超级黑客。
- 互联网软件开发和企业软件开发
- 软件开发企业和软件服务企业
- 互联网软件的开发和发布流程
- 互联网创业与软件开发
- 互联网软件开发的要素
- 在非软件开发企业做开发
- 国际软件开发新趋势:互联网开发平台
- 互联网软件开发和传统软件开发的不同(转型互联网开发需要适应的那些事)
- 日本软件企业的开发管理概况
- 企业软件定制开发的成功途径
- 企业信息化软件开发的需求探讨
- 企业软件开发注意事项(纠结)
- 2030年的企业软件开发
- 软件开发企业用人的主要特征
- 嵌入式软件开发---多家企业面经合集
- 企业软件开发产品设计的指导原则
- 企业软件领域前端开发的困境
- [转]互联网创业与软件开发
- 两个非零整数的的线性组合(系数都是整数)等于一的充要条件是这两个整数互质
- JAVA从头学-笔记一
- OpenGL编程指南
- Windows Azure Training Kit中"Introduction to Windows Azure"动手实验出现 System.Data.Services.Client.DataServiceClientException异常和Resour
- 查询Oracle数据库表空间和数据文件方法
- 互联网软件开发和企业软件开发
- 一个Linux/Unix下的excel库“xlslib”的使用及其简单封装
- 宏(preprocessor)系列 chips
- 可编辑的TableView
- 报表制作工具定时器配置简要说明
- pku 3786 DP
- jsp页面中文乱码的解决方法
- 泛洪攻击的几种方法解析
- HTTP协议基础