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

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

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

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

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

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

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

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

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

互联网软件开发和企业软件开发相关推荐

  1. 如何实现开发一个企业认证开发版微信服务号的详细步骤

    题目:企业如何实现开发一个企业开发版微信公众号的详细步骤?(以PHP为例进行开发) 先附上一张流程图: 一.首先在微信公众平台官网进行注册登录,打款认证,微信公众平台小程序注册与认证详细过程看链接: ...

  2. 研究报告称开源软件正在吞食企业软件市场

    有78%的公司都在运行开源软件,然而许多公司缺乏正式的政策来管理法律.操作和安全等方面的风险. 2015年调查的结果反映了企业正在越来越多的采用开源软件并且突出了参与开源社区组织的丰富度.开源软件的正 ...

  3. 研究报告:开源软件正吞食企业软件市场

    有78%的公司都在运行开源软件,然而许多公司缺乏正式的政策来管理法律.操作和安全等方面的风险. 2015年调查的结果反映了企业正在越来越多的采用开源软件并且突出了参与开源社区组织的丰富度.开源软件的正 ...

  4. 【企业微信开发】企业微信开发测试推送应用消息流程

    准备事项 企业应用ID(AGENTID)和密钥(SECRET) 1) 登录企业微信 2)在应用管理下方的自建应用中,找到你要推送消息的应用信息,如下图所示 企业ID(CORPID) 1) 点击&quo ...

  5. 我来补充两句京东和企业软件

    今天早上,在零售群和企业软件群都在讨论昨天一篇有关京东的文章,然后引申出一些讨论.我把我的观点整理出来.但我今天想说的观点不是有关京东的,也不是蹭热点来了.我只是还为了主要说明我所擅长与关注的企业软件 ...

  6. 十把快刀:高效免费的十大企业软件

    温习一下这则家喻户晓的寓言吧:从前,有一个老农民,他有两个儿子.一天,他叫来两个儿子,让他们选一把柴刀上山去砍柴.为了让父亲高兴,大儿子早早上了山,而小儿子则将斧头磨锋利后才上山,最后小儿子挑了两担柴 ...

  7. 传统企业软件的互联网化

    文 / 池建强 在我个人长达十几年的IT从业过程中,一直从事软件产品和服务的研发.我有幸经历了第一波互联网浪潮,现在又正值IT技术发展的黄金时 期,无论是传统企业软件,还是互联网服务,都在高速发展.这 ...

  8. 视频教程-Android驱动深度开发视频教程-驱动/内核开发

    Android驱动深度开发视频教程 2003 年毕业于中国科学技术大学,电子专业.软件专业双学位.近10年嵌入式开发经验,曾ZTE公司负责Linux底层系统开发. 近5年作为特聘讲师在若干个有名的培训 ...

  9. 视频教程-H5入门-系列手机游戏开发-过河-手游开发

    H5入门-系列手机游戏开发-过河 20年软件项目开发管理经验 工信部人才交流中心特聘专家讲师 日本U-CAN在线教育特聘主任讲师 国家十二·五规划软件工程教材作者(书:清华大学出版社出版) 中国软件行 ...

最新文章

  1. Maven初探-如何快速入手一个项目
  2. onmouseover和onmouseout在GridView中应用
  3. 笔记本卡顿不流畅是什么原因_电脑卡顿不流畅是什么原因
  4. illegal escape character in String literal
  5. hadoop 启动or运行mr错误
  6. 恒大全国降价,最低74折,接下来会有其他楼盘跟进降价吗?
  7. 红河学院计算机科学与技术,2016年红河学院计算机科学与技术专业最低分是多少?...
  8. 程序员在周末学习的8个实用技术
  9. 取消button的点击效果_(Vue动效)6.Vue中列表过渡效果
  10. 超定方程组的经典Gram-Schmidt正交化解法
  11. SQLserver的安装
  12. mysql免安装版本
  13. python 高级部分
  14. 全网各编程语言的爱心代码合集
  15. 人们已经离不开5G了,商用三年半,中国5G发展迈向新征程,产业发展全面提速!
  16. 学会这两招,你就知道怎样图片转文字
  17. Angular实现数据双向绑定
  18. ASUS AC1900p 梅林固件编译 asuswrt-merlin
  19. Hbase的二级索引和RowKey的设计
  20. vue3最全路由使用教程

热门文章

  1. flexnet许可证服务器_ANSYS FlexNet Licensing not running的一种解决方法
  2. MapReduce:Map端Join算法实现
  3. 29岁才转行软件测试,目前31了,我的一些经历跟感受
  4. Lightroom:移除高 ISO 噪点
  5. 使用fme对excel表格进行更新修改
  6. 软件交流培训:Extensible Markup Language 可扩展标记语言
  7. Sprig 常用注解
  8. NLP自然语言处理系列-基于知识图谱的电影推荐实战
  9. 32位系统能够识别多达内存_向多达17位用户学习
  10. 关于Fastadmin后台表格内容的修改