第一次把博客放到首页,有很多批评,也有若干鼓励,我感谢每一个人的留言。
特别要感谢kenny.zhang,呵呵,你的留言让我感觉你好像认识我似的,给了我很多鼓励,你的博客是什么,如果可以的话,请告诉我吧。
由于一些园子里面的朋友一口断定我是初学者,或者经验不足,这引起了我的反思。因为我已经从业10年以上,可是还是被这么多朋友说成是初学者,或者是没有经验的人,那肯定是我身上出了什么问题。
经过一夜的反思,我终于又有了结论。
这个结论就是:我也许是一个面向客户型的程序员。
其实这也许和我的经历有关,因为我年轻的时候经常在上海的各个软件公司“流窜”,(当初主要当然是为了涨工资,其实现在看来是错误的,因为只要在当年一家象样一点的网站待几年肯定就发财了),在做程序员的同时,兼做销售,客服,培训等工作。做过许多小项目,也做过许多大项目,BS和CS都有,走了很多弯路,也有很多血的教训。在痛定思痛后,我终于回到了原点,也就是互联网,目前我从事的是互联网Web 2.0,当然和当年的看法是完全不同了。可能由于这些经历,所以这导致了我的思路和一些园子里面的朋友的不同吧。受到kenny.zhang的鼓励,我和大家分享一下我的体验。
在昨天关于多层架构的好处的博客中,许多网友提得都很好,比较代表性的一条
有容乃大写的:
安全性在三层架构中未必能体现出来,标准化、扩展性和低藕合才是三层的精髓,看来博主对三层构架的认识还是很片面。
还有网友关于便于分工合作,保密之类的。
可是为什么我对这些没有感觉呢?
到底缺了什么呢?其实十年来一直在思考这个问题,领悟也是近两年的事情。
缺的是客户和客户的利益。而很多网友所关心的都是“程序员那些事儿”。
而我思考的角度是,多层结构能给客户带来什么,也许这就是冲突的来源吧。
许多网友说到了后期维护的事情。我想问个问题?
后期维护到底在维护什么?
比如说Windows XP ,一年左右才会出一个SP吧,一共也就3个SP吧,一般也就打到sp2。
而我们的软件呢?多少时间打一次补丁呢?我们开发的软件的复杂度比window小的恐怕不是一个数量级吧
有人会说,window update不是过不了几个星期就打补丁吗?可是那些都安全补丁吧
而是我的文章里面也提到了安全补丁,在我眼里后期维护就是打安全补丁,微软的实践和我的说法也吻合吧?
那么现在很多软件项目发布的第一天就开始修改了,然后客户和软件工程师互相埋怨,那又是怎么回事呢?
因为我们把后期维护看成是必须的。那么自然发布的产品就是缺胳膊少腿的。然后我们醉心于你看我的架构多好,客户来一个电话,我就给他加一个功能,一天就搞定了。
在3年前,我决定转型了,为一个客户修改程序,那属于“IT服务业”,我希望我的程序为很多人很多人所用。所以我转向了Web。这里绝对没有贬低服务业的意思,服务业也是非常好的行业。只是个人选择和爱好。
我每天问自己以下几个问题:
1, 这个功能客户需要吗?
2, 这个功能有多少个客户需要?
3, 真的需要吗?还是我的猜想?
4, 如果A功能和B功能中只能选一个,客户会选择哪个。
因为我的人力很有限,我已经超负荷工作了,所以我需要把资源投入到给客户带来利益的地方。
其实各位网友的说法都有道理的。不过我再进一步深层思考,提出以下问题。
我们的电脑配置也不差了吧,带宽也够吧,软件业不缺吧,许多软件也都开源了吧,那么为什么我们软件行业不强呢?
难道是因为吃牛肉的关系?
我想还是一个思想的问题吧。
如果我们醉心于如何省力,如何通过后期维护吊住客户,如何保密,如何让程序员成为可以替代的这些“程序员那些事儿”那么我们怎么可能进步呢?
重申一遍,网友们的意见都对,都有道理,但是有更有价值的东西,值得我们去思考。
时代在变,我们也要变,否则就要被社会淘汰了。
在我看来我们都要向周杰伦学习。
如果你要说他唱的好,那我只能佩服你的耳朵够有个性。但是他为什么那么火呢?难道是因为他长的帅?
道理很简单,因为他写的曲好,他明白客户的需求,并能满足他们。
其实大多数的程序员就如同那些歌手,我们的演唱技巧足够纯熟了,可是我们天天盼着有一首好歌能从天上掉下来。
“那没有意义。”许三多说。
多层结构对我来说就是安全性,因为它对客户有意义。
其实我把多层架构看成了必要条件,而非充分条件。
这是我一个面向客户型程序员的一些想法。欢迎大家批评。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述