对于软件开发,干的时间越长,就越感觉自己懂的知识少,似乎要学习的知识还有很多很多。最近恰在DZone上看到一篇小文,作者谈到是否有必要成为全面的专家。道理其实很浅显,大家也都懂,我只是随手翻译一下罢了。
编程不仅仅是写代码--而是要处理一大堆抽象。从0和1开始,到处理器,内存地址,底层的网络协议,数据结构,再上升到网络服务,组件框架和用户界面。这一过程,就是从乏味的底层抽象,到更有趣的可用且可维护的抽象。
我们被归为"高级开发者"。对于某些人来说,这就意味着我们在所有的抽象层面都是专家。如果不是这样,那么我们就不够好。我不倾向于赞同这种观点,而这并不只是为了证明我并不是在所有抽象层面上都是专家。
这基本上就是一种折衷--要么你专注于某些层面,然后变得对它们十分精通,要么,你这也学学,那也干干,然后对哪一样也不精通。接下来你会争辩到,在多数 领域的某些方面你应该达到专家级。但随着时间的推移,这些专业知识将会变得冗余。如果我今天把应用设计与框架方面的知识丢到一边,而去钻研算法或TCP编 程,那么由于技术更新,三年后我可能就不再精通之前的那些领域了。
存在抽象的原因之一就是防止你陷入底层细节的深渊。如果没有这些抽象,我们就不可能写出合格的软件。而我们可能需要做的就是专注于更高层,因为低层已经被 处理好了。将底层编程当作某种深奥艺术可能只是为了显摆,但事实上它并非什么深奥艺术,只是有对底层编程的需求罢了。
当然,这就不是说通过学习JQuery,Rails和Spring就能使你变成最好,而不需要知道其它东西了。你要尽可能地熟悉你所专长层面之下和之上层 面的工作原理。一般地,因为所有抽象都会"泄露",所以你不能忽略应用程序所消耗的内存,当需要快速访问时,你最好使用Hashtable,TCP连接可 能被防火墙阻隔,尽管你不需要编写析构函数,不需要实现Hashtable,或者了解TCP。但了解其它层面的工作原理并不会使你成为那方面的专家,其实 你也不必成为那种专家。
为什么我要写这些呢?因为很多公司(包括大公司)中的人们倾向于认为专家就应该在所有层面上都达到专家级,尤其是在底层方面。在面试时会问你很多底层的细节问题,好像你一生都在从事数据结构和网络编程方面的工作,你当然不是那样,但这并不意味着你不是一名专家。
不做全方位的专家是一件很好的事情,只需要在若干层上达到专家级就行了。但你必须了解更低层和更高层领域的工作原理,这样当有需要时,你也可以成为那一层的专家。
相关推荐
评标专家作为招投标活动中的核心参与者,...综合评标专家库专家入库考试试卷所涵盖的内容,实际上是对专家候选人的全面考核,旨在通过严格的选拔机制确保评标专家队伍的专业水平,从而提升整个招投标活动的质量和效率。
- 选择合适的专家数量,确保他们的经验和知识能全面反映问题。 - 每个评价因素的权重和分值需征询所有专家的意见。 - 如果多轮打分后,专家意见的分歧仍较大,需谨慎对待结果。 5. 应用与评价: - 在实际应用中...
【专家型组织】是企业成功的关键因素之一,它是指企业内部拥有专业知识深厚、技能卓越的员工群体,能够推动企业的创新和竞争力。一个专家型组织具备以下几个显著特点: 1. **职务定位专家化**:企业各个职务都由...
"评标专家抽取系统"是一种专门用于招标过程中的专业软件工具,它旨在确保评标过程的公正、公平和透明。评标专家的选取是招标环节中的关键步骤,因为这些专家的决策直接影响到招标结果的公正性。传统的专家抽取方式...
总的来说,OiIO效率专家插件虽不拥有全面的功能,但针对日常办公需求,其简洁易用的特点以及免费服务,使得它成为了一个值得尝试的辅助工具,尤其适合那些希望简化Office操作、提升工作效率的用户。
美食专家云版免费版本 美食专家破解版,不限制使用功能
1. 专家管理:对专家信息进行录入、审核、更新,建立全面的专家档案。 2. 项目评审:创建评审任务,分配专家,跟踪评审进度,记录评审意见。 3. 数据统计:生成各类报表,分析评审结果,为企业决策提供依据。 4. ...
《专家管理系统高保真axure原型详解》 在IT行业中,设计高效且用户友好的管理系统是至关重要的。本文将深入探讨“专家管理系统高保真axure原型”,解析其设计原则与核心功能,以帮助读者理解如何利用axure工具构建...
《定时执行专家 5.1》一款制作精良、功能全面、使用简单的专业定时执行工具软件。在《PC定时执行专家 4.0》的基础上,做了重大升级和更新。支持 18 种任务类型,10 种任务触发方式(包含 Cron方式)。无需安装,无...
在案例中,厦门某公司的信息系统自定安全级别和专家评审建议级别可能存在差异,这表明专家可能根据更全面的评估标准进行了调整。 专家评审意见表中的内容通常包括以下几个关键部分: 1. 填表时间:记录了评审的...
【标题】:“一个简单的专家系统程序python” 在IT领域,专家系统是一种计算机程序,它能够模仿人类专家在特定领域的知识和推理过程来解决问题。在这个项目中,我们关注的是一个使用Python编程语言实现的简单专家...
该平台提供了全面的SQL解决方案,帮助企业或个人开发者更好地管理和维护其数据库系统,尤其关注性能优化这一核心功能。下面我们将深入探讨SQL专家云1.0的相关知识点。 1. **SQL性能优化**: SQL专家云1.0的核心...
"专家PIDsimulink仿真"就是这样一个例子,它展示了如何通过编写M文件并集成到Simulink中,来实现对专家PID控制器的高效仿真。 首先,我们要理解PID控制器的基本原理。PID控制器通过结合比例(P)、积分(I)和微分...
优化设置电脑专家,大家都来用吧,免费一个月的, 但愿适合你!!!
全面兼容Win2000, WinXP, Win2003, WinVista系列操作系统 本软件是免费软件,欢迎您下载使用。 关于教程: 同步专家远程版是由同步专家网吧版精简而来,保留了部分功能并增加互联网支持。所以,服务端上的功能...
专家系统工具是人工智能领域的一个重要分支,主要用于构建、管理和运行具有特定专业知识的计算机程序,即专家系统。这些系统能够模拟人类专家的决策过程,解决复杂、模糊或不确定的问题。本资料包“专家系统工具研究...
总之,屏幕录像专家是一款全面的屏幕录制工具,通过其丰富的功能和灵活的设置,无论你是新手还是经验丰富的用户,都能轻松上手,制作出高质量的屏幕录像视频。在日常使用中,不断探索和熟练掌握这些功能,将能更好地...