以图明志

IT人家

[专题] 码路指南:在博与专之间取得平衡

平衡最合适
假设说一个人的学习已经聚焦,并且学习的内容和自己实际参与的项目也相吻合,那么是不是就没有问题了?很不幸,答案仍然是否定的,在任何一个子领域里,仍然需要进一步去考虑“博”与“专”的均衡。对于软件开发而言,设计是再常见不过,再简单不过的一个词了。可如果把视角拔高一点就会发现,单以设计而论仍然是一个不可穷尽的领域,我们可以快速扫描一下和设计相关的部分概念:……

互联网时代

从软件开发的特性看程序员的职业生涯路线

学会积累,或走向两端
软件开发这个行业,技术是个很关键的问题。所以讨论得最多的也是技术问题。但是,软件开发行业的技术,和其它任何技术型行业都有明显甚至完全的不同,软件开发具有非常明显的独特性。软件行业的快速变化,和无限复制两大奇葩特点,让它大大有别于其它行业。这同时也给从业者带来巨大的困扰。这个困扰就是:“软件行业快速变化及零成本复制和软件工程师对生活稳定及可持续支出的需求”间的矛盾。

互联网时代

中国IT产业的软件质量危机

国内浮躁之风至今不减
IT产业在不断成熟,从1970年后,软件工程从形成雏形到现在,软件行业就在不断的走向成熟。而我们国家的软件行业,却还在淘气着。我很佩服那些加班加点的同事们,在短短的一个月就能开发出那么多代码的产品,然而成功居少数,大多数最后的路走向更加漫长的荆棘。劣质产品带给开发人员的加班,也带给售后人员一刻钟也不停的投诉电话。

开源项目与工具

Twitter背后用到了哪些开源软件与技术?

没有开源软件,Twitter将不会存在
如果没有开源软件,Twitter将不会存在。你发送和接收的每一个Tweet在移动端和PC端发送的过程中,都会需要开源软件。我们非常好奇Twitter使用了多少开源软件。除此之外,我们想要知道开源对Twitter公司的文化产生了什么影响。表面上来看,Twitter提供一种简单的实时消息服务,其传播的是140个字节组成的被称为Tweets的消息单元。

IT人家

软件系统的开发是难还是繁杂?

占领属于自己的价值高地
我一直的观点是要对“难”做一点分解。好比说航空母舰的弹射器,我们造不出来,很“难”与一台机器有一千个螺丝要拧,保证3年中所有螺丝都拧对了,很“难”,这两种场景下“难”的含义是不同的。软件开发的难度更多的类似于后者,表现为繁杂,而不是类似于前者表现为“搞不定”或“做不出来”。

软件架构技术

谈谈对一些软件架构设计箴言的理解

对软件的过早地优化是万恶的根源
在做项目的时候,有些同事总是提前考虑性能优化,需求变更又是一大堆的重写,让我想起了Donald Knuth 提到的:对软件的过早地优化是万恶的根源。这里就简单的说几条重要的软件名人哲学。在软件开发过程中需求是不停的变化的,随着客户对系统的认识,和现有开发功能和软件的认识,也许一开始他提出的需求就是背离的。

互联网时代

在软件行业,怎样才算成功?

如何定义软件行业的成功
不同的人对于成功的认识是不同的。成功对很多人来说,首当其冲的象征是物质上的回报。你挣得越多,就越“成功”。“他是个非常成功的律师,是公司合伙人。”“她是一个成功的企业家,公司已经成为国际集团了。” “他是一个成功的外科医生,在六个月里挣够了钱,下半年就到处旅游去了。”我们习惯于这样认识成功。

软件架构技术

开发人员练就百般武艺为了啥?

业务领域,是软件的核心价值所在
无论是买成型的软件产品,还是出资开发项目,客户投资的是软件的业务价值。项目经理直接为这个目标负责,尽量少的成本,尽量短的时间,生产出高业务价值的软件产品。架构师则是跨越单个项目,长期为这个目标负责。项目经理与架构师是天生的敌人,短期看这是对的,长期来看,他们是真正的朋友,是战略朋友。没有项目经理项目会死得很快;还而没有架构师,公司会死得很惨。

智力开发

[专题] 二八原理:软件开发中的二八原理

Do not work hard, work smart!
前面聊了“什么是二八原理”,接下来得说说如何运用了。由于本博客主要谈IT技术,显然要先来说说和程序员有关的那些事。为了不至于太抽象,我们以开发文本编辑器为例(这玩意大伙儿都熟悉,省得费口水解释),来说说不同职责的开发人员在开发过程中该如何具体运用二八原理。

互联网时代

SaaS,互联网催生的软件应用服务模式

谈谈SAAS模式
软件即服务英文是Software-as-a-service的意译。国外称为SaaS,国内通常叫做软件运营服务模式,简称为软营模式。软营模式(Saas)是随着互联网技术的发展和应用软件的成熟,而在21世纪开始兴起的一种完全创新的软件应用模式。它与“on-demand software”(按需软件),the application service provider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。

IT人家

短短十几年,程序员已走过了三代

软件开发十年小史
第一代程序员大致上是基于DOS来做开发,常用的开发环境叫Turbo C。这个时候还没那么多API和类库,也没那么多层次,你要想干什么很容易直接操作到硬件。如果你不喜欢开发环境提供的库函数,大可以自己操作显卡显示点什么。现在回想起来,那一代程序员应该是国际水准。

互联网时代

软件能否通过工厂化生产出来?

软件工厂的存在性问题
为什么在经营层面软件工厂有如此大的诱惑力?这不难理解,如果软件可以用工厂的模式来运作,那么程序员的可替换性将被无限强化,这样软件开发的成本就可以大幅度降低。看看近二十年来中国制造的影响,就可以理解这种廉价劳动力所蕴含的巨大杀伤力。

互联网时代

为什么国内软件开发比国外要落后那么多

国内外软件开发上的差距与分析
在开始任何其他文字之前,首先有必要正视一个根本现实:国内外软件开发的水平是有差距的。这一结论的最直接证据是每一轮新技术的发起者基本上都是国外的人或公司,从方法论(CMMI,敏捷等)到各种框架(近来很热的Hadoop等)再到新的编程语言都是如此。

互联网时代

编码工作会逐渐消亡吗?

软件开发会越来越像一种组装工作
很多年来始终有一种声音:编码自身会逐渐消亡,软件开发会越来越像一种组装工作。也就是说,程序员会越来越像IT工程师,他们很少自己从头做什么,而是靠搭配来达成各种目标。我身边就有持这种观点的人。在今天开发任何一款软件的时候,很少会从头开始开发。大多时候会选定特定的框架。

互联网时代

软件开发中不可忽视的代码复用问题

代码复用的考察
复用可以说是任何一个软件企业都不能漠视的课题,因为复用可能对软件的开发效能产生绝大影响,而开发效能直接影响利润,甚至生存。但复用本身将增加当前项目的成本,是一种以当前投入来换取远期收益的行为。与此同时远非所有代码都可以复用,复用本身也有自己内在的一些规律,让我们来试做一些分析。

互联网时代

互联网产品与传统软件产品

每个行业都有每个行业的需求
刚刚毕业的大学生往往有这么一个误区,说到软件行业,也就是IT行业,大家对互联网企业和服务软件企业都没打有太多的认识。以为反正自己是程序员,进哪个都一样。互联网行业业务简单,但是对系统的安全,数据处理和并发性要求高;软件行业业务复杂,但是数据量和用户相对较少,对安全和并发性要求不高。
1 / 2 首页 < Prev 1 2 Next > 尾页 页码: