<!----><o:p></o:p>
作为开发者,你会写技术方案吗?<o:p></o:p>
<o:p></o:p>
作者:胡长城<o:p></o:p>
网名:银狐999 <o:p></o:p>
主页:http://www.javafox.org<o:p></o:p>
信箱:james-fly@vip.sina.com <o:p></o:p>
Blog:http://javafox.blogdriver.com<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
有次和TRS产品经理马先生聊天,他说我改行去做售前合适,原本我以为他开玩笑,因为我对售前的工作兴趣不大(我一直认为我是个developer)。后来,找了个机会,见面聊了聊,他一语道破了原因:他竟然觉得我适合写技术方案——很有意思的感觉。
<o:p></o:p>
没想到,最近真的在写技术方案了(还好,没有转行)。耗费了两多星期的时间,总算“攒”出一份技术方案后。自己都用攒这个词了,可见这份技术方案的水分多大——有必要说明的是,方案中有关产品架构设计到没有多大的水分。——还有必要说明的是,这里所说的技术方案,不同于以往的什么技术架构设计之类,是有些偏市场行为的
<o:p></o:p>
很多人说,这样的技术方案,应该是项目经理或售前所属的工作范围,怎么也挨不着软件开发者什么事情啊?——原本我也是这么认为,甚至有时候很讨厌写文档。原先我也认为:我可以跟随theserverside,跟随javaworld,跟随java.net这些最新的技术趋势;我也可以在Together,在coding中快意的遨游。现在看来,过去的思绪有些狭隘了。
<o:p></o:p>
在这两个星期中,越来越感觉到。作为一个软件开发者,能够书写方案(或者说技术方案),应该是必须的,也是必要的。偶尔写写,受益匪浅。
<o:p></o:p>
作为一个开发者,我想至少需要三个基本要素:精通、思考 与 创造 。精通表示至少需要在某一个领域内基本功非常扎实;思考就需要不断的审视过去的成就;创造就需要不断的有发展的眼光——其实有时候,这三个要素是很难统一的,过分的关心新技术和新思维,会让很多人失去了埋头苦干的耐心;而过分的扎进某一个领域而不能拓展思维,久而久之也会变得呆板。——我比较喜欢把精通放在第一位。其实,国内目前的整体软件水平,需要更多更多“精通”的人。
<o:p></o:p>
下面就从自己的这次写技术方案的感受,来跟大家说说,为什么需要“学会写技术方案”——最直原因,可能就是说:大家都不希望一辈子只是重复的编码吧——要做一个真正的“Software Developer”。
很多人会说“讨厌编程”,特别是很多女孩子(哈哈,软件行业的第一线总是表现的重男轻女)。——其实,编程真的很枯燥吗?恰恰相反。
有关这个“编程枯不枯燥的问题”实在不应该在这里提,改天转门写篇文档探讨一下,以正俺们“Software Engine”或“Software Developer”的腰。
<o:p></o:p>
<o:p></o:p>
对软件行业发展趋势的把握<o:p></o:p>
对软件行业发展趋势的把握,似乎有些托大了。可能很多编程人员会说,他会非常关心最新的技术,什么AOP,什么IOC之类的——这些当然也很重要——半年的淡漠就意味着落后;一年的松弛,就意味遗忘——所以大家都在拼命的学。
但是,技术的发展是原因是什么呢?也许我们也应该思考思考:
是“客户的需求在纵深、扩张”;是“应用得领域在挖掘”;“是开发模式在变更”;“是软件概念在细化”。一句话,技术的革新是由于很多原因的碰撞,是软件上层领域的发展的必然产物。
可能这就是我们常说的:有些人在玩市场、有些人在玩需求、有些人在玩概念、有些人在玩技术。
<o:p></o:p>
可能提到“软件平台化”,大家都知道。但是有多少人能够较为清楚的描述当前“软件平台的层次划分”呢?能够描述出为什么会诞生“模型化业务基础软件平台”呢?为什么“中间件回会向软件基础架构平台演变”呢?
<o:p></o:p>
作为一个软件开发者,不光需要扎实的技术基本功(这是必要条件),还需要“抬起头,望前看”。
<o:p></o:p>
<o:p></o:p>
对产品所定位的市场把握<o:p></o:p>
这个观点估计会让很多人疑惑——软件开发者为什么要关心市场呢?
大多人可能都会形成“领导决策----CTO把握-----产品经理控制----系统分析架构----软件技术”之类的思想或领导层次定位,随意然的就认为市场的需求仅仅是领导们的事情,软件开发者只需要根据领导的决策和定位,研究出产品即可。——这种思维,是多么的悲哀——这样的思维,才真正的扼杀了一个开发者的灵魂。
一个软件产品的价值,不在于其有多么高深的技术,而在于其可以为客户解决什么问题?
所以,一个开发者,在开发产品的时候,除了需要考虑技术问题,还需要考虑这个产品所投放的市场特性。
<o:p></o:p>
<o:p></o:p>
对产品的软件层次定位的把握<o:p></o:p>
这个观点可能就很容易理解了,一个软件必须有自己适合的定位层次。世界上没有绝对完美的产品,但是在不同的层次,却有着不同得突出的待解决问题;于是不同层次的产品,就解决了不同的问题——于是,客户的需求就这么被不同的层次划分,一点点的解决。
所以,作为一个软件开发者,应该清楚地了解自己的所开发产品所属的层次、定位。
<o:p></o:p>
说到这儿,似乎和主题到底有什么关系呢?和技术方案有什么关系呢?——如果你去写技术方案就可以很容易理解:首先需要描述一下这个软件行业的发展趋势,因为这个趋势,所以某某产品是顺应时代发展需求的(先戴个高帽子),然后,某某产品定位在某个市场,为什么定位在这个市场啊,有多大发展空间啊(又是戴高帽子)·····
<o:p></o:p>
天啊,似乎在教唆老实巴交的软件开发者们去投靠奸诈、吹嘘的炒作中吗?去玩弄玄乎的概念吗?——写到这儿,自己都觉得有些害怕——大家应用看到软件发展的方向,看到可客户的需求,看到很多很多本应该看到的东西。
<o:p></o:p>
<o:p></o:p>
对产品的竞争的把握<o:p></o:p>
如果一个产品没有了市场竞争,那么它就不能良性的发展;如果一个产品融入了太激烈的竞争,那么它就有可能被残杀;所以,一个开发者在开发产品的时候,一定要抱着这样一种思想:做一个超越竞争对手的产品!——那么,怎么样才能有这样的思想呢?《孙子兵法》曰:知彼知己、百战不殆!
不过,目前国内的市场状态不尽如人意——好的产品未必有好的市场——大家自己思索吧,点到即止。
<o:p></o:p>
<o:p></o:p>
--------------------------------------------------
到此差不多要结束了。本来列的几个方面还包括“对产品多需要解决问题把握”,“对产品的特点把握”,“对产品的体系把握”,不过这几个方面不说也罢,说个题目大家估计就明白一切了,没必要啰里啰唆的。
其实,文章最主要想表达的意思是——作为一个Software Developer,应该把眼光放远些,除了技术,还有很多也很重要的东西。
要做一个发展的Software Developer。<o:p></o:p>
分享到:
相关推荐
【中国移动全球开发者大会整合公关传播方案】是中国移动为了在全球范围内吸引和激励开发者,推动移动互联网技术的发展而策划的一次重要活动。大会旨在构建一个开放、合作的平台,汇聚创新力量,促进产业链各方如...
昇腾开发者社区作为一站式开发支持服务平台,提供了包括技术文档、在线资源、开发工具、视频教程、支持服务、互动社区和信息发布在内的全方位服务。其目标是以提升开发者体验为中心,提供一个友好、易用、快捷的门户...
赛灵思可能会展示其在这些领域的创新产品和技术,为开发者提供未来的技术路线图。 5. **权威性**:作为行业领导者,赛灵思的开发者大会通常会吸引众多行业专家和研究者参与,分享的经验和见解具有很高的权威性和...
华为开发者社区作为华为面向全球开发者的官方平台,旨在通过技术交流与合作推动各行各业的数字化转型。该社区不仅提供了丰富的技术资源和支持服务,还致力于构建一个开放、协作的生态环境,帮助开发者更好地利用华为...
作为全球领先的信息和通信技术(ICT)解决方案供应商,华为每年都会举办这样的大会,吸引全球开发者共同探讨技术和应用的发展。这次的PPT汇总涵盖了主题演讲和技术分论坛的关键内容,下面将对其中的主要知识点进行详细...
无论你是开发者、技术爱好者还是企业决策者,都能从中获得启示,为自己的工作和研究注入新的活力。通过深入研究这些PPT,我们可以洞悉百度对未来技术的愿景,以及如何利用这些技术来塑造一个更加智能、便捷的数字...
CSDN凭借其在技术社区中的地位,每年对中国软件开发者进行大规模调查,使得这一年度白皮书不仅数据覆盖面广,而且内容紧贴行业技术热点,为捕捉行业发展趋势提供了有力的工具。 软件开发者现状分析章节深刻揭示了这...
DELPHI技术方案宝典是一份集合了众多DELPHI编程技术、解决方案和实践经验的珍贵资料,对于 DELPHI 的学习者和开发者来说,无疑是一份极具价值的资源。DELPHI,作为一款强大的面向对象的编程语言和集成开发环境(IDE...
2021年的华为开发者大会是技术爱好者们关注的一大盛事,重点围绕了华为自研操作系统HarmonyOS、智能家居解决方案、智慧办公创新以及HMS Core开放能力等多个核心领域展开讨论。这次大会上,华为展示了其在智能生态...
VSTO解决方案可以通过ClickOnce技术进行部署,提供简单的安装过程和自动更新。安全性方面,VSTO解决方案遵循.NET Framework的安全策略,可以设置权限级别以限制代码的行为。 六、事件处理 VSTO支持事件驱动编程,...
【标题】:“黑色响应式web前端开发者个人技术交流博客模板” 这个标题暗示了我们讨论的主题是关于一个专门针对web前端开发者设计的博客模板。"黑色响应式"表明模板采用了黑色作为主色调,同时具备响应式设计,这...
在了解了蚂蚁开发者工具的研发背景和架构实现后,我们可以看出,蚂蚁金服在研发这些工具时,充分考虑了开发者的实际需求和蚂蚁生态的特点,以此为出发点,构建了一个从基础IDE到各种特定场景插件的完整解决方案。...
该压缩包文件“系统技术开发者博客网站模板(web开发).zip”包含了用于构建一个专门针对系统技术开发者的博客网站的资源。这个模板基于经典的HTML和CSS技术,使用了Div+CSS布局方式,这是一种现代网页设计中常用的...
总而言之,“Developer技术开发者作品展示官网模板”是一个集大气视觉效果、现代前端技术、用户友好设计于一体的解决方案,适合技术开发者用来构建自己的在线形象,展示技能和作品,同时也能作为IT科技专业人士的...
CloudFoundry作为一个开源的PaaS(Platform as a Service,平台即服务)云计算平台,为开发者提供了极高的自由度来选择运行的应用程序所需的云环境、开发框架以及相关的应用服务。CloudFoundry最初是由VMware公司...
本文将深入探讨为何选择Java作为开发语言,并分析其在技术选型中的优势。 Java是一种广泛使用的高级编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计理念是“一次编写,到处运行”,...
作为开发者,理解和掌握这些技术将对个人职业发展具有深远影响。 首先,我们来看看标签中提及的关键技术: 1. **人工智能**:人工智能(AI)是当前科技领域的热门话题,包括机器学习、深度学习、自然语言处理等多...
5. **SAP NetWeaver**:作为SAP的技术平台,NetWeaver提供了集成开发环境(IDE),支持ABAP和Java开发。理解NetWeaver的组件和它们如何协同工作,是提升开发效率的关键。 6. **SAP云平台**:随着云计算的发展,SAP...
《Delphi技术方案宝典5》是一套专为Delphi开发者设计的综合资源库,它包含了一系列关于Delphi编程的实战技术方案和源代码。这套宝典是原版图书的配套光盘内容,旨在帮助开发者深入理解Delphi编程语言,提升开发效率...